docs/reference/qw-cli.md is a hand-maintained command reference, but the
canonical command/flag list already lives in apps/warp/src/cli.mjs as the
renderUsage / renderInstallUsage / renderWarpspaceUsage / render*Usage
strings the CLI prints. The two will drift.
Per docs/DOCUMENTATION_POLICY.md §3 ("generate what machines already know")
the reference should be generated from, or validated against, the CLI itself —
e.g. a script that renders the usage surface to a Markdown fragment, plus a
docs-lint check that the committed reference matches. Then a new flag updates one
place and the docs follow.
Bonus: the same generator could assert every documented command/flag exists in
the parser and vice-versa, closing the gap this audit found by hand
(qw build/qw doctor were documented as runnable but never existed).
docs/reference/qw-cli.mdis a hand-maintained command reference, but thecanonical command/flag list already lives in
apps/warp/src/cli.mjsas therenderUsage/renderInstallUsage/renderWarpspaceUsage/render*Usagestrings the CLI prints. The two will drift.
Per
docs/DOCUMENTATION_POLICY.md§3 ("generate what machines already know")the reference should be generated from, or validated against, the CLI itself —
e.g. a script that renders the usage surface to a Markdown fragment, plus a
docs-lint check that the committed reference matches. Then a new flag updates one
place and the docs follow.
Bonus: the same generator could assert every documented command/flag exists in
the parser and vice-versa, closing the gap this audit found by hand
(
qw build/qw doctorwere documented as runnable but never existed).