519aa35f1f
routing table
2.6 KiB
2.6 KiB
Documentation Writing Guide
Goals
Repository documentation must be accurate, concise, and useful to both people and coding agents.
Document Roles
| Document type | Content |
|---|---|
| README | Project entry point and runnable paths |
| Architecture | Current structure, responsibilities, and enforced boundaries |
| Development | Commands and operational procedures |
| Roadmap | Available, planned, and future capabilities |
| Architecture Decision Record (ADR) | One technical decision, its context, and its consequences |
AGENTS.md |
Durable agent workflow, conventions, verification, and constraints |
Keep each fact in its canonical document. Link to that document from other locations.
Current-State Writing
- Use English, active voice, and present tense.
- Name the component that performs each action.
- Put one fact or instruction in each sentence or list item.
- Prefer short sections, lists, and tables.
- State the supported path before optional details.
- Use
mustfor requirements,canfor optional behavior, and present tense for existing behavior. - Use current commands, symbols, routes, and examples.
Constraints and Anti-Patterns
Keep a negative rule only when it prevents a current and plausible mistake with a meaningful cost. This includes:
- Tooling traps that reduce reproducibility or pollute context
- Architecture boundaries enforced by tests
- Security, authorization, and destructive-action limits
- Commit and dependency-change authorization
Place the rule near the affected workflow and provide the supported path. Keep one canonical copy when the same audience reads multiple documents.
Remove or move a negative statement when it describes a hypothetical design, repeats a positive contract, or explains an obsolete implementation. Preserve material history in the relevant ADR instead.
Decision Records
- Record one logical decision per ADR.
- Put the status before the body.
- Describe requirements and forces in Context.
- State the selected design in Decision.
- Record current trade-offs in Consequences.
- Link superseded records to their replacement.
- Use past tense for historical implementation details.
Review Checklist
- Confirm the document type and audience.
- Verify facts against code and configuration.
- Remove duplicated current-state information.
- Check every negative statement for a current action or decision.
- Verify commands, examples, and local links.
- Run
git diff --check.