You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
apm policy status docs reference a non-existent apm install --policy flag
Command: apm policy status
Problem: The docs say the --policy-source option is "Same shape as apm install --policy", but apm install has no --policy flag. The install command only has --no-policy. This broken cross-reference misleads users trying to understand the policy source format.
Evidence:
Docs (docs/src/content/docs/reference/cli-commands.md, line 523):
--policy-source SOURCE - Override discovery: org, file path, or URL. Same shape as apm install --policy.
Actual apm install --help output: includes --no-policy and --registry, but no--policy flag.
apm audit --help: confirms --policy TEXT exists on audit, not install.
Suggested Fix: Change the cross-reference in the docs from apm install --policy to apm audit --policy.
Medium Severity
apm run is labeled Experimental in docs but not in CLI
Command: apm run
Problem: The CLI reference docs section is titled ### apm run (Experimental) - Execute prompts, but the actual apm run --help output gives no indication the command is experimental.
CLI output: Usage: apm run [OPTIONS] [SCRIPT_NAME] / Run a script with parameters
Suggested Fix: Either add an (Experimental) or [experimental] note to the CLI help text (e.g., in the docstring or epilog), or remove the (Experimental) label from the docs if the command is now stable.
apm runtime is labeled Experimental in docs but not in CLI
Command: apm runtime
Problem: The docs section is titled ## Runtime Management (Experimental) and ### apm runtime (Experimental) - Manage AI runtimes, but apm runtime --help shows only Manage AI runtimes with no experimental indication.
CLI output: Manage AI runtimes (no experimental marker)
Suggested Fix: Align the CLI help text with the docs by adding an experimental note (e.g., epilog text), or remove the label from docs if the feature is stable.
apm deps info has inconsistent description between CLI and docs
Command: apm deps info
Problem: The CLI help says "Show detailed package information", but the docs say it is a "Backward-compatible alias for apm view PACKAGE_NAME." The docs also say "Use apm view in new docs and scripts." A user reading the CLI help would not know this is a deprecated alias.
Evidence:
CLI output: Usage: apm deps info [OPTIONS] PACKAGE / Show detailed package information
Docs (line 898): #### apm deps info - Alias for apm view / Backward-compatible alias for apm view PACKAGE_NAME. / Use apm view in new docs and scripts.
Suggested Fix: Update the CLI help text for apm deps info to mention it is an alias for apm view and that apm view should be preferred, e.g.: Show package information (alias for 'apm view'; prefer 'apm view' in new scripts).
apm update docs show non-ASCII emoji in example CLI output
Command: apm update
Problem: The docs show a code block with ⚠️ A new version of APM is available... as example CLI output. However, the actual source (src/apm_cli/commands/_helpers.py) uses _rich_warning() which emits ASCII bracket notation ([!]). The docs show inaccurate output, and the emoji violates the project's cross-platform encoding rule (printable ASCII only).
Evidence:
Docs (lines 696-701):
⚠️ A new version of APM is available: 0.7.0 (current: 0.6.3)
Run apm update to upgrade
Source (src/apm_cli/commands/_helpers.py, line ~275): calls _rich_warning(...) with symbol="warning" which renders as [!]
Suggested Fix: Replace the emoji example in docs with the actual ASCII output:
[!] A new version of APM is available: 0.7.0 (current: 0.6.3)
Run apm update to upgrade
Low Severity
apm config --help doesn't document the default "show config" behavior
Command: apm config
Problem: Running apm config without a subcommand displays a configuration table (current project + global settings), but the --help output gives no hint of this behavior. Users reading the help would not discover this useful feature.
Evidence:
apm config --help shows only: Configure APM CLI and lists three subcommands (get, set, unset)
Docs (line 1534): Running apm config without subcommands displays the current configuration.
Actual behavior: apm config (no args) renders a Rich table of project and global settings.
Suggested Fix: Add an epilog to the apm config command noting the default behavior, e.g.: Run without a subcommand to display the current configuration.
apm mcp list docs omit the -v, --verbose option
Command: apm mcp list
Problem: The docs list only --limit INTEGER as an option, but the CLI also exposes -v, --verbose.
Evidence:
CLI output: --limit INTEGER Number of results to show [default: 20] AND -v, --verbose Show detailed output
Docs (line 1038 section): only documents --limit INTEGER - Number of results to show (default: 20) — no mention of --verbose.
Suggested Fix: Add - \-v, --verbose` - Show detailed outputto theapm mcp list` options in the docs.
apm deps update --force description omits the security-findings context
Command: apm deps update
Problem: The --force flag description says "Overwrite locally-authored files on collision", while apm install --force (which deps update wraps internally) says "Overwrite locally-authored files on collision and deploy despite critical security findings". The deps update version is shorter and omits the security implication, which could lead users to underestimate the flag's impact.
Evidence:
apm deps update --help: --force Overwrite locally-authored files on collision
apm install --help: --force Overwrite locally-authored files on collision and deploy despite critical security findings
Suggested Fix: Update apm deps update --force description to match apm install --force: Overwrite locally-authored files on collision and deploy despite critical security findings.
Clean Areas
The following commands and areas passed all checks with no issues found:
apm init — help text, options, and docs are consistent
CLI Consistency Report
Date: 2026-04-27
APM Version: 0.9.4 (2153872)
Commands Inspected: 50 (top-level + all subcommands)
Summary
High Severity
apm policy statusdocs reference a non-existentapm install --policyflagapm policy status--policy-sourceoption is "Same shape asapm install --policy", butapm installhas no--policyflag. The install command only has--no-policy. This broken cross-reference misleads users trying to understand the policy source format.docs/src/content/docs/reference/cli-commands.md, line 523):apm install --helpoutput: includes--no-policyand--registry, but no--policyflag.apm audit --help: confirms--policy TEXTexists onaudit, notinstall.apm install --policytoapm audit --policy.Medium Severity
apm runis labeled Experimental in docs but not in CLIapm run### apm run (Experimental) - Execute prompts, but the actualapm run --helpoutput gives no indication the command is experimental.### apm run (Experimental) - Execute promptsUsage: apm run [OPTIONS] [SCRIPT_NAME]/Run a script with parameters(Experimental)or[experimental]note to the CLI help text (e.g., in the docstring or epilog), or remove the(Experimental)label from the docs if the command is now stable.apm runtimeis labeled Experimental in docs but not in CLIapm runtime## Runtime Management (Experimental)and### apm runtime (Experimental) - Manage AI runtimes, butapm runtime --helpshows onlyManage AI runtimeswith no experimental indication.## Runtime Management (Experimental)### apm runtime (Experimental) - Manage AI runtimesManage AI runtimes(no experimental marker)apm deps infohas inconsistent description between CLI and docsapm deps infoapm view PACKAGE_NAME." The docs also say "Useapm viewin new docs and scripts." A user reading the CLI help would not know this is a deprecated alias.Usage: apm deps info [OPTIONS] PACKAGE/Show detailed package information#### apm deps info - Alias for apm view/Backward-compatible alias for apm view PACKAGE_NAME./Use apm view in new docs and scripts.apm deps infoto mention it is an alias forapm viewand thatapm viewshould be preferred, e.g.:Show package information (alias for 'apm view'; prefer 'apm view' in new scripts).apm updatedocs show non-ASCII emoji in example CLI outputapm update⚠️ A new version of APM is available...as example CLI output. However, the actual source (src/apm_cli/commands/_helpers.py) uses_rich_warning()which emits ASCII bracket notation ([!]). The docs show inaccurate output, and the emoji violates the project's cross-platform encoding rule (printable ASCII only).src/apm_cli/commands/_helpers.py, line ~275): calls_rich_warning(...)withsymbol="warning"which renders as[!]Low Severity
apm config --helpdoesn't document the default "show config" behaviorapm configapm configwithout a subcommand displays a configuration table (current project + global settings), but the--helpoutput gives no hint of this behavior. Users reading the help would not discover this useful feature.apm config --helpshows only:Configure APM CLIand lists three subcommands (get,set,unset)Running apm config without subcommands displays the current configuration.apm config(no args) renders a Rich table of project and global settings.apm configcommand noting the default behavior, e.g.:Run without a subcommand to display the current configuration.apm mcp listdocs omit the-v, --verboseoptionapm mcp list--limit INTEGERas an option, but the CLI also exposes-v, --verbose.--limit INTEGER Number of results to show [default: 20]AND-v, --verbose Show detailed output--limit INTEGER - Number of results to show (default: 20)— no mention of--verbose.- \-v, --verbose` - Show detailed outputto theapm mcp list` options in the docs.apm deps update --forcedescription omits the security-findings contextapm deps update--forceflag description says "Overwrite locally-authored files on collision", whileapm install --force(whichdeps updatewraps internally) says "Overwrite locally-authored files on collision and deploy despite critical security findings". Thedeps updateversion is shorter and omits the security implication, which could lead users to underestimate the flag's impact.apm deps update --help:--force Overwrite locally-authored files on collisionapm install --help:--force Overwrite locally-authored files on collision and deploy despite critical security findingsapm deps update --forcedescription to matchapm install --force:Overwrite locally-authored files on collision and deploy despite critical security findings.Clean Areas
The following commands and areas passed all checks with no issues found:
apm init— help text, options, and docs are consistentapm install— comprehensive options, consistent descriptions, well-documentedapm uninstall— consistent with install for shared flagsapm compile— all options match docsapm audit— all options and docs are consistentapm prune— minimal but correctapm pack/apm unpack— consistent flags, docs match CLIapm outdated— well-documented with examplesapm view— docs and CLI alignedapm search— consistentapm deps list/apm deps tree/apm deps clean/apm deps update— mostly consistent (minor--forcenote above)apm mcp search/apm mcp show/apm mcp install— functional and consistent with docsapm marketplace(all 6 subcommands) — consistent options and docsapm config set/apm config get/apm config unset— correctapm runtime setup/apm runtime list/apm runtime remove/apm runtime status— consistentapm policy status— options correct (doc cross-ref issue flagged separately)apm experimental(all 4 subcommands) — consistentapm run/apm preview/apm list— functional and consistent internallyapm install --nonexistent-flagproduces a clean "No such option" errorWarning
The following domain was blocked by the firewall during workflow execution:
astral.shTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.