Documentation
Keep docs next to the code and change them in the same pull request. Generate what you can, and test the rest in the build.
- Required 5
- Recommended 5
Required
Get a new person running with one command
RequiredStart the README with what the project does in one sentence, then one command that installs and runs it from a clean checkout.
Change the docs in the same pull request
RequiredKeep docs in the repository next to the code they describe, and update them in the pull request that changes the behaviour.
Generate reference docs from the code
RequiredBuild reference docs for every public interface from the code or contract, never by hand.
Test the docs in the build
RequiredCheck every link in the docs and run every code sample as a test in CI.
State each value in one document and link to it
RequiredWrite each limit, time or threshold, such as a session length or a retry count, in one document only. Every other document links there.
Recommended
Keep decision records with a status
RecommendedNumber each decision record, give it a status, and replace it with a new record instead of editing it once accepted.
Keep runbooks next to the code they run
RecommendedWrite a runbook in the repository for every task a person does by hand in production. Turn each step into a script when you can.
Keep a changelog written for users
RecommendedKeep a dated changelog that tells users what changed for them in each release, written in their words.
Draw diagrams as code
RecommendedWrite diagrams as text in the repository, with a diagram language such as Mermaid, PlantUML or D2, never only as an exported image.
Give every doc an owner and a review date
RecommendedGive every guide and runbook an owner and a last-reviewed date, and flag any doc not reviewed in 6 months.
For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers engineering playbook: https://agentwranglers.se/playbook/engineering/documentation.