I added a CI step named "Every flag is documented" to .g1t/workflows/ci.yml, between Lints and Tests. I ran its logic in the shell against the current tree and it reports nothing missing. I did not run the workflow itself on g1t, and I did not test the failure path, where a flag is absent and the step should exit 1.
The step collects every flag from the arg == "-…" comparisons in src/lib.rs, which gives --shout, --version, --quiet, --loud, -L, --bye, --wave, --times and --lang. It then checks that each one appears on a table row of README.md (a line starting with |). If any are missing, it prints them in one line and exits 1. It uses only grep, with no new dependencies.
- Prose doesn't count. A flag mentioned only in the README's prose or examples fails the check. The flag has to be in the options table.
- Substring match. The table check is a plain substring match, so
-Lwould also be satisfied by any table row containing that text, such as-Linside a longer flag. - Flag spelling. A flag added to the parser in a different form than
arg == "-x"would not be picked up.
The change touches only the CI file, so it does not overlap with #7 or #8.