Specification
CLI Principles
CLI Heaven Spec (draft)
- Status
- Draft
- Edition
- 0
- Scope
- Vendor neutral
- Form
- Language agnostic
Source README.md
A vendor-neutral, language-agnostic set of rules for command-line tools that work well for people, scripts, and agents.
This spec holds only rules that are settled. Anything still open or only suggested lives in QUESTIONS.md, and moves into the spec once it is decided.
Section numbers (for example “section 6a” or “3a”) are used in cross-references. Each file is named after its number.
Contents
- Open questions
- 1. Scope and principles
- 2. Naming and the read/write split
- 3. Command grammar
- 3a. Parameter rules
- 4. Output
- 5. Errors and exit codes
- 6. Writes: dry-run and confirm
- 6a. Minimal, targeted writes
- 7. Locking
- 8. Self-description
- 9. Config, auth, and secrets
- 10. Compatibility and testing
- 11. Implementation neutrality
- 12. Logging and diagnostics
Rules are drawn partly from clig.dev and Arcjet’s agent CLI post.
Contents
- 1 Scope and principles
- 2 Naming and the read/write split
- 3 Command grammar
- 3a Parameter rules
- 4 Output
- 5 Errors and exit codes
- 6 Writes: dry-run and confirm
- 6a Minimal, targeted writes
- 7 Locking
- 8 Self-description
- 9 Config, auth, and secrets
- 10 Compatibility and testing
- 11 Implementation neutrality
- 12 Logging and diagnostics
- ? Open questions