-
Notifications
You must be signed in to change notification settings - Fork 66
[cli-consistency] CLI Consistency Report — 2026-03-31 #511
Copy link
Copy link
Open
Labels
automationbugSomething isn't workingSomething isn't workingclidocumentationImprovements or additions to documentationImprovements or additions to documentation
Description
CLI Consistency Report
Date: 2026-03-31
APM Version: 0.8.8 (6d8cb6f)
Commands Inspected: 38
Summary
| Severity | Count |
|---|---|
| High | 3 |
| Medium | 5 |
| Low | 2 |
High Severity
apm compile --target docs missing valid values copilot and cursor
- Command:
apm compile --help - Problem: The CLI exposes
copilotandcursoras valid--targetvalues, but thecli-commands.mdreference omits both. Users following the docs would not know they can compile forcopilot(the primary non-deprecated value) orcursor. - Evidence:
- CLI:
-t, --target [copilot|vscode|agents|claude|cursor|opencode|codex|all] - Docs (line 1087):
-t, --target [vscode|agents|claude|codex|opencode|all]
- CLI:
- Suggested Fix: Update
docs/src/content/docs/reference/cli-commands.mdline 1087 to:-t, --target [copilot|vscode|agents|claude|cursor|opencode|codex|all] ```
apm install --target docs missing deprecated aliases vscode and agents
- Command:
apm install --help - Problem: The CLI accepts
vscodeandagentsas valid--targetaliases for install, but the docs omit them. While deprecated, they are still functional and should be documented to avoid confusion when users encounter them in existing scripts. - Evidence:
- CLI:
-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all] - Docs (line 90):
--target [copilot|claude|cursor|codex|opencode|all]
- CLI:
- Suggested Fix: Update the docs option listing to include
vscodeandagentswith a note that they are deprecated aliases forcopilot.
apm deps tree --global flag undocumented
- Command:
apm deps tree --help - Problem:
apm deps treeaccepts a-g, --globalflag that shows the user-scope dependency tree, but the docs describe the command as having no options at all. - Evidence:
- CLI help output:
Options: -g, --global Show user-scope dependency tree (~/.apm/) --help Show this message and exit. - Docs (line 651-657):
apm deps treesection lists no options and shows no--globalflag.
- CLI help output:
- Suggested Fix: Add
--globaloption to theapm deps treesection in docs.
Medium Severity
apm uninstall -v/--verbose flag missing from docs
- Command:
apm uninstall --help - Problem: The CLI exposes
-v, --verboseforapm uninstall, but the docs option list forapm uninstalldoes not document this flag. - Evidence:
- CLI:
-v, --verbose Show detailed removal information - Docs (line 279-281): Options list only
--dry-runand-g, --global
- CLI:
- Suggested Fix: Add
- -v, --verbose - Show detailed removal informationto theapm uninstalloptions in docs.
apm run and apm preview -v/--verbose flag missing from docs
- Command:
apm run --help,apm preview --help - Problem: Both
apm runandapm previewexpose-v, --verbosein the CLI, but neither command's docs section documents this flag. - Evidence:
- CLI:
-v, --verbose Show detailed output(both commands) - Docs
apm run(line 1010-1013): Only lists-p, --param TEXT - Docs
apm preview(line 1044): Only lists-p, --param TEXT
- CLI:
- Suggested Fix: Add
- -v, --verbose - Show detailed outputto bothapm runandapm previewoption sections.
apm deps update -g short flag not shown in docs
- Command:
apm deps update --help - Problem: The CLI exposes
-g, --globalforapm deps update, but the docs only mention--globalwithout the-gshort form. - Evidence:
- CLI:
-g, --global Update user-scope dependencies (~/.apm/) - Docs (line 754):
--target, -t - ...(has short form for--targetbut not for--global); the--globaloption is not even listed in the docs options table for this command
- CLI:
- Suggested Fix: Add
- -g, --global - Update user-scope dependencies (~/.apm/)to theapm deps updateoptions section.
apm update docs show non-ASCII emoji in example CLI output
- Command:
apm update(version check warning) - Problem: The docs show
⚠️emoji in the example of the auto-update warning message. The actual CLI outputs ASCII bracket notation[!]via_rich_warning(..., symbol="warning"), consistent with the project's ASCII-only output rule. The docs example misrepresents what the CLI actually prints. - Evidence:
- Docs (lines 584-587):
⚠️ A new version of APM is available: 0.7.0 (current: 0.6.3) Run apm update to upgrade - Source code (
src/apm_cli/commands/_helpers.py:257): Uses_rich_warning(f"A new version of APM is available: ...", symbol="warning")which emits[!]prefix (fromSTATUS_SYMBOLS["warning"] = "[!]"inconsole.py:40)
- Docs (lines 584-587):
- Suggested Fix: Update the docs example to:
[!] A new version of APM is available: 0.7.0 (current: 0.6.3) Run apm update to upgrade
Low Severity
apm audit --verbose help text description differs between CLI and docs
- Command:
apm audit --help - Problem: The short description of
--verbosein the CLI help does not match the description in the docs. - Evidence:
- CLI:
Show all findings including harmless ones - Docs (line 369):
Show info-level findings and file details
- CLI:
- Suggested Fix: Align to one consistent description. Suggested:
Show info-level findings and file details(more precise).
apm audit --strip help text description differs between CLI and docs
- Command:
apm audit --help - Problem: The CLI help and docs describe what
--strippreserves using different terms. - Evidence:
- CLI:
Remove hidden characters from scanned files (preserves emoji and whitespace) - Docs (line 368):
Remove dangerous characters (critical + warning severity) while preserving info-level content like emoji. ZWJ inside emoji sequences is preserved.
- CLI:
- Suggested Fix: Update the CLI help text to be more precise:
Remove dangerous hidden characters while preserving emoji and whitespace.
Clean Areas
The following commands and areas passed all checks with no issues found:
- Error handling: All commands produce sensible
Error: ...messages with no stack traces on invalid input --help/-h: Works correctly on every command and subcommand--dry-run: Present and consistently named acrossinstall,uninstall,compile,pack,unpack,prune,audit,deps clean,deps update--force: Consistently named and described acrossinstall,deps update,pack,unpack-y, --yes: Consistent acrossinit,deps clean,marketplace remove-v, --verbose: Always spelled-v, --verbosewith no naming inconsistenciesapm config(set,get) — docs match CLIapm mcp(list,search,show) — docs match CLIapm runtime(setup,list,remove,status) — docs match CLIapm marketplace(add,browse,list,remove,update) — docs match CLIapm deps list,apm deps info,apm deps clean— docs match CLIapm init,apm prune,apm search,apm pack,apm unpack— docs match CLI
Generated by CLI Consistency Checker · ◷
- expires on Apr 2, 2026, 1:37 PM UTC
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
automationbugSomething isn't workingSomething isn't workingclidocumentationImprovements or additions to documentationImprovements or additions to documentation