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 deps update missing deprecation notice in CLI help
Command: apm deps update --help
Problem: The CLI help text shows no deprecation notice. The docs (docs/src/content/docs/reference/cli/deps.md) explicitly warn that apm deps update is deprecated in favor of apm update, and the internal guide (packages/apm-guide/.apm/skills/apm-usage/commands.md) also marks it as "Deprecated -- use apm update instead". Users who discover the command through apm deps --help have no in-CLI signal to switch to apm update.
Evidence:
CLI output: Usage: apm deps update [OPTIONS] [PACKAGES]... / Update APM dependencies to latest refs -- no deprecation mention
Docs: :::caution[Deprecated] \apm deps update` is deprecated in favor of `apm update`, which is now a strict superset...`
Compare: apm install --update DOES inline its deprecation: (deprecated: prefer 'apm update' for an interactive plan, or 'apm update --yes' for CI)
Suggested Fix: Add a deprecation notice to the apm deps update description string, matching the pattern used by apm install --update. For example: change the command description to "Update APM dependencies to latest refs (deprecated: use 'apm update' instead, which is a strict superset)".
Medium Severity
apm install --runtime does not disclose it is a legacy alias
Command: apm install --runtime
Problem: The --runtime flag in CLI help describes itself as "Target specific runtime only (...)" with no indication that it is a deprecated legacy alias for --target. The install documentation explicitly calls it a "Legacy alias for --target (single value only). Still accepted; prefer --target." Users reading only CLI help are not guided toward --target.
Evidence:
CLI output: --runtime TEXT Target specific runtime only (copilot, claude, codex, cursor, gemini, antigravity, intellij, kiro, opencode, vscode, windsurf)
Docs (docs/src/content/docs/reference/cli/install.md): | \--runtime VALUE` | unset | Legacy alias for `--target` (single value only). Still accepted; prefer `--target`. |`
Suggested Fix: Update the --runtime help string to: "(Legacy alias for --target, single value only; prefer --target) Target specific runtime ...".
apm install --runtime lists vscode but --target does not
Command: apm install --runtime vs apm install --target
Problem: The --runtime flag lists vscode as a valid value (copilot, claude, codex, cursor, gemini, antigravity, intellij, kiro, opencode, vscode, windsurf) but the --target flag does NOT list vscode in its values. If vscode is a supported target, it should appear in --target; if it is not, it should be removed from --runtime.
--target valid values from CLI help: copilot, claude, cursor, opencode, codex, gemini, antigravity, windsurf, kiro, agent-skills, all
vscode appears in --runtime but not in --target
Suggested Fix: Audit whether vscode is a functional target. If yes, add it to the --target enumerated values. If no, remove it from the --runtime help text.
apm compile --no-dedup / --no-force-instructions confusing flag naming
Command: apm compile --help
Problem: Both flag names in the pair start with --no- but the action described is a positive one ("Include the instructions section"). The actual usable alias (--force-instructions) is only mentioned in the description prose, not in the usage line. This creates a confusing double-negative (--no-force-instructions means "do NOT force-include", i.e. the default state).
Evidence:
CLI output: --no-dedup / --no-force-instructions Include the instructions section in CLAUDE.md even when .claude/rules/ is already populated... Alias: --force-instructions.
The guide (packages/apm-guide/.apm/skills/apm-usage/commands.md) correctly lists it as --no-dedup / --force-instructions (positive alias shown)
Running apm compile --force-instructions works, but this alias is hidden in the options table
Suggested Fix: Change the Click boolean flag definition to surface --force-instructions as the primary positive name and --no-force-instructions (or --no-dedup) as the disable form. The usage line should show --force-instructions / --no-force-instructions with --no-dedup listed as an alias in the description.
Problem: The apm mcp install help shows only --help as an explicit option, then lists common forwarded options as freeform text after the options block. Users must separately consult apm install --help to discover flags like --transport, --url, --env, --dry-run, etc. The options are not machine-parseable and break the standard Click help contract.
Evidence:
Options:
--help Show this message and exit.
Common options (see `apm install --help` for full list): --transport
[stdio|http|sse|streamable-http] --url URL Server URL for remote
transports --env KEY=VALUE Environment variable (repeatable) --header
KEY=VALUE HTTP header (repeatable) --registry URL Custom registry URL
--mcp-version VER Pin registry entry to a specific version --dev / --dry-
run / --force / --verbose / --no-policy
Suggested Fix: Either declare the forwarded flags as explicit Click options on apm mcp install (matching their definitions in apm install), or at minimum move the prose list outside the Options: section using a Click epilog so help text renders cleanly. The current layout embeds unstructured text inside the options block.
Low Severity
apm deps info help does not mention it is an alias for apm view
Command: apm deps info --help
Problem: The help text says only "Show detailed package information" with no indication that it is equivalent to apm view PACKAGE for installed packages. The documentation (docs/src/content/docs/reference/cli/deps.md) says "Equivalent to apm view PACKAGE for installed packages; prefer apm view in new scripts." Users are not guided toward the canonical apm view command.
Evidence:
CLI output: Usage: apm deps info [OPTIONS] PACKAGE / Show detailed package information
Docs: "Show detailed information about one installed package: manifest metadata, primitive inventory, and source. Equivalent to `apm view PACKAGE` for installed packages; prefer `apm view` in new scripts."
Suggested Fix: Update the apm deps info description to: "Show detailed package information (alias for 'apm view PACKAGE' for installed packages; prefer 'apm view' in new scripts)".
Clean Areas
The following commands and areas passed all checks with no issues found:
apm --help: Top-level help, version flag, and common workflows section are accurate and complete.
apm install --help: Comprehensive flag documentation; inline deprecation notice on --update is correct. --frozen, --dry-run, and --force semantics are accurately described.
apm uninstall --help: Consistent with documentation; --dry-run, -v, -g flags all present.
apm config / get / set / unset: Behavior matches documentation; apm config with no subcommand correctly prints a merged table.
apm runtime setup/list/status/remove --help: All subcommands present and consistent with documentation.
Error handling: All tested invalid-argument and missing-argument cases produce clean Error: messages, not stack traces. (apm install --nonexistent-flag, apm deps info (no arg), apm config set (no args), apm mcp search (no query).)
apm unpack --help: Deprecation notice present and correctly points to apm install.
Warning
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
astral.sh
index.crates.io
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
CLI Consistency Report
Date: 2026-06-26
APM Version: 0.22.0 (f8c4244)
Commands Inspected: 27
Summary
High Severity
apm deps updatemissing deprecation notice in CLI helpapm deps update --helpdocs/src/content/docs/reference/cli/deps.md) explicitly warn thatapm deps updateis deprecated in favor ofapm update, and the internal guide (packages/apm-guide/.apm/skills/apm-usage/commands.md) also marks it as "Deprecated -- useapm updateinstead". Users who discover the command throughapm deps --helphave no in-CLI signal to switch toapm update.Usage: apm deps update [OPTIONS] [PACKAGES].../Update APM dependencies to latest refs-- no deprecation mention:::caution[Deprecated] \apm deps update` is deprecated in favor of `apm update`, which is now a strict superset...`apm install --updateDOES inline its deprecation:(deprecated: prefer 'apm update' for an interactive plan, or 'apm update --yes' for CI)apm deps updatedescription string, matching the pattern used byapm install --update. For example: change the command description to"Update APM dependencies to latest refs (deprecated: use 'apm update' instead, which is a strict superset)".Medium Severity
apm install --runtimedoes not disclose it is a legacy aliasapm install --runtime--runtimeflag in CLI help describes itself as "Target specific runtime only (...)" with no indication that it is a deprecated legacy alias for--target. The install documentation explicitly calls it a "Legacy alias for--target(single value only). Still accepted; prefer--target." Users reading only CLI help are not guided toward--target.--runtime TEXT Target specific runtime only (copilot, claude, codex, cursor, gemini, antigravity, intellij, kiro, opencode, vscode, windsurf)docs/src/content/docs/reference/cli/install.md):| \--runtime VALUE` | unset | Legacy alias for `--target` (single value only). Still accepted; prefer `--target`. |`--runtimehelp string to:"(Legacy alias for --target, single value only; prefer --target) Target specific runtime ...".apm install --runtimelistsvscodebut--targetdoes notapm install --runtimevsapm install --target--runtimeflag listsvscodeas a valid value (copilot, claude, codex, cursor, gemini, antigravity, intellij, kiro, opencode, vscode, windsurf) but the--targetflag does NOT listvscodein its values. Ifvscodeis a supported target, it should appear in--target; if it is not, it should be removed from--runtime.--runtimevalid values from CLI help:copilot, claude, codex, cursor, gemini, antigravity, intellij, kiro, opencode, vscode, windsurf--targetvalid values from CLI help:copilot, claude, cursor, opencode, codex, gemini, antigravity, windsurf, kiro, agent-skills, allvscodeappears in--runtimebut not in--targetvscodeis a functional target. If yes, add it to the--targetenumerated values. If no, remove it from the--runtimehelp text.apm compile --no-dedup/--no-force-instructionsconfusing flag namingapm compile --help--no-but the action described is a positive one ("Include the instructions section"). The actual usable alias (--force-instructions) is only mentioned in the description prose, not in the usage line. This creates a confusing double-negative (--no-force-instructionsmeans "do NOT force-include", i.e. the default state).--no-dedup / --no-force-instructions Include the instructions section in CLAUDE.md even when .claude/rules/ is already populated... Alias: --force-instructions.packages/apm-guide/.apm/skills/apm-usage/commands.md) correctly lists it as--no-dedup / --force-instructions(positive alias shown)apm compile --force-instructionsworks, but this alias is hidden in the options table--force-instructionsas the primary positive name and--no-force-instructions(or--no-dedup) as the disable form. The usage line should show--force-instructions / --no-force-instructionswith--no-deduplisted as an alias in the description.apm mcp installuses non-standard options presentationapm mcp install --helpapm mcp installhelp shows only--helpas an explicit option, then lists common forwarded options as freeform text after the options block. Users must separately consultapm install --helpto discover flags like--transport,--url,--env,--dry-run, etc. The options are not machine-parseable and break the standard Click help contract.apm mcp install(matching their definitions inapm install), or at minimum move the prose list outside theOptions:section using a Click epilog so help text renders cleanly. The current layout embeds unstructured text inside the options block.Low Severity
apm deps infohelp does not mention it is an alias forapm viewapm deps info --helpapm view PACKAGEfor installed packages. The documentation (docs/src/content/docs/reference/cli/deps.md) says "Equivalent toapm view PACKAGEfor installed packages; preferapm viewin new scripts." Users are not guided toward the canonicalapm viewcommand.Usage: apm deps info [OPTIONS] PACKAGE/Show detailed package informationapm deps infodescription to:"Show detailed package information (alias for 'apm view PACKAGE' for installed packages; prefer 'apm view' in new scripts)".Clean Areas
The following commands and areas passed all checks with no issues found:
apm --help: Top-level help, version flag, and common workflows section are accurate and complete.apm init --help: All flags documented; deprecated flags (--plugin,--marketplace) correctly note alternatives inline.apm install --help: Comprehensive flag documentation; inline deprecation notice on--updateis correct.--frozen,--dry-run, and--forcesemantics are accurately described.apm uninstall --help: Consistent with documentation;--dry-run,-v,-gflags all present.apm update --help: Complete;-y,--dry-run,--verbose,--parallel-downloadsall accurately described.apm compile --help(aside from--no-dedupnaming): All other flags accurate.apm run --help: Correct;--param/-pand--verbosepresent.apm deps list/tree/clean/why --help: Flags consistent with documentation.apm mcp list/search/show --help: Default values consistent with docs (listdefault 20,searchdefault 10).apm config / get / set / unset: Behavior matches documentation;apm configwith no subcommand correctly prints a merged table.apm runtime setup/list/status/remove --help: All subcommands present and consistent with documentation.Error:messages, not stack traces. (apm install --nonexistent-flag,apm deps info(no arg),apm config set(no args),apm mcp search(no query).)apm unpack --help: Deprecation notice present and correctly points toapm install.Warning
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
astral.shindex.crates.ioSee Network Configuration for more information.