Skip to content

[cli-consistency] CLI Consistency Issues - 2026-03-12 #20675

@github-actions

Description

@github-actions

Summary

Automated CLI consistency inspection found 5 inconsistencies across command help text that should be addressed for better user experience and documentation clarity.

Breakdown by Severity

  • High: 0
  • Medium: 1 (Confusing/misleading output)
  • Low: 4 (Minor inconsistencies)

Inspection Details

  • Total Commands Inspected: 31 (all top-level and subcommands)
  • Commands with Issues: 4
  • Date: 2026-03-12
  • Method: Executed all CLI commands with --help flags and analyzed actual output

Findings Summary

No issues found in these areas:

  • Command descriptions and overall documentation quality
  • Flag name conventions (-v, -e, -r, -o, -j, etc.)
  • Example accuracy and formatting
  • Error message consistency
  • Cross-command terminology ("workflow-id", "workflow-id-or-file")

⚠️ Issues found:

  • trial command: duplicate default value in help output
  • add command: mentions hidden --pr alias in help prose
  • mcp-server command: truncated example comment
  • completion command: inconsistent "powershell" capitalization
Detailed Findings

1. Duplicate Default Value in trial --timeout Flag

Command Affected: gh aw trial
Priority: Medium
Type: Formatting bug (duplicate text in help output)

Current Output (from running ./gh-aw trial --help):

--timeout int   Execution timeout in minutes (default: 30) (default 30)

Issue: The flag description string already contains (default: 30) in the description text, and Cobra's flag rendering also appends (default 30) automatically for non-zero default values, resulting in the default appearing twice.

Suggested Fix: Remove (default: 30) from the flag description string in pkg/cli/trial_command.go line 189 and let Cobra append it automatically:

// Before:
cmd.Flags().Int("timeout", 30, "Execution timeout in minutes (default: 30)")
// After:
cmd.Flags().Int("timeout", 30, "Execution timeout in minutes")
```

---

#### 2. Hidden `--pr` Alias Mentioned in `add` Help Prose

**Command Affected**: `gh aw add`
**Priority**: Low
**Type**: Documentation inconsistency

**Current Output** (from running `./gh-aw add --help`):
```
The --create-pull-request flag (or --pr) creates a pull request with the workflow changes.
```

But in the flags table, only `--create-pull-request` is shown — `--pr` is intentionally hidden via `cmd.Flags().MarkHidden("pr")`. Users reading the help text see a reference to `--pr` but cannot find it in the flags list.

**Suggested Fix**: Either remove `(or --pr)` from the description prose, or document that it is an undocumented shorthand to avoid confusion.

---

#### 3. Truncated Example Comment in `mcp-server`

**Command Affected**: `gh aw mcp-server`
**Priority**: Low
**Type**: Incomplete comment / poor UX

**Current Output** (from running `./gh-aw mcp-server --help`):
```
DEBUG=mcp:* GITHUB_ACTOR=octocat gh aw mcp-server    # Run with verbose logging and actor
```

**Issue**: The comment "and actor" is grammatically incomplete. It appears to be a truncated version of "and actor validation" or "with actor configured for access control".

**Suggested Fix**: Update `pkg/cli/mcp_server_command.go` line 62 to something like:
```
DEBUG=mcp:* GITHUB_ACTOR=octocat gh aw mcp-server    # Run with verbose logging and actor validation
```

---

#### 4. Inconsistent "powershell" Capitalization in `completion` Command

**Command Affected**: `gh aw completion`
**Priority**: Low
**Type**: Capitalization inconsistency

**Current Output** (from running `./gh-aw completion --help`):
```
Supported shells: bash, zsh, fish, powershell
```

But in the same command's examples and in the `completion install` / `completion uninstall` help:
```
  # Generate completion script for PowerShell
  gh aw completion powershell | Out-String | Invoke-Expression
```
and:
```
- PowerShell: Provides instructions to add to PowerShell profile

The shell name is "powershell" (lowercase) in the supported-shells list but "PowerShell" (capitalized) in all example comments and completion install/uninstall descriptions.

Suggested Fix: Standardize to "PowerShell" in pkg/cli/completion_command.go line 27:

// Before:
Supported shells: bash, zsh, fish, powershell
// After:
Supported shells: bash, zsh, fish, PowerShell
```

---

#### 5. `trial --repo` Has Different Semantics Than All Other Commands

**Command Affected**: `gh aw trial`
**Priority**: Low
**Type**: Semantic inconsistency / potential user confusion

**Current Output** (from running `./gh-aw trial --help`):
```
--repo string   Alias for --host-repo
```

In every other command (`compile`, `run`, `disable`, `enable`, `logs`, `status`, `audit`, `health`, etc.), `--repo` means **"target/source repository"**:
```
-r, --repo string   Target repository ([HOST/]owner/repo format). Defaults to current repository

In trial, --repo is an alias for --host-repo (the temporary execution host repository), while --logical-repo / -s is the equivalent of the "target repository" used in other commands. Users familiar with other gh aw commands who instinctively set --repo to specify the target workflow repo will accidentally set the host repo instead.

Suggested Fix: Add a note in the --repo flag description and/or the command's Long description explicitly warning that --repo here means --host-repo, not the simulation target:

cmd.Flags().String("repo", "", "Alias for --host-repo (NOTE: unlike other commands, this is the execution host, not the target repo)")

Generated by CLI Consistency Checker ·

  • expires on Mar 14, 2026, 1:38 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    automationclicookieIssue Monster Loves Cookies!documentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions