CLI Consistency Report
Date: 2026-04-03
APM Version: 0.8.10 (4148963)
Commands Inspected: 38 (top-level + all subcommands; apm mcp install and apm config list were also attempted and confirmed non-existent, matching docs)
Summary
| Severity |
Count |
| High |
0 |
| Medium |
8 |
| Low |
3 |
Medium Severity
--target option list incomplete in apm compile docs — deprecated aliases promoted, new values missing
- Command:
apm compile
- Problem: The CLI reference documents
--target as [vscode|agents|claude|codex|opencode|all]. The actual CLI accepts [copilot|claude|cursor|opencode|codex|vscode|agents|all], where the help text explicitly states 'vscode' and 'agents' are deprecated aliases for 'copilot'. The docs promote the deprecated aliases (vscode, agents) as the canonical options and omit both copilot (the current preferred value) and cursor entirely.
- Evidence:
- CLI:
-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all] with note 'vscode' and 'agents' are deprecated aliases for 'copilot'
- Docs (
cli-commands.md line 1091): -t, --target [vscode|agents|claude|codex|opencode|all]
- Suggested Fix: Update the
apm compile --target option description to [copilot|claude|cursor|opencode|codex|all] (deprecated aliases can be noted separately), and add cursor as a documented target.
--target option list missing vscode and agents in apm install docs
- Command:
apm install
- Problem: The CLI reference documents
--target for apm install as [copilot|claude|cursor|codex|opencode|all]. The actual CLI accepts [copilot|claude|cursor|opencode|codex|vscode|agents|all]. Users who rely on the vscode/agents aliases (e.g. in CI scripts) won't find them in the docs.
- Evidence:
- CLI:
-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all]
- Docs (
cli-commands.md line 90): --target [copilot|claude|cursor|codex|opencode|all]
- Suggested Fix: Add
vscode and agents to the documented option list with a note that they are deprecated aliases for copilot.
--target option list missing agents in apm pack docs
- Command:
apm pack
- Problem: The CLI reference documents
--target for apm pack as [copilot|vscode|claude|cursor|codex|opencode|all]. The actual CLI accepts [copilot|claude|cursor|opencode|codex|vscode|agents|all], so agents is missing from the docs.
- Evidence:
- CLI:
-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all]
- Docs (
cli-commands.md line 455): -t, --target [copilot|vscode|claude|cursor|codex|opencode|all]
- Suggested Fix: Add
agents to the documented target list for apm pack.
apm init --verbose flag not documented
- Command:
apm init
- Problem: The
apm init command supports -v, --verbose (confirmed by apm init --help), but the CLI reference docs do not list it under the command's options.
- Evidence:
- CLI
apm init --help output:
Options:
-y, --yes Skip interactive prompts and use auto-detected defaults
--plugin Initialize as plugin author (creates plugin.json + apm.yml)
-v, --verbose Show detailed output
--help Show this message and exit.
```
- Docs (
cli-commands.md lines 37-38): only -y, --yes and --plugin listed; no --verbose.
- Suggested Fix: Add
-v, --verbose - Show detailed output to the apm init options in the CLI reference.
apm deps update --global/-g flag not documented
- Command:
apm deps update
- Problem: The
apm deps update command supports -g, --global (confirmed by apm deps update --help), but the CLI reference does not list it.
- Evidence:
- CLI
apm deps update --help output includes: -g, --global Update user-scope dependencies (~/.apm/)
- Docs (
cli-commands.md lines 753-757): lists --verbose, -v, --force, --target, -t, --parallel-downloads — no --global.
- Suggested Fix: Add
-g, --global - Update user-scope dependencies (~/.apm/) to the apm deps update options.
apm deps tree --global/-g flag not documented
- Command:
apm deps tree
- Problem: The
apm deps tree command supports -g, --global (confirmed by apm deps tree --help), but the CLI reference's options section for this command is empty (no options listed at all).
- Evidence:
- CLI
apm deps tree --help output:
Options:
-g, --global Show user-scope dependency tree (~/.apm/)
--help Show this message and exit.
- Docs (
cli-commands.md lines 651-663): no Options section; only shows example apm deps tree with no options.
- Suggested Fix: Add an Options section to
apm deps tree with -g, --global - Show user-scope dependency tree (~/.apm/).
apm config get displays undocumented default_client field
- Command:
apm config get
- Problem: Running
apm config get (no key) outputs a default_client field that is not mentioned anywhere in the CLI reference docs. Attempting to set it via apm config set default_client vscode fails with [x] Unknown configuration key: 'default_client'. Valid keys: auto-integrate. Users seeing the field in config get output may assume it is settable, which creates confusion.
- Evidence:
apm config get output: default_client: vscode
apm config set default_client vscode error: [x] Unknown configuration key: 'default_client'. Valid keys: auto-integrate
- Docs (
cli-commands.md lines 1277-1280): only auto-integrate listed as a supported key.
- Suggested Fix: Either document
default_client as a read-only display field in the apm config get docs, or suppress it from the output since it cannot be set and may confuse users.
--verbose flag undocumented for apm mcp list, apm mcp search, and apm mcp show
- Commands:
apm mcp list, apm mcp search, apm mcp show
- Problem: All three commands support
-v, --verbose (confirmed by their --help outputs), but none of the CLI reference docs for these commands mention the verbose flag.
- Evidence:
apm mcp list --help includes: -v, --verbose Show detailed output
apm mcp search --help includes: -v, --verbose Show detailed output
apm mcp show --help includes: -v, --verbose Show detailed output
- Docs for
apm mcp list (lines 793-794), apm mcp search (lines 816-817), and apm mcp show (lines 835-848): none list --verbose.
- Suggested Fix: Add
-v, --verbose - Show detailed output to the options for all three apm mcp subcommands.
Low Severity
apm update docs use emoji in example CLI output (violates ASCII-only rule)
- Command:
apm update
- Problem: The CLI reference docs show a version update warning using
⚠️ (a Unicode emoji). The actual source code uses _rich_warning() which outputs [!] (ASCII bracket notation) per the project's cross-platform encoding rule. The docs show incorrect output.
- Evidence:
- Docs (
cli-commands.md line 585-586):
⚠️ 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): uses _rich_warning(f"A new version of APM is available: ...", symbol="warning") which outputs [!].
- Suggested Fix: Replace
⚠️ with [!] in the example output block in the docs.
apm install --verbose short flag -v omitted from docs
- Command:
apm install
- Problem: The CLI reference lists the verbose flag as
--verbose without the short alias. The actual CLI supports -v, --verbose.
- Evidence:
- CLI
apm install --help: -v, --verbose Show detailed installation information
- Docs (
cli-commands.md line 95): --verbose - Show individual file paths and full error details... (no -v short form)
- Suggested Fix: Update to
-v, --verbose.
apm marketplace add argument name mismatch between docs and CLI
- Command:
apm marketplace add
- Problem: The docs describe the required argument as
OWNER/REPO, but the CLI help text shows the metavar as REPO.
- Evidence:
- CLI
apm marketplace add --help: Usage: apm marketplace add [OPTIONS] REPO
- Docs (
cli-commands.md line 874): apm marketplace add OWNER/REPO [OPTIONS]
- Docs argument description (line 877):
OWNER/REPO - GitHub repository containing marketplace.json
- Suggested Fix: Align either the CLI metavar to
OWNER/REPO (more descriptive for users) or the docs to match REPO, with a note that the format is owner/repo.
Clean Areas
The following commands and areas passed all checks with no issues found:
apm uninstall — options, help text, and docs all consistent
apm prune — minimal and accurate
apm audit — comprehensive and well-documented, including all flags and exit codes
apm unpack — options and docs match
apm run and apm preview — consistent between CLI and docs
apm list — correct
apm deps list — options and docs match
apm deps info — options and docs match
apm deps clean — options and docs match
apm config set — accurate and consistent
apm runtime setup, apm runtime list, apm runtime remove, apm runtime status — all match docs
apm marketplace browse, apm marketplace update, apm marketplace remove, apm marketplace list — all match docs
apm search — accurate
- Error handling — all tested commands (
apm install --nonexistent-flag, apm deps info with missing arg, apm config set with missing args) return clean error messages with no stack traces
Generated by CLI Consistency Checker · ◷
CLI Consistency Report
Date: 2026-04-03
APM Version: 0.8.10 (4148963)
Commands Inspected: 38 (top-level + all subcommands;
apm mcp installandapm config listwere also attempted and confirmed non-existent, matching docs)Summary
Medium Severity
--targetoption list incomplete inapm compiledocs — deprecated aliases promoted, new values missingapm compile--targetas[vscode|agents|claude|codex|opencode|all]. The actual CLI accepts[copilot|claude|cursor|opencode|codex|vscode|agents|all], where the help text explicitly states'vscode' and 'agents' are deprecated aliases for 'copilot'. The docs promote the deprecated aliases (vscode,agents) as the canonical options and omit bothcopilot(the current preferred value) andcursorentirely.-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all]with note'vscode' and 'agents' are deprecated aliases for 'copilot'cli-commands.mdline 1091):-t, --target [vscode|agents|claude|codex|opencode|all]apm compile--targetoption description to[copilot|claude|cursor|opencode|codex|all](deprecated aliases can be noted separately), and addcursoras a documented target.--targetoption list missingvscodeandagentsinapm installdocsapm install--targetforapm installas[copilot|claude|cursor|codex|opencode|all]. The actual CLI accepts[copilot|claude|cursor|opencode|codex|vscode|agents|all]. Users who rely on thevscode/agentsaliases (e.g. in CI scripts) won't find them in the docs.-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all]cli-commands.mdline 90):--target [copilot|claude|cursor|codex|opencode|all]vscodeandagentsto the documented option list with a note that they are deprecated aliases forcopilot.--targetoption list missingagentsinapm packdocsapm pack--targetforapm packas[copilot|vscode|claude|cursor|codex|opencode|all]. The actual CLI accepts[copilot|claude|cursor|opencode|codex|vscode|agents|all], soagentsis missing from the docs.-t, --target [copilot|claude|cursor|opencode|codex|vscode|agents|all]cli-commands.mdline 455):-t, --target [copilot|vscode|claude|cursor|codex|opencode|all]agentsto the documented target list forapm pack.apm init --verboseflag not documentedapm initapm initcommand supports-v, --verbose(confirmed byapm init --help), but the CLI reference docs do not list it under the command's options.apm init --helpoutput:cli-commands.mdlines 37-38): only-y, --yesand--pluginlisted; no--verbose.-v, --verbose - Show detailed outputto theapm initoptions in the CLI reference.apm deps update --global/-gflag not documentedapm deps updateapm deps updatecommand supports-g, --global(confirmed byapm deps update --help), but the CLI reference does not list it.apm deps update --helpoutput includes:-g, --global Update user-scope dependencies (~/.apm/)cli-commands.mdlines 753-757): lists--verbose, -v,--force,--target, -t,--parallel-downloads— no--global.-g, --global - Update user-scope dependencies (~/.apm/)to theapm deps updateoptions.apm deps tree --global/-gflag not documentedapm deps treeapm deps treecommand supports-g, --global(confirmed byapm deps tree --help), but the CLI reference's options section for this command is empty (no options listed at all).apm deps tree --helpoutput:cli-commands.mdlines 651-663): no Options section; only shows exampleapm deps treewith no options.apm deps treewith-g, --global - Show user-scope dependency tree (~/.apm/).apm config getdisplays undocumenteddefault_clientfieldapm config getapm config get(no key) outputs adefault_clientfield that is not mentioned anywhere in the CLI reference docs. Attempting to set it viaapm config set default_client vscodefails with[x] Unknown configuration key: 'default_client'. Valid keys: auto-integrate. Users seeing the field inconfig getoutput may assume it is settable, which creates confusion.apm config getoutput:default_client: vscodeapm config set default_client vscodeerror:[x] Unknown configuration key: 'default_client'. Valid keys: auto-integratecli-commands.mdlines 1277-1280): onlyauto-integratelisted as a supported key.default_clientas a read-only display field in theapm config getdocs, or suppress it from the output since it cannot be set and may confuse users.--verboseflag undocumented forapm mcp list,apm mcp search, andapm mcp showapm mcp list,apm mcp search,apm mcp show-v, --verbose(confirmed by their--helpoutputs), but none of the CLI reference docs for these commands mention the verbose flag.apm mcp list --helpincludes:-v, --verbose Show detailed outputapm mcp search --helpincludes:-v, --verbose Show detailed outputapm mcp show --helpincludes:-v, --verbose Show detailed outputapm mcp list(lines 793-794),apm mcp search(lines 816-817), andapm mcp show(lines 835-848): none list--verbose.-v, --verbose - Show detailed outputto the options for all threeapm mcpsubcommands.Low Severity
apm updatedocs use emoji in example CLI output (violates ASCII-only rule)apm update⚠️(a Unicode emoji). The actual source code uses_rich_warning()which outputs[!](ASCII bracket notation) per the project's cross-platform encoding rule. The docs show incorrect output.cli-commands.mdline 585-586):src/apm_cli/commands/_helpers.py): uses_rich_warning(f"A new version of APM is available: ...", symbol="warning")which outputs[!].⚠️with[!]in the example output block in the docs.apm install --verboseshort flag-vomitted from docsapm install--verbosewithout the short alias. The actual CLI supports-v, --verbose.apm install --help:-v, --verbose Show detailed installation informationcli-commands.mdline 95):--verbose - Show individual file paths and full error details...(no-vshort form)-v, --verbose.apm marketplace addargument name mismatch between docs and CLIapm marketplace addOWNER/REPO, but the CLI help text shows the metavar asREPO.apm marketplace add --help:Usage: apm marketplace add [OPTIONS] REPOcli-commands.mdline 874):apm marketplace add OWNER/REPO [OPTIONS]OWNER/REPO - GitHub repository containing marketplace.jsonOWNER/REPO(more descriptive for users) or the docs to matchREPO, with a note that the format isowner/repo.Clean Areas
The following commands and areas passed all checks with no issues found:
apm uninstall— options, help text, and docs all consistentapm prune— minimal and accurateapm audit— comprehensive and well-documented, including all flags and exit codesapm unpack— options and docs matchapm runandapm preview— consistent between CLI and docsapm list— correctapm deps list— options and docs matchapm deps info— options and docs matchapm deps clean— options and docs matchapm config set— accurate and consistentapm runtime setup,apm runtime list,apm runtime remove,apm runtime status— all match docsapm marketplace browse,apm marketplace update,apm marketplace remove,apm marketplace list— all match docsapm search— accurateapm install --nonexistent-flag,apm deps infowith missing arg,apm config setwith missing args) return clean error messages with no stack traces