No hidden or undocumented commands
Why it matters
Hidden commands are where CLI trust goes to die. When README documents a feature that does not appear in --help, or when mytool shows four commands but actually ships seven, users stop believing the help output is authoritative. They start grepping source or running strings on the binary. Commands registered without descriptions also silently vanish from generated docs and shell completions, leaving users to discover functionality through support tickets and tribal knowledge.
Severity rationale
Low because hidden commands cause discoverability friction but rarely break working integrations.
Remediation
Audit every .hideHelp(), Hidden: true, or hidden=True flag in src/cli/commands/ and remove it from user-facing commands. Any command useful to end users must appear in --help output with a description:
program
.command('export')
.description('Export data to CSV or JSON format')
.action(exportData)
Reserve the hidden flag for internal debug-only tooling.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the CLI Quality Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from cli-quality·automated