Command line interface guidelines

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/