Detailed Findings
1. project new Uses Reserved -o Short Flag for --owner
Command Affected: gh aw project new
Priority: High
Type: Reserved short flag collision
Current Output (from running ./gh-aw project new --help):
-o, --owner string Project owner: '`@me`' for current user or organization name (required)
Source (pkg/cli/project_command.go:107):
cmd.Flags().StringP("owner", "o", "", "Project owner: '`@me`' for current user or organization name (required)")
Issue: The AGENTS.md documents -o as a reserved short flag for --output. Every other command in the CLI that has output-directory functionality uses -o for --output (e.g., audit -o, logs -o). Using -o for --owner breaks this convention and may confuse users switching between commands.
Suggested Fix: Change the short flag for --owner to -O (uppercase) or remove the short form entirely, since --owner is required and typically typed in full. The -o short flag should remain reserved for output-related flags per CLI convention.
2. init Documentation Claims Interactive Mode — CLI Says Non-Interactive
Command Affected: gh aw init
Priority: Medium
Type: Documentation mismatch
Current CLI Output (from running ./gh-aw init --help):
This command performs non-interactive repository setup and does not prompt for
engine selection or secret configuration.
Documentation (docs/src/content/docs/setup/cli.md):
#### `init`
Initialize repository for agentic workflows. ... Without arguments, enters interactive mode
for engine selection and secret configuration.
```bash
gh aw init # Interactive mode: select engine and configure secrets
**Issue**: The documentation says `gh aw init` is "Interactive mode" and "enters interactive mode for engine selection and secret configuration", but the actual CLI help text explicitly says it is non-interactive and does NOT prompt for engine selection or secret configuration. Users following the documentation will be surprised that `init` doesn't prompt them interactively. The interactive wizard for adding workflows is `add-wizard`, not `init`.
**Suggested Fix**: Update `docs/src/content/docs/setup/cli.md` to reflect the actual non-interactive behavior:
gh aw init # Non-interactive repository setup
And update the description: "Initialize repository for agentic workflows (non-interactive). For interactive engine and secret setup, use `add-wizard`."
---
### 3. `mcp add --transport` Inconsistent Capitalization of `Docker`
**Command Affected**: `gh aw mcp add`
**Priority**: Medium
**Type**: Inconsistent capitalization
**Current Output** (from running `./gh-aw mcp add --help`):
--transport string Preferred transport type (stdio, http, Docker)
**Source** (`pkg/cli/mcp_add.go:364`):
```go
cmd.Flags().StringVar(&transportType, "transport", "", "Preferred transport type (stdio, http, Docker)")
Issue: The transport values list uses Docker (capitalized) while stdio and http are lowercase. The internal error message in the same file (line 179) uses lowercase docker:
return nil, fmt.Errorf("unsupported transport type: %s (supported: stdio, http, docker)", preferredTransport)
This creates a visual inconsistency and may confuse users about the accepted value format.
Suggested Fix: Change the flag description to use consistent lowercase: "Preferred transport type (stdio, http, docker)". Also verify that the flag accepts case-insensitive input or normalize the accepted values.
4. add Documentation Contains Invalid Workflow Spec Example
Command Affected: gh aw add
Priority: Medium
Type: Invalid documentation example
Current Documentation (docs/src/content/docs/setup/cli.md):
gh aw add ci-doctor --dir shared # Organize in subdirectory
CLI Workflow Spec Requirements (from ./gh-aw add --help):
Workflow specifications:
- Three parts: "owner/repo/workflow-name[`@version`]" (implicitly looks in workflows/ directory)
- Four+ parts: "owner/repo/workflows/workflow-name.md[`@version`]" (requires explicit .md extension)
- GitHub URL: "https://github.com/owner/repo/blob/branch/path/to/workflow.md"
- Local file: "./path/to/workflow.md" (adds a workflow from local filesystem)
- Local wildcard: "./*.md" or "./dir/*.md" (adds all .md files matching pattern)
Issue: The example gh aw add ci-doctor --dir shared uses ci-doctor as the workflow spec, which is only 1 part. The CLI requires at minimum a 3-part format (owner/repo/workflow-name) for remote workflows or a ./ prefix for local files. This example would fail in practice.
Suggested Fix: Update the docs example to use a valid 3-part spec:
gh aw add githubnext/agentics/ci-doctor --dir .github/workflows/shared # Organize in subdirectory
5. logs --last Flag Missing from Documentation Options List
Command Affected: gh aw logs
Priority: Low
Type: Missing documentation
Current CLI Output (from running ./gh-aw logs --help):
--last int Alias for --count: number of recent runs to download
Documentation (docs/src/content/docs/setup/cli.md options list):
**Options:** `-c`, `--count`, `-e`, `--engine`, `--start-date`, `--end-date`, `--ref`, `--parse`, `--json`, `--train`, `--repo`, `--firewall`, `--no-firewall`, `--safe-output`, `--filtered-integrity`, `--after-run-id`, `--before-run-id`, `--no-staged`, `--tool-graph`, `--timeout`
Issue: The --last flag (alias for --count) exists in the CLI but is not listed in the documentation's options list. Users who prefer --last over --count won't know it's available from the docs.
Suggested Fix: Add --last to the options list: **Options:** ..., --last, --count, ...
6. compile --schedule-seed Uses Single Quotes Where Other Flags Use Double Quotes
Command Affected: gh aw compile
Priority: Low
Type: Minor style inconsistency
Current Output (from running ./gh-aw compile --help):
--schedule-seed string Override the repository slug (owner/repo) used as seed for fuzzy schedule scattering (e.g. 'github/gh-aw'). ...
Issue: The --schedule-seed flag description uses single quotes for the example value ('github/gh-aw'), while most other flag descriptions and examples in the CLI use double quotes (e.g., --stop-after string Override stop-after value in the workflow (e.g., '+48h', '2025-12-31 23:59:59')). Actually, looking more broadly, the stop-after also uses single quotes. However many inline examples elsewhere use no quotes. This is a very minor stylistic inconsistency that doesn't affect functionality.
Suggested Fix: Standardize quote style in flag descriptions. If single quotes are preferred in flag descriptions (as seen in --stop-after), ensure all flag descriptions use single quotes for example values consistently.
Summary
Automated CLI consistency inspection found 6 inconsistencies in command help text and documentation that should be addressed for better user experience and documentation clarity.
Breakdown by Severity
Issue Categories
Reserved short flag collision (1 command)
-ois used for--ownerinstead of--outputproject newDocumentation vs CLI mismatch (1 command)
initas interactiveinitInconsistent capitalization (1 flag)
Dockeris capitalized unlikestdio/httpmcp add --transportInvalid documentation example (1 command)
addMissing documentation (1 flag)
--lastalias undocumentedlogsMinor style inconsistency (1 flag)
compileInspection Details
--helprun for every command and subcommand)make build, executed all CLI commands with--help, compared againstdocs/src/content/docs/setup/cli.mdFindings Summary
✅ No issues found in these areas:
--repo,--dir,--engine,--json,--verboseShow help for gh aw <command>) — all consistent--approveflag text — identical acrosscompile,run,upgrade--repeatflag semantics — consistent betweenrunandtrialAvailable Commandslistings--banner,--verbose,--help) — present on all commands-oreused for non-output purposeinitdocumentation incorrectly describes interactive behaviormcp add --transportvaluesadddocumentation example--lastflag undocumented inlogsoptions listcompile --schedule-seeddescriptionDetailed Findings
1.
project newUses Reserved-oShort Flag for--ownerCommand Affected:
gh aw project newPriority: High
Type: Reserved short flag collision
Current Output (from running
./gh-aw project new --help):Source (
pkg/cli/project_command.go:107):Issue: The AGENTS.md documents
-oas a reserved short flag for--output. Every other command in the CLI that has output-directory functionality uses-ofor--output(e.g.,audit -o,logs -o). Using-ofor--ownerbreaks this convention and may confuse users switching between commands.Suggested Fix: Change the short flag for
--ownerto-O(uppercase) or remove the short form entirely, since--owneris required and typically typed in full. The-oshort flag should remain reserved for output-related flags per CLI convention.2.
initDocumentation Claims Interactive Mode — CLI Says Non-InteractiveCommand Affected:
gh aw initPriority: Medium
Type: Documentation mismatch
Current CLI Output (from running
./gh-aw init --help):Documentation (
docs/src/content/docs/setup/cli.md):gh aw init # Non-interactive repository setup
Issue: The transport values list uses
Docker(capitalized) whilestdioandhttpare lowercase. The internal error message in the same file (line 179) uses lowercasedocker:This creates a visual inconsistency and may confuse users about the accepted value format.
Suggested Fix: Change the flag description to use consistent lowercase:
"Preferred transport type (stdio, http, docker)". Also verify that the flag accepts case-insensitive input or normalize the accepted values.4.
addDocumentation Contains Invalid Workflow Spec ExampleCommand Affected:
gh aw addPriority: Medium
Type: Invalid documentation example
Current Documentation (
docs/src/content/docs/setup/cli.md):gh aw add ci-doctor --dir shared # Organize in subdirectoryCLI Workflow Spec Requirements (from
./gh-aw add --help):Issue: The example
gh aw add ci-doctor --dir sharedusesci-doctoras the workflow spec, which is only 1 part. The CLI requires at minimum a 3-part format (owner/repo/workflow-name) for remote workflows or a./prefix for local files. This example would fail in practice.Suggested Fix: Update the docs example to use a valid 3-part spec:
gh aw add githubnext/agentics/ci-doctor --dir .github/workflows/shared # Organize in subdirectory5.
logs--lastFlag Missing from Documentation Options ListCommand Affected:
gh aw logsPriority: Low
Type: Missing documentation
Current CLI Output (from running
./gh-aw logs --help):Documentation (
docs/src/content/docs/setup/cli.mdoptions list):Issue: The
--lastflag (alias for--count) exists in the CLI but is not listed in the documentation's options list. Users who prefer--lastover--countwon't know it's available from the docs.Suggested Fix: Add
--lastto the options list:**Options:** ...,--last,--count, ...6.
compile --schedule-seedUses Single Quotes Where Other Flags Use Double QuotesCommand Affected:
gh aw compilePriority: Low
Type: Minor style inconsistency
Current Output (from running
./gh-aw compile --help):Issue: The
--schedule-seedflag description uses single quotes for the example value ('github/gh-aw'), while most other flag descriptions and examples in the CLI use double quotes (e.g.,--stop-after string Override stop-after value in the workflow (e.g., '+48h', '2025-12-31 23:59:59')). Actually, looking more broadly, thestop-afteralso uses single quotes. However many inline examples elsewhere use no quotes. This is a very minor stylistic inconsistency that doesn't affect functionality.Suggested Fix: Standardize quote style in flag descriptions. If single quotes are preferred in flag descriptions (as seen in
--stop-after), ensure all flag descriptions use single quotes for example values consistently.