clig.dev: A Modern, Human-First Playbook for Command-Line Design
Command Line Interface Guidelines (clig.dev) is an open-source guide from the co-creators of Docker Compose and other practitioners that revisits UNIX design principles for today’s tooling. Its central argument is a shift in audience: classic UNIX commands were built machine-first, closer to functions meant to be called by other programs, but most CLIs today are driven directly by people. The authors argue tools should therefore be designed human-first, shedding legacy interaction baggage while keeping the conventions—standard in/out/err, exit codes, signals, pipeable text, and increasingly JSON—that let programs compose cleanly into scripts, CI/CD, and orchestration.
The guide leans deliberately toward concrete best practices over philosophy, favoring learning by example, and it explicitly scopes itself to command-line programs rather than full-screen TUIs like vim or emacs. It also tracks how the terminal has evolved: shell scripts matter less now that general-purpose interpreted languages dominate, editors often embed the terminal rather than the reverse, and git-style multi-command tools that bundle entire workflows have proliferated. Consistency across programs is treated as a core value, since terminal conventions are effectively muscle memory and pay off in long-term efficiency.
The framing is also a defense of the command line itself. The authors invoke Alan Kay’s critique that most people mistake consumer devices for real computing, and note the trend toward walled gardens that hide low-level control. Their counterpoint is that the CLI remains the most versatile, transparent, automatable, and stable surface of the computer, available to anyone willing to learn it—so it’s worth maximizing its usability while it still exists.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.