CLI's Aren't As Easy As You Might Think
summary
Built Vonage CLI v3 for thousands of developers, this talk gives concrete failures and fixes: surprising parity problems like git’s -d vs -D and Docker’s -p vs -P, curl’s -d vs -X confusion, and Homebrew’s unwanted auto‑updates; prescribes POSIX rules, consistent short/long flags, configuration import/export in JSON or YAML, clear separate verbosity and debug flags, dry‑run for destructive commands, small dependency footprint, semantic versioning and cadence, and autocomplete and actionable error messages that make a CLI automatable and maintainable.
AI-written summary · about
chapters (11)
- 0:00Introduction and coffee shop anecdote
- 2:07Introducing myself and talk overview
- 3:11Background and evolution of CLI tools
- 8:01Design considerations for CLIs
- 11:54Bad design traits in CLIs
- 17:59Switches doing different things
- 22:34Good implementations and configuration
- 29:00Standards and authoring best practices
- 33:52Flags and user experience tips
- 35:35Documentation and use cases
- 36:16Closing remarks and Q&A
related talks
16mHow Not To Build Your CLI’s
33mCLI-Driven Developer Experience: The Secret Ingredient of an Aligned Team
26mBuilding Great CLI Experiences in Node
16mBuilding an interactive CLI app in Elixir
25mReinventing the CLI with Go
20mWhat makes a good CLI
36mCLI applications & TDD: Never write scripts again
32mHow The Command-Line Can Give You Superpowers
