awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cli-guidelines avatar

cli-guidelines/cli-guidelines

0
View on GitHub↗
3,677 星标·121 分支·CSS·CC-BY-SA-4.0·1 次浏览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.

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.

Star 历史

cli-guidelines/cli-guidelines 的 Star 历史图表cli-guidelines/cli-guidelines 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Cli Guidelines 的开源替代方案

相似的开源项目,按与 Cli Guidelines 的功能重合度排序。
  • spectresystems/spectre.consolespectresystems 的头像

    spectresystems/spectre.console

    11,507在 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#
    在 GitHub 上查看↗11,507
  • yargs/yargsyargs 的头像

    yargs/yargs

    11,492在 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
    在 GitHub 上查看↗11,492
  • alecthomas/kongalecthomas 的头像

    alecthomas/kong

    2,976在 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
    在 GitHub 上查看↗2,976
  • pallets/clickpallets 的头像

    pallets/click

    17,560在 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
    在 GitHub 上查看↗17,560
查看 Cli Guidelines 的所有 30 个替代方案→

常见问题解答

cli-guidelines/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.

cli-guidelines/cli-guidelines 的主要功能有哪些?

cli-guidelines/cli-guidelines 的主要功能包括:Command Line Interface Design, CLI, CLI and Argument Parsing, Argument Parsing, CLI Tooling Standards, Modular Subcommand Integrators, Command Line Interface Frameworks, Subcommand Structuring。

cli-guidelines/cli-guidelines 有哪些开源替代品?

cli-guidelines/cli-guidelines 的开源替代品包括: spectresystems/spectre.console — spectre.console is a .NET console UI library and command-line interface framework used to build rich user interfaces… alecthomas/kong — Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments… yargs/yargs — yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings… 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…