# create-cli > Design CLI tools with consistent UX patterns. - Author: Michal Vavra - Repository: michalvavra/agents - Version: 20260206113505 - Stars: 4 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/michalvavra/agents - Web: https://mule.run/skillshub/@@michalvavra/agents~create-cli:20260206113505 --- --- name: create-cli description: Design CLI tools with consistent UX patterns. --- # Create CLI Design CLI surface area: syntax, flags, output, error handling. ## Conventions - Long options preferred (`--from` not `-f`) - stdout for data, stderr for progress/errors - Exit codes: 0=success, 1=runtime error, 2=usage error - Include `--help`, `--json`, `--quiet` - Validate early, fail fast ## Output - Default: human-readable tables - `--json`: JSON output (implies quiet) - `--quiet`: suppress progress - Respect `NO_COLOR` env ## Errors ``` : Try ' --help' ``` ## Destructive Operations - Confirm when stdin is TTY - `--force` to skip confirmation - `--dry-run` to preview ## Help Format ``` - USAGE [OPTIONS] OPTIONS --option Description [default: X] --help Show this help EXAMPLES arg1 arg2 ``` --- See [references/node-js.md](references/node-js.md) - Node.js with parseArgs See [references/python-uv.md](references/python-uv.md) - Python with uv See [clig.dev](https://clig.dev/) for comprehensive guidelines.