Command Line Interface Guidelines
Posted4 months agoActive4 months ago
clig.devTechstory
supportivepositive
Debate
0/100
CLICommand Line InterfaceSoftware DevelopmentUser Experience
Key topics
CLI
Command Line Interface
Software Development
User Experience
The post shares a comprehensive guide for designing command line interfaces, with the community showing interest and appreciation for the resource.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
29m
Peak period
1
0-1h
Avg / period
1
Key moments
- 01Story posted
Sep 19, 2025 at 4:37 AM EDT
4 months ago
Step 01 - 02First comment
Sep 19, 2025 at 5:06 AM EDT
29m after posting
Step 02 - 03Peak activity
1 comments in 0-1h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 19, 2025 at 5:06 AM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45299354Type: storyLast synced: 11/17/2025, 4:05:43 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
prompting is usually the worse choice in a command line utility. on error you lost what you've type and have to copy back and forth unless the terminal disappeared.
> Prefer flags to args
Options are designed to be... wait for it... optional. as the name suggests. If you actually require to pass at least one option to a command to get it working then it's bad designed. An option is there to change what a default is not suitable for you.
For example, tar uses -x, -c to determine what to do. We're all used to it now but that is not the way we should design a command. A correct way is more like tar/untar similarly to zip/unzip. That would make more sense.
To me, rpm is definitely the worse in terms of use of options. If I'd redesign it I'd imagine something like:
- rpm i(nstall) [options...] packages...|files... - rpm e(rase) [options...] packages...
Having fuzzy match for the first argument makes it still convenient to use and much clearer for those who want to type it entirely.