Consistent subcommand pattern
Why it matters
Inconsistent subcommand naming destroys discoverability. When a user learns user:create exists, they expect team:create to follow the same pattern — if instead they find createTeam or team_create, they have to read the full help text for every resource. Mixed conventions (kebab-case for some commands, camelCase for others, snake_case for a third) signal an AI-assembled codebase where different sessions added commands without checking what already existed. Beyond user friction, ISO 25010:2011 maintainability.consistency flags this directly: inconsistent naming makes the surface area harder to test, document, and extend.
Severity rationale
High because inconsistent naming breaks user mental models and makes every new command unpredictable, which directly degrades ISO 25010:2011 usability.learnability.
Remediation
Pick one naming convention and apply it across every resource. Kebab-case with a resource:verb or resource verb pattern is the most common and shell-friendly:
// Good — consistent kebab-case CRUD across every resource
program.command('user:list')
program.command('user:get')
program.command('user:create')
program.command('user:delete')
program.command('team:list')
program.command('team:get')
program.command('team:create')
program.command('team:delete')
Audit all registered commands with mytool --help and mytool <resource> --help. If you find listUsers, delete_token, and create-session coexisting in the same binary, rename them in a single pass before the CLI is published. Aliases (program.alias()) can bridge old names during a migration period.
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.
External references
- iso-25010:2011 · usability.learnability — Usability — Learnability
- iso-25010:2011 · maintainability.modularity — Maintainability — Modularity
Taxons
History
- 2026-04-18·v1.0.0·Initial import from cli-quality·automated