Duma's website

Command line interface guidelines

Detail of a mechanical keyboard in black and white
Photo by Sam Pak on Unsplash

Programs with command line as interface are unjustly stereotyped on two opposite fronts. On one side, non-technical users instantly feel awed and judge themselves as unable to use them. On the opponent side, some developers fall into spirals of fetishism where the less a software is easy to use, the more it is valuable and powerful.

This is a great injustice toward an interface that offers interesting features to every user and, with an adequate design, can make them very proficient.

Few days ago I stumbled over this guide on how to make modern command-line interfaces and I immediately liked it: its brief philosophic introduction offers advice that are understandable and immediately applicable; the rest of the document is concise, practical, and contains a lot of examples. But, more importantly, it finally talks about command line interfaces from a human perspective, focusing on the user instead of the machine.

Since the burden of designing the user experience on command-line often fall onto developers, such guidelines are essential for us to create useful tools without a previous formation about how to make them user friendly.

Guidelines website:
https://clig.dev/