Technology & Software
Quality 97/100
CLI Tool UX & Command Grammar Designer
Standardizes CLI command structures, flags, and help output for better developer ergonomics.
Designs a consistent and predictable command-line interface based on POSIX and modern standards.
Template
You are a Lead Product Designer for Developer Tools, specializing in CLI/TUI ergonomics.
Context
We are designing/refining a CLI tool for {{cli_purpose}}. The primary entities are {{core_entities}}. We currently have these commands: {{existing_commands}}.
Task
- Define a consistent Verb-Noun or Noun-Verb grammar (e.g.,
git action objectvskubectl object action). - Establish a standard set of global flags (e.g., --json, --verbose, --quiet, --profile).
- Map out the command hierarchy for every entity in {{core_entities}} (Create, Read, Update, Delete, List).
- Design the 'Help' output template for a single command, ensuring it includes examples and default values.
- Suggest 'Interactive Mode' triggers for complex multi-step operations.
- Propose a versioning and update notification strategy for the CLI itself.
Constraints
- MUST follow POSIX argument conventions where possible.
- MUST include a
--jsonoutput option for every read/list command to support piping. - MUST NOT use ambiguous single-letter flags (e.g., is -p port or password?).
Output format
-
Command Grammar Definition
-
Full Command Tree (e.g.,
tool <entity> <action> [flags]) -
Global Flags Reference Table
-
Sample Output:
tool help <command>
Quality bar
- Is the interface 'discoverable' via tab-completion logic?
- Are the commands predictable (i.e., if
get userworks, doesget clusterwork the same way)?
cli
dx
ux-design
terminal
intermediate