My first reaction to the “Command Line Guidelines” was cautious optimism, which slowly turned into rage at how much the creators have missed the main fucking point of modern command line human-computer interfaces. I’ll give you a hints as to what it is. Ironically, the less technical you are, the more likely you are to understand that point:
“Hey Siri/Google, why do people still thing anything but speakable text commands are worth creating?”
“Hey Boomer, why did you force us to memorize insane options and switches and parameters with getopt dashes?”
“Hey ChatCPT, do you think clig.dev has a fucking clue?”
“Hey clig.dev, use your words, not dashes.”
Yeah, I’m still pissed. It upsets me that so many incredibly smart people continue to miss this very obvious modern “guideline” about the future of human-computer interaction.
Anything that cannot be spoken into a phone is out. That’s right. Salesforce has non-technical people all over the world regularly using the command line, just in the form of a Slack bot. Students are executing command line commands by asking natural language questions of their ChatGPT bots. Discord and Twitch bots are performing complex operations, from the “command line”.
The “command line” needs redefinition as any speakable interface, and must banish arcane syntaxes (such as getopt
) forever. Such is the real future of CLI and should be the basis of “best practices” and “guidelines”, not the over-engineered status quo peddled by these well meaning engineers with good taste in Web font choices.