What problem does it solve?
Provides a succinct, practical framework to design and review command-line interfaces so they are human-friendly, composable, and robust across interactive and scripted use-cases.
Core Features & Use Cases
- Human-first design guidance: Prioritizes discoverability, helpful examples, and empathetic error messages for end users.
- Composability & machine modes: Rules for stdout/stderr separation, --json and --plain outputs, and pipe-friendly behavior for automation.
- Robustness and consistency: Flags, exit codes, TTY detection, timeouts, signal handling, config precedence, and language-specific recommendations for Python, Node/TS, Bash, and Go.
- Use Case: Use these guidelines when writing a new CLI, reviewing a project's CLI for releases, or converting interactive utilities into scriptable tools for CI.
Quick Start
Review the provided CLI implementation and produce a prioritized checklist of violations against clig.dev principles, including suggested fixes for help text, output modes, flag names, and error handling.