Skip to content

[cli-consistency] Inconsistent and non-intuitive short flag for --engine #3750

@github-actions

Description

@github-actions

Issue Description

Commands: Multiple commands
Type: Inconsistent flag naming pattern
Priority: Low

Current Situation

The CLI uses inconsistent naming for the engine override flag across different commands:

Commands with -a, --engine flag:

  1. compile command (main.go, line 334):

    compileCmd.Flags().StringP("engine", "a", "", "Override AI engine (claude, codex, copilot)")
  2. run command (main.go, line 356):

    runCmd.Flags().StringP("engine", "a", "", "Override AI engine (claude, codex, copilot, custom)")
  3. add command (pkg/cli/add_command.go, line 102):

    cmd.Flags().StringP("engine", "a", "", "Override AI engine (claude, codex, copilot, custom)")
  4. update command (pkg/cli/update_command.go, line 62):

    cmd.Flags().StringP("engine", "a", "", "Override AI engine (claude, codex, copilot)")
  5. trial command (source code review shows it has --engine flag)

Issue

The short flag -a for --engine is non-standard and potentially confusing:

  • The letter 'a' doesn't obviously relate to "engine" or "AI"
  • Most CLI tools use -e for engine-related flags
  • The letter 'a' might be confusing as it could stand for many things

Additionally, some commands say "claude, codex, copilot" while others add "custom" at the end, creating inconsistency in the flag descriptions.

Suggested Fix

Option 1: Change the short flag from -a to -e for "engine":

.StringP("engine", "e", "", "Override AI engine ...")

Option 2: Keep -a but standardize the description text across all commands to be identical.

Note: Changing from -a to -e would be a breaking change for existing users, so it may need deprecation handling or should be documented as a known quirk.

Affected Commands

  • compile
  • run
  • add
  • update
  • trial

AI generated by CLI Consistency Checker

Metadata

Metadata

Assignees

Labels

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