~/talk

CLI's Aren't As Easy As You Might Think

Talkat phpday 2025 · 2025-05-15..05-16· [developer-experience, php]
slides:none on file

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

  1. 0:00Introduction and coffee shop anecdote
  2. 2:07Introducing myself and talk overview
  3. 3:11Background and evolution of CLI tools
  4. 8:01Design considerations for CLIs
  5. 11:54Bad design traits in CLIs
  6. 17:59Switches doing different things
  7. 22:34Good implementations and configuration
  8. 29:00Standards and authoring best practices
  9. 33:52Flags and user experience tips
  10. 35:35Documentation and use cases
  11. 36:16Closing remarks and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.