1.7 KiB
1.7 KiB
Documentation Practices
These standards aim to keep documentation reliable as the codebase grows.
Principles
- Single source of truth: one canonical doc per topic; link instead of duplicating.
- Proximity: keep docs close to the code they describe when possible.
- Freshness: update docs in the same PR as the code change.
- Observable behavior: describe what someone can see or run to validate the behavior.
Required Docs By Area
- Architecture and major decisions:
docs/architecture.mdanddocs/adr/. - Feature delivery plans:
docs/execplans/(required byPLANS.md). - Operational procedures:
docs/runbooks/. - Risks and gaps:
docs/risks.md.
When To Write An ADR
Use an ADR for any decision that is cross-cutting or hard to reverse, including:
- External providers or payment/auth strategy changes.
- Async vs synchronous execution decisions.
- Data model changes that affect multiple apps or services.
ADRs live in docs/adr/ and use the template in docs/templates/adr.md.
Runbook Expectations
Every production-impacting flow should have a runbook that covers:
- Symptoms and impact.
- Detection and quick checks.
- Safe remediation steps.
- Rollback or escalation path.
Use the template in docs/templates/runbook.md.
Writing Style
- Be explicit: include exact commands, paths, and expected output where useful.
- Keep sections short and focused.
- Avoid unstated assumptions; if a step needs a specific directory, say so.
Review Checklist
- Docs updated or explicitly confirmed unnecessary.
- New runbook added when operational behavior changes.
- ADR added for new cross-cutting decisions.
docs/risks.mdupdated for meaningful gaps added or closed.