What makes a good CLI
summary
Redesign of the MAAS CLI converts 80-line JSON blobs into a human-readable default table while still offering YAML/JSON/CSV/kv exports, accepts names as well as system IDs, and renames verbs (for example read → list) to avoid plural confusion and improve tab completion. Prototype (Node.js, built in six hours) adds -c column selection, reusable named filters, enhanced man headings, an interactive prompt that emits the equivalent command, typo suggestions, a primary profile like git branch to avoid cross‑DC mistakes, and is validated with about 5–6 test users.
AI-written summary · about
chapters (14)
- 0:00CLI design intro
- 1:13Unreadable CLI output
- 2:38Purposeful CLI input
- 4:45Machine IDs human-friendly
- 6:10Human-readable output
- 7:16Help and error messages
- 8:41Interactive onboarding
- 9:47Safe profile management
- 10:52Error recovery tips
- 11:58Task visibility
- 12:41Cheat sheet for recovery
- 13:02Good CLI principles
- 13:49Terminal theme colors
- 14:49Q&A
related talks
26mBuilding Great CLI Experiences in Node
25mReinventing the CLI with Go
37mCLI's Aren't As Easy As You Might Think
40mBuilding a personal CLI
30mCLI Tools for All the Things
31mDesigning a Human-Friendly CLI for API-Driven Infrastructure
13mBuilding a Service Oriented CLI: Best Practices
30mWrite CLI applications with Node.js like it’s 2023
