awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateOpen-source alternativesSelf-hosted softwareBlogHartă site
ProiectDespreHow we rankPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
awesome-repositories.comCategoriiBlog
cli-guidelines avatar

cli-guidelines/cli-guidelines

0
View on GitHub↗
clig.dev↗

Cli Guidelines

This project is a set of design guidelines and a usability framework for building modern command-line interfaces based on updated Unix principles. It serves as a technical reference and manual for creating composable terminal applications that prioritize modularity and text-based communication.

The guidelines cover human-centric design rules for managing interactive prompts, output formatting, and user configuration. It provides a standards-based approach to terminal application ergonomics, ensuring tools remain intuitive for humans while remaining functional for automation.

The framework addresses several core capability areas, including argument and flag management, the organization of complex functionality via subcommands, and the implementation of structured error reporting. It also defines methods for coordinating tool settings through a hierarchy of flags, environment variables, and configuration files.

The documentation includes guidance on producing both human-readable and machine-parseable output formats, handling process signals, and implementing comprehensive help systems.

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Features

  • Command Line Interface Design - Provides a comprehensive set of usability guidelines for designing human-centric and composable command-line interfaces.
  • CLI - Defines a comprehensive set of standards and best practices for building modern, human-centric command-line interfaces.
  • CLI and Argument Parsing - Standardizes the use of positional arguments and named flags with short and long versions.
  • Argument Parsing - Establishes standards for mapping short and long flags to internal settings with consistent priority.
  • CLI Tooling Standards - Provides a technical reference for building robust CLI programs with consistent argument and error handling.
  • Modular Subcommand Integrators - Guides the organization of complex functionality into modular, hierarchical subcommand structures.
  • Command Line Interface Frameworks - Provides a structured approach and rules for building professional terminal applications.
  • Subcommand Structuring - Provides a framework for organizing complex functionality into a nested tree of noun-verb subcommands.
  • Tool Configuration Management - Provides a framework for coordinating tool settings via flags, environment variables, and configuration files.
  • Terminal Interaction - Improves user interaction with terminal tools through optimized output formatting and interactive prompting guidelines.
  • Configuration Hierarchy Loading - Defines a prioritized resolution system for settings across command line flags, environment variables, and configuration files.
  • Unix Philosophy - Provides documentation on creating composable tools based on the core Unix tenets of modularity and text-based communication.
  • Unix Tool Integration - Provides guidelines for designing tools that integrate seamlessly with the Unix ecosystem through composable output and signal handling.
  • CLI Configuration Management - Implements a reliable system for managing tool settings using a priority hierarchy of configuration sources.
  • Terminal Application Ergonomics - Guides the improvement of user experience in terminal tools through consistent argument handling and optimized output formatting.
  • Usability Frameworks - Offers a framework of human-centric design rules for managing interactive prompts, output formatting, and configuration.
  • User-Facing Error Reporting - Provides methods for catching unexpected inputs to deliver grouped, actionable error messages to the user.
  • Output Format Rendering - Provides guidelines for rendering application output in both human-readable text and machine-parseable formats like JSON.
  • Implementation Manuals - Serves as a technical reference for implementing consistent flag handling, subcommand structures, and error reporting.
  • Help & Support Systems - Outlines how to implement detailed documentation and usage examples accessible via help flags.
  • Interactive Prompts - Defines rules for designing interactive prompts that respect terminal sessions and automation flags.
  • Interactive Prompt Detection - Describes how to detect TTY capabilities to enable interactive prompts for humans while disabling them for scripts.
  • Machine-Readable CLI Outputs - Standardizes the production of structured, machine-readable output for programmatic consumption and automation.
  • Process Signal Management - Guides the interception of system interrupts to ensure clean shutdowns and managed background operation completion.
  • CLI Design Manuals - Implements a technical reference for creating composable terminal applications that follow modularity principles.
  • CLI Execution Robustness - Guides the implementation of input validation, progress indicators, and timeouts for long-running CLI tasks.
3,677 stele·121 fork-uri·CSS·CC-BY-SA-4.0·1 vizualizare

Istoric stele

Graficul istoricului de stele pentru cli-guidelines/cli-guidelinesGraficul istoricului de stele pentru cli-guidelines/cli-guidelines

Alternative open-source pentru Cli Guidelines

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Cli Guidelines.
  • yargs/yargsAvatar yargs

    yargs/yargs

    11,492Vezi pe GitHub↗

    yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu

    JavaScript
    Vezi pe GitHub↗11,492
  • spectresystems/spectre.consoleAvatar spectresystems

    spectresystems/spectre.console

    11,507Vezi pe GitHub↗

    spectre.console is a .NET console UI library and command-line interface framework used to build rich user interfaces for console applications. It functions as a console text markup processor and terminal layout engine to provide advanced text styling and structured data organization. The library enables the creation of visually organized interfaces using a system of tables, grids, and panels. It utilizes a dedicated markup language to apply colors and styles to terminal output, allowing for the rendering of formatted text and complex visual structures.

    C#
    Vezi pe GitHub↗11,507
  • alecthomas/kongAvatar alecthomas

    alecthomas/kong

    2,976Vezi pe GitHub↗

    Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg

    Gocommand-linecommandsflags
    Vezi pe GitHub↗2,976
  • pallets/clickAvatar pallets

    pallets/click

    17,560Vezi pe GitHub↗

    Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro

    Pythoncliclickpallets
    Vezi pe GitHub↗17,560
Vezi toate cele 30 alternative pentru Cli Guidelines→

Frequently asked questions

What does cli-guidelines/cli-guidelines do?

This project is a set of design guidelines and a usability framework for building modern command-line interfaces based on updated Unix principles. It serves as a technical reference and manual for creating composable terminal applications that prioritize modularity and text-based communication.

What are the main features of cli-guidelines/cli-guidelines?

The main features of cli-guidelines/cli-guidelines are: Command Line Interface Design, CLI, CLI and Argument Parsing, Argument Parsing, CLI Tooling Standards, Modular Subcommand Integrators, Command Line Interface Frameworks, Subcommand Structuring.

What are some open-source alternatives to cli-guidelines/cli-guidelines?

Open-source alternatives to cli-guidelines/cli-guidelines include: spectresystems/spectre.console — spectre.console is a .NET console UI library and command-line interface framework used to build rich user interfaces… yargs/yargs — yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings… alecthomas/kong — Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments… pallets/click — Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining… fastapi/typer — This project is a Python framework for building command-line interfaces by converting standard functions into… pterm/pterm — pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data…