Docs Documentation Guide

Documentation Guide

In Plumego, documentation is not secondary to code.

Documentation defines intent,
while code implements that intent.

If code and documentation ever diverge,
documentation wins — and the code is considered wrong.

This page explains how documentation is written,
reviewed, and maintained in Plumego.


Documentation Is a Contract

Plumego treats documentation as:

  • A behavioral contract
  • A design boundary
  • A long-term memory of intent

Documentation is not:

  • Marketing copy
  • A tutorial-only resource
  • Optional explanation
  • “Nice to have” commentary

Every documented behavior is a promise.


Who Should Write Documentation

If you:

  • Change behavior
  • Introduce a concept
  • Add or remove guarantees
  • Modify semantics
  • Affect user mental models

You are responsible for updating documentation.

“No documentation change needed” is rarely true.


Documentation Hierarchy

Plumego documentation is intentionally layered.

Understanding where to write matters as much as what to write.


1. Concepts

Purpose:

  • Explain what something is
  • Define mental models
  • Describe invariants

Rules:

  • No how-to steps
  • No API details
  • No implementation discussion

Concepts explain why and what, not how.


2. Architecture

Purpose:

  • Explain structural decisions
  • Define boundaries and dependency directions
  • Clarify responsibilities

Rules:

  • No code-level walkthroughs
  • No feature promotion
  • No shortcuts

Architecture documents constraints.


3. Guides

Purpose:

  • Show how to do something
  • Provide step-by-step flows
  • Demonstrate integration patterns

Rules:

  • Assume concepts are known
  • Be explicit about trade-offs
  • Avoid magic shortcuts

Guides teach execution, not theory.


4. Reference

Purpose:

  • Define exact behavior
  • Specify API contracts
  • Eliminate ambiguity

Rules:

  • Precise language
  • No narrative
  • No opinion

Reference defines reality.


5. FAQ

Purpose:

  • Address misunderstandings
  • Explain trade-offs
  • Reframe incorrect assumptions

Rules:

  • Short, direct answers
  • No repetition of reference content
  • Link out for depth

FAQ reduces friction.


6. Roadmap

Purpose:

  • Define constraints on future change
  • Clarify non-goals and intent
  • Set expectations

Rules:

  • Conservative language
  • No promises
  • No timelines

Roadmap defines boundaries, not schedules.


Writing Style Guidelines

Plumego documentation follows a consistent tone.


Be Explicit

Avoid:

  • “Usually”
  • “Often”
  • “Typically”
  • “Might”
  • “Should work”

Prefer:

  • “Must”
  • “Will”
  • “Does not”
  • “Is guaranteed”
  • “Is not supported”

Ambiguity is treated as a bug.


Be Honest About Trade-Offs

Do not hide downsides.

If something:

  • Is harder
  • Requires discipline
  • Is intentionally missing

Say so clearly.

Plumego documentation values trust over persuasion.


Avoid Marketing Language

Do not use:

  • “Powerful”
  • “Flexible”
  • “Elegant”
  • “Best-in-class”
  • “Revolutionary”

Explain behavior, not feelings.


Prefer Constraints Over Capabilities

Good documentation explains:

  • What is forbidden
  • What is unsupported
  • What will not be added

Constraints shape understanding better than feature lists.


Documentation and Versioning

Documentation is versioned with code.

Rules:

  • Reference reflects current behavior only
  • Deprecated behavior is clearly marked
  • Removed behavior is documented in migration guides
  • No “future tense” in reference docs

If behavior is not released, it is not documented.


Documentation Review Criteria

Documentation changes are reviewed for:

  • Accuracy
  • Clarity
  • Consistency with principles
  • Correct placement in hierarchy
  • Absence of hidden assumptions

Documentation PRs can be rejected
even if technically correct,
if they introduce confusion.


Common Documentation Mistakes

1. Explaining How Before Why

Readers need mental models before procedures.

If a guide references a concept
that is not explained elsewhere,
the documentation hierarchy is broken.


2. Mixing Layers

Do not:

  • Put API details in Concepts
  • Put tutorials in Reference
  • Put opinions in Architecture

Each layer has a purpose.


3. Writing Around Uncertainty

If behavior is unclear,
clarify the behavior — do not hedge the language.

Uncertainty should be resolved,
not documented.


4. Documenting Implementation Details

Unless explicitly part of the contract,
implementation details belong in code comments,
not user-facing documentation.


Documentation as Design Feedback

Writing documentation often reveals:

  • Unclear abstractions
  • Leaky boundaries
  • Hidden behavior
  • Inconsistent terminology

If something is hard to document clearly,
the design likely needs improvement.

Documentation is a design tool.


Non-Code Contributions Are First-Class

You can contribute meaningfully by:

  • Improving explanations
  • Clarifying boundaries
  • Identifying ambiguity
  • Reducing cognitive load
  • Aligning docs with real usage

Many of Plumego’s best improvements
come from documentation-driven insight.


Summary

In Plumego:

  • Documentation defines intent
  • Intent constrains code
  • Clarity beats completeness
  • Honesty beats convenience

If you change Plumego,
you are changing a promise.

Write documentation accordingly.


  • Code Structure — where changes belong
  • Decision Process — how changes are evaluated
  • Workflow — how documentation changes are reviewed

Good documentation does not explain everything.

It explains exactly what must be understood.