awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
urfave avatar

urfave/cli

0
View on GitHub↗
24,133 نجوم·1,787 تفرعات·Go·MIT·3 مشاهداتcli.urfave.org↗

Cli

This is a framework for building structured terminal applications in Go. It provides the core components necessary to define a command-line interface, including a system for managing commands, sub-commands, and their associated flags.

The library distinguishes itself through an automated help generator that produces formatted usage instructions and manual pages, and a shell completion generator that creates tab-completion scripts for Bash, Zsh, Fish, and PowerShell. It also features a command lifecycle manager to handle pre- and post-execution logic and process exit codes.

The toolkit covers comprehensive argument parsing for various types, including strings, integers, slices, and maps, with support for environment variable overrides and value validation. It also includes utilities for error handling, command categorization, and the generation of Markdown documentation.

Features

  • CLI Frameworks - Provides a comprehensive framework for defining structured terminal applications with commands, flags, and actions.
  • Flag Definitions - Provides a comprehensive system for defining command-line flags with required values, defaults, and environment overrides.
  • Go CLI Frameworks - Provides a complete framework for building structured terminal applications with commands and flags in Go.
  • Argument Parsing - Implements a comprehensive system for defining and processing command-line flags and typed arguments.
  • Argument Parsers - Uses a consistent interface to convert raw string arguments into typed Go values like slices and maps.
  • Nested Command Structures - Provides a recursive hierarchy for organizing commands and sub-commands with associated metadata.
  • String Parsers - Captures textual input from the command line and provides optional whitespace trimming.
  • Command Lifecycle Managers - Manages the execution lifecycle of commands, including pre- and post-execution hooks and exit code handling.
  • Exit Status Signaling - Controls terminal exit status based on error interfaces to communicate process success or failure.
  • Boolean Toggles - Provides command-line flags that accept true or false values to toggle features or settings.
  • Typed Flag Parsers - Enables the creation of typed command-line flags that handle specific value types and validation logic.
  • Flag Propagation - Supports persistent flags that are inherited across the command and sub-command hierarchy.
  • Flag Validation Utilities - Runs custom validation functions against flag inputs and default values to ensure they meet specific criteria.
  • Help Text Generators - Automatically constructs formatted usage instructions and manual pages from command and flag metadata.
  • Shell Completion Generators - Produces completion scripts for bash, zsh, fish, and PowerShell to enable tab-completion of commands and flags.
  • Constraint Enforcers - Prevents users from providing conflicting command line options by requiring exactly one option from a specific group.
  • Duration Parsers - Converts command line input strings into time duration types for precise time-based configuration.
  • Integer Parsers - Parses command line arguments into unsigned integer types with range validation.
  • Execution Middleware - Supports a sequence of before and after hooks to manage command execution setup and teardown.
  • Boolean Flag Generators - Supports boolean switches with both positive and negative forms to explicitly enable or disable features.
  • Map Parsers - Processes command line arguments into key-value pairs using configurable separators or JSON deserialization.
  • Schema Exporters - Maps command line flags to standard schema types to facilitate automated documentation generation.
  • Timestamp Parsers - Converts string input into time objects using configurable layouts and timezones.
  • Man Page Generation - Produces formatted manual pages and Markdown documentation to describe the tool's interface and usage.
  • Numeric Slice Parsers - Converts comma-separated or repeated flag inputs into slices of integers or floating-point numbers.
  • String Slice Parsers - Collects multiple occurrences of a single flag into a slice of strings.
  • Numeric Parsers - Extracts numeric values from command line flags as floating point numbers.
  • Value Resolution Strategies - Resolves final configuration values by prioritizing flags, environment variables, and default settings.
  • Error Handling - Intercepts usage errors or missing commands to provide customized error messages and recovery.
  • واجهات سطر الأوامر - Tool for building fast command-line applications.
  • Command Line Tools - Tool for building command-line applications.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Developer Tools and CLIs - Declarative package for building command-line tools.
  • Go CLI Frameworks - Package for building fast and fun command-line apps.

سجل النجوم

مخطط تاريخ النجوم لـ urfave/cliمخطط تاريخ النجوم لـ urfave/cli

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة urfave/cli؟

This is a framework for building structured terminal applications in Go. It provides the core components necessary to define a command-line interface, including a system for managing commands, sub-commands, and their associated flags.

ما هي الميزات الرئيسية لـ urfave/cli؟

الميزات الرئيسية لـ urfave/cli هي: CLI Frameworks, Flag Definitions, Go CLI Frameworks, Argument Parsing, Argument Parsers, Nested Command Structures, String Parsers, Command Lifecycle Managers.

ما هي البدائل مفتوحة المصدر لـ urfave/cli؟

تشمل البدائل مفتوحة المصدر لـ urfave/cli: spf13/cobra — Cobra is a development framework for building command-line applications in Go. It organizes application logic into a… yargs/yargs — yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings… clap-rs/clap — Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through… fastapi/typer — This project is a Python framework for building command-line interfaces by converting standard functions into… pallets/click — Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining… spectreconsole/spectre.console — Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It…

بدائل مفتوحة المصدر لـ Cli

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Cli.
  • spf13/cobraالصورة الرمزية لـ spf13

    spf13/cobra

    44,107عرض على GitHub↗

    Cobra is a development framework for building command-line applications in Go. It organizes application logic into a hierarchical tree structure where each node represents a command, complete with its own flags and execution logic. This structure allows developers to build complex, nested command interfaces that mirror business domains while maintaining a clean separation between command orchestration and underlying business logic. The framework distinguishes itself through its declarative approach to metadata and configuration. It automatically derives help documentation, usage instructions,

    Goclicli-appcobra
    عرض على GitHub↗44,107
  • yargs/yargsالصورة الرمزية لـ yargs

    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
  • clap-rs/clapالصورة الرمزية لـ clap-rs

    clap-rs/clap

    16,528عرض على GitHub↗

    Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation

    Rustargument-parserargument-parsingcommand-line
    عرض على GitHub↗16,528
  • fastapi/typerالصورة الرمزية لـ fastapi

    fastapi/typer

    19,632عرض على GitHub↗

    This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili

    Pythoncliclickpython
    عرض على GitHub↗19,632
عرض جميع البدائل الـ 30 لـ Cli→