Pick a Command
Use a sync command when the documentation tree already exists. Use a bootstrap command when it is absent, empty or needs a full rebuild.
Run the Complete Pass
1
Run it on the branch you are about to merge
2
Watch three steps run in order
Internal developer docs first, then external docs aligned against them, then release notes. Steps one and two are each switched on or off by configuration; step three is always evaluated and does nothing when your repository has no release-notes artifacts.
3
Read the final summary and commit yourself
/prflow:docs does not commit. That is left to you, or to the implement run that called it.What the Final Summary Says
Each step ends in exactly one of four outcomes, and the summary names one per step:
The summary also lists the internal files added or edited, the public-doc impact list carried forward from step one, the external files added or edited and whether a release note was added or skipped, with the reason.
The Two Switches
Both affect the combined pass only. Running
/prflow:docs-sync-internal or /prflow:docs-sync-external directly ignores them.
The locations themselves come from docs.internal (default docs/internal/) and docs.external (default docs/external/). See Documentation and Retrospectives.
External Docs Need an Internal Source
/prflow:docs-bootstrap-external generates public documentation from your internal documentation. If the internal location is empty or absent, it stops and tells you to run /prflow:docs-bootstrap-internal first.
This refusal is deliberate. Without an internal source of truth, generated public guidance would be invented rather than derived, and a confidently wrong public doc is worse than a missing one.
Verify One Topic Without Changing Files
1
Name the topic
2
Read the report
Nothing is edited, committed or pushed. The working tree is unchanged when the run finishes.
- Doc verdict and location — one of
RELIABLE,UNRELIABLEorABSENT, together with the internal-doc location the run resolved. It describes the internal documentation only, a wrong default in a schema or a stale code comment being reported under current behavior instead. It is returned by default and under--lead docs; a--lead coderun does not return it. - Relevant files — the files that implement the topic, marked to show the minimum set someone must read, with file and line references for the entry points, guards and writers.
- Current behavior — what the code actually does today, including the failure paths and non-obvious couplings you would otherwise find the hard way.
- Duty statuses — what the run established and what it did not, with a one-clause reason for each duty it could not establish.
--lead docs reads the internal documentation first (from its index) before turning to the code; --lead code starts from the code and treats documentation as supporting evidence. With no --lead, the run reads documentation then code and returns the doc verdict.
Create an Issue uses this same report-only mode to understand a topic before drafting a ticket: it dispatches two of these runs at once, one led by the docs and one led by the code.
Drop --report-only and the same command fixes the internal documentation it found wrong.