[cli-consistency] CLI Consistency Report - 2026-09-18
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.9k
- Forks
- 365
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 132
Description
CLI Consistency Report
Date: 2026-09-18
APM Version: Agent Package Manager (APM) CLI version 0.31.0 (c6d99eb)
Commands Inspected: 27 (apm --help, init, install, uninstall, update, compile, run, deps, deps list, deps tree, deps info, deps clean, deps update, deps why, mcp, mcp list, mcp search, mcp show, mcp install, config, config set, config get, config list, runtime, runtime setup, plus invalid-argument checks for install, deps info, config set, mcp show, runtime setup)
Summary
| Severity | Count |
|---|---|
| High | 0 |
| Medium | 1 |
| Low | 0 |
Medium Severity
apm mcp install doc omits --trust-transitive-mcp from the forwarded-options table
- Command:
apm mcp install - Problem: The actual CLI help for
apm mcp installlists--trust-transitive-mcpas a forwarded install option, but the "Forwarded install options" table indocs/src/content/docs/reference/cli/mcp.mddoes not mention it. Every other flag shown by the CLI (--transport,--url,--env,--header,--registry,--mcp-version,--dev,--dry-run,--force,-g/--global,--no-policy,--verbose) is present in the doc table, so this is a documentation gap rather than an intentional omission. - Evidence:
- CLI output (
apm mcp install --help):Forwarded install options (see 'apm install --help' for the 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) -t, --target TARGET Agent target(s) to deploy to --registry URL Custom registry URL --mcp-version VER Pin registry entry to a specific version -g, --global Install to user scope (~/.apm/) --trust-transitive-mcp Trust MCP servers from transitive dependencies --dev / --dry-run / --force / --verbose / --no-policy - Doc excerpt (
docs/src/content/docs/reference/cli/mcp.md, "Forwarded install options" table):
(No| Flag | Description | |---|---| | `--transport [stdio\|http\|sse\|streamable-http]` | Transport type. | | `--url URL` | Server URL for remote transports. | | `--env KEY=VALUE` | Environment variable. Repeatable. | | `--header KEY=VALUE` | HTTP header. Repeatable. | | `--registry URL` | Custom registry URL for this install; persisted on the dependency in `apm.yml`. | | `--mcp-version VER` | Pin the registry entry to a specific version. | | `--dev` | Add to `devDependencies`. | | `--dry-run` | Resolve and print without writing `apm.yml`. | | `--force` | Overwrite an existing entry. | | `-g`, `--global` | Install through `~/.apm/apm.yml` into global-capable runtimes. | | `--no-policy` | Skip policy checks. | | `--verbose`, `-v` | Verbose output. |--trust-transitive-mcprow; also missing-t, --target, though that one is implied elsewhere in the doc's synopsis/examples.)
- CLI output (
- Suggested Fix: Add a
--trust-transitive-mcprow to the "Forwarded install options" table indocs/src/content/docs/reference/cli/mcp.md, e.g.| \--trust-transitive-mcp` | Trust self-defined MCP servers from transitive dependencies (skip re-declaration requirement). |, matching the description used inapm install --help`.
Clean Areas
- Installation & version check:
apm --versionandapm --helpwork correctly; top-level command list is accurate. - Core commands (
init,install,uninstall,update,compile,run): help text is well-structured, uses consistentUsage:/Options:layout, and flag descriptions read naturally. depssubcommands (list,tree,info,clean,update,why): all flags cross-checked againstdocs/src/content/docs/reference/cli/deps.mdwith no discrepancies (aside from themcp installfinding above, which is unrelated todeps).mcpsubcommands other thaninstall(list,search,show): match documentation exactly.configsubcommands (set,get,list): matchdocs/src/content/docs/reference/cli/config.mdwith no gaps.runtimesubcommands (setup): matchesdocs/src/content/docs/reference/cli/runtime.md, including the{copilot|codex|gemini|llm}choice validation.- Flag consistency audit:
--verbose/-v,--dry-run,--yes/-y, and--global/-gare spelled and described consistently across every command that supports them. No--dryrunor other misspelled variants found. - Exit behavior: Invalid invocations (
apm install --nonexistent-flag,apm deps infowith no argument,apm config setwith no arguments,apm mcp showwith no argument,apm runtime setup badruntime) all produce cleanUsage:+Error:messages and exit code2-- no stack traces or unhandled exceptions observed. - Typos/grammar: No spelling errors, doubled words, or placeholder/TODO text found in any inspected help output.
- README.md cross-reference: Commands and flags referenced in
README.md(apm install,apm compile -t copilot,apm install --mcp ... --transport http,apm marketplace add,apm lock export --format cyclonedx|spdx) all exist and behave as described.
Note: the task's Step 3.4 instructions referenced docs/cli-reference.md, which does not exist in this repository. The current documentation lives at docs/src/content/docs/reference/cli/*.md, with /reference/cli-commands configured as a redirect to /reference/cli/install. This is a stale instruction path, not a CLI/doc defect, so it is not counted as a finding, but is called out here for reference.
[!WARNING]
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
astral.shindex.crates.ioTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:network: allowed: - defaults - "astral.sh" - "index.crates.io"See Network Configuration for more information.
Generated by CLI Consistency Checker · copilot · auto · 99 AIC · ⌖ 3.93 AIC · ⊞ 8.8K · ◷
- expires on Sep 20, 2026, 1:13 PM UTC
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open docs/src/content/docs/reference/cli/mcp.md and inspect the “Forwarded install options” table. Compare it with the documented apm mcp install --help output, then update the table so the documented forwarded options match the CLI; the issue is done when the missing option is represented consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 92/100