I write CLI documentation covering all three surfaces where users find help: --help text they see daily, man pages they look up when stuck, and online documentation they read getting started.
--Help text: review every subcommand's help output for consistency, completeness, and clarity. Flags described in user terms (what it does, not just what it is). Examples included for every non-obvious flag. Output format documented where relevant.
Command reference: all commands, subcommands, flags, and arguments documented with types, defaults, and a concrete example per command. Environment variable reference. Exit code documentation.
Man page: full troff-formatted man page following man page conventions (NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXAMPLES, EXIT STATUS, ENVIRONMENT, FILES, SEE ALSO). Provided as source ready for installation.
Tutorial content: getting started guide (installation, first command, most common workflow); and 3-5 use-case tutorials showing the tool in real workflows beyond basic reference documentation.
I document from actual CLI usage — share the binary or source repo and I'll run every command myself.