cli-guidelines/cli-guidelines

A guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 30 minutes ago
Type:Documentation / SpecificationCategory(s):CLI UtilitiesCheatsheets, Checklists & Best PracticesDeveloper Tools
Added to GitGenius on September 18th, 2026
Created on April 25th, 2020
Open Issues & Pull Requests: 68 (+0)
GitHub issues: Enabled
Number of forks: 121
Total Stargazers: 3,859 (+0)
Total Subscribers: 27 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 43.1 days
Mean response time: 75.5 days
90th percentile: 207.9 days
Tracked items: 15

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 402 days
Stale 30+ days: 12
Stale 90+ days: 10

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

CLI Guidelines is a reference guide for designing command-line interfaces that applies traditional UNIX principles to contemporary software development.

The guide addresses the problem of inconsistent and poorly designed CLI experiences by establishing conventions and best practices for command-line program development. It takes foundational UNIX philosophy and adapts it for modern contexts, helping developers create interfaces that feel familiar and intuitive to users. The approach works by documenting principles, patterns, and concrete recommendations that developers can apply when building their own tools.

Developers building command-line tools should consult this guide regardless of their programming language or target platform. It suits any project that exposes functionality through a terminal interface, from small utilities to large system tools. The guide is particularly valuable for teams wanting to ensure consistency across multiple CLI applications or for individual developers seeking to understand why certain interface patterns have become standard in the UNIX ecosystem.

The project maintains a curated collection of guidelines presented as a living document. Development activity shows consistent refinement of existing content rather than rapid feature expansion, with attention to keeping recommendations grounded in practical experience. The guide receives updates that reflect evolving best practices in CLI design without abandoning the core principles that make command-line tools effective.