CLI Principles
CLI Principles Contents Draft

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

Rules are drawn partly from clig.dev and Arcjet’s agent CLI post.

Contents

  1. 1 Scope and principles
  2. 2 Naming and the read/write split
  3. 3 Command grammar
  4. 3a Parameter rules
  5. 4 Output
  6. 5 Errors and exit codes
  7. 6 Writes: dry-run and confirm
  8. 6a Minimal, targeted writes
  9. 7 Locking
  10. 8 Self-description
  11. 9 Config, auth, and secrets
  12. 10 Compatibility and testing
  13. 11 Implementation neutrality
  14. 12 Logging and diagnostics
  15. ? Open questions