awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to docopt/docopt

Open-source alternatives to Docopt

30 open-source projects similar to docopt/docopt, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Docopt alternative.

  • commandlineparser/commandlineAvatar commandlineparser

    commandlineparser/commandline

    4,817Vezi pe GitHub↗

    This library is a .NET command line parser for C# and F# that implements POSIX getopt conventions to map shell arguments into strongly typed objects. It provides a framework for building console applications that process Unix-style flags and options. The project features a routing system that directs program execution based on action-oriented verbs, supporting sub-commands and default actions. It includes an automatic help generator that produces localized usage instructions and formatted help screens based on the defined command options. The toolset covers argument parsing with strongly typ

    C#command-linedotnetdotnet-core
    Vezi pe GitHub↗4,817
  • remkop/picocliAvatar remkop

    remkop/picocli

    5,387Vezi pe GitHub↗

    picocli is a command line interface development framework and argument parser for JVM-based applications. It maps command line options and positional parameters to strongly typed Java methods and fields using a declarative, annotation-based model. The framework provides specific support for native image compilation, producing the reflection and resource configuration files necessary to build standalone binaries with reduced startup overhead. It further distinguishes itself with a dedicated system for generating shell autocompletion scripts and an ANSI terminal stylizer for applying colors and

    Java
    Vezi pe GitHub↗5,387
  • fastapi/typerAvatar fastapi

    fastapi/typer

    19,632Vezi pe 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
    Vezi pe GitHub↗19,632

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ță.

Find more with AI search
  • 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
  • google/python-fireAvatar google

    google/python-fire

    28,208Vezi pe GitHub↗

    Python Fire is a library that automatically generates command line interfaces from any Python object, function, or class. It removes the need for manual argument parsing by mapping Python dictionaries, lists, and classes directly to terminal commands. The tool converts Python docstrings into formatted terminal help screens and produces shell scripts to enable tab-completion for available commands. It can wrap existing libraries or external modules to expose their functionality via the terminal without requiring modifications to the original source code. The library supports hierarchical comm

    Pythonclipython
    Vezi pe GitHub↗28,208
  • rails/thorR

    rails/thor

    5,258Vezi pe GitHub↗

    Thor is a Ruby toolkit for building command line interfaces and task runners. It maps user flags and parameters to executable methods, functioning as both a command line argument parser and a framework for creating self-documenting terminal tools. The framework automatically generates usage banners and help menus based on defined method signatures. It organizes related commands within classes to create isolated namespaces and injects user-defined flags directly into method logic. Beyond interface generation, the project includes capabilities for build task automation and the sequential execu

    Ruby
    Vezi pe GitHub↗5,258
  • cliutils/cli11Avatar CLIUtils

    CLIUtils/CLI11

    4,322Vezi pe GitHub↗

    CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell input to typed variables and supports the creation of complex command hierarchies. The library is distinguished by its support for nested subcommands with infinite depth and prefix matching. It integrates configuration management by allowing application settings to be loaded from TOML or INI files, with the ability to fall back to environment variables. The project provides a comprehensive set of tools for argument parsing, including flags and positional arguments, alongside

    C++clicli-parsercpp11
    Vezi pe GitHub↗4,322
  • 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
  • cacjs/cacAvatar cacjs

    cacjs/cac

    2,923Vezi pe GitHub↗

    cac is a Node.js CLI framework used to build command line interfaces with a declarative API. It functions as a command line argument parser and a command dispatcher that maps terminal input keywords to specific JavaScript callback functions. The framework features an automated help generator that produces usage instructions and version documentation based on the defined command structures. It manages command aliases and provides a routing system to link specific keyword inputs to execution logic. The toolkit covers command interface definition, including the configuration of global and comma

    TypeScriptclicommand-linecommander
    Vezi pe GitHub↗2,923
  • kelseyhightower/envconfigAvatar kelseyhightower

    kelseyhightower/envconfig

    5,404Vezi pe GitHub↗

    envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any

    Go
    Vezi pe GitHub↗5,404
  • magefile/mageAvatar magefile

    magefile/mage

    4,666Vezi pe GitHub↗

    Mage is a build automation tool and workflow orchestrator that uses Go functions to define executable build targets instead of a custom domain-specific language. It functions as a compiled build system and task runner, mapping exported Go functions to command-line targets. The tool distinguishes itself by compiling build definitions into static binaries for distribution to dependency-free machines. It utilizes hashed binary caching to avoid redundant compilations and supports the packaging of the runtime and defined tasks into a single standalone executable. The platform covers dependency ma

    Gobuildscriptgogolang
    Vezi pe GitHub↗4,666
  • prompt-toolkit/python-prompt-toolkitAvatar prompt-toolkit

    prompt-toolkit/python-prompt-toolkit

    10,498Vezi pe GitHub↗

    This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers

    Python
    Vezi pe GitHub↗10,498
  • python-poetry/cleoAvatar python-poetry

    python-poetry/cleo

    1,351Vezi pe GitHub↗

    Create beautiful and testable command-line interfaces.

    Python
    Vezi pe GitHub↗1,351
  • datafolklabs/cementAvatar datafolklabs

    datafolklabs/cement

    1,345Vezi pe GitHub↗

    Application Framework for Python

    Python
    Vezi pe GitHub↗1,345
  • apple/swift-argument-parserAvatar apple

    apple/swift-argument-parser

    3,728Vezi pe GitHub↗

    This is a library for building command-line interfaces in Swift. It converts command-line arguments into type-safe Swift properties using a declarative approach, ensuring that inputs match expected data types to prevent runtime errors. The framework supports the creation of complex command hierarchies through nested subcommands. It automatically generates formatted usage documentation and error messages by deriving information from the defined metadata and types. The system utilizes property wrappers to attach parsing logic to types and employs reflection to extract metadata from property na

    Swift
    Vezi pe GitHub↗3,728
  • symfony/consoleAvatar symfony

    symfony/Console

    9,813Vezi pe GitHub↗

    Console is a PHP CLI framework used for building interactive terminal applications. It functions as a command line interface development toolkit and orchestrator that manages the lifecycle of terminal commands, processes user input, and produces formatted text output. The project includes a terminal capability detector to identify system color modes and window dimensions for creating responsive layouts. It provides a console output formatter for rendering styled text, bordered blocks, and progress bars, alongside a system for creating interactive terminal interfaces. The framework covers com

    PHP
    Vezi pe GitHub↗9,813
  • 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
  • sindresorhus/meowAvatar sindresorhus

    sindresorhus/meow

    3,708Vezi pe GitHub↗

    Meow is a Node.js command line argument parser that converts raw input strings into structured objects. It functions as a tool for processing flags and positional arguments according to POSIX and shell conventions. The library provides a system for enforcing required arguments and verifying data types for command line inputs. It also serves as a helper for managing version strings, help menus, and subcommand routing within terminal applications. The project covers the broader surface of command line interface development, including input validation and the direction of execution paths via ke

    JavaScriptclicommand-linejavascript
    Vezi pe GitHub↗3,708
  • urfave/cliAvatar urfave

    urfave/cli

    24,133Vezi pe GitHub↗

    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

    Goclicommand-linego
    Vezi pe GitHub↗24,133
  • azure/azure-cliAvatar Azure

    Azure/azure-cli

    4,572Vezi pe GitHub↗

    The Azure Cloud Command-Line Interface is a terminal-based utility used for creating, managing, and automating infrastructure and services within the Azure cloud ecosystem. It serves as a programmatic interface for handling cloud environment setup and resource lifecycles by interacting with Azure APIs. The tool facilitates cloud infrastructure automation through the use of scripts and standardized exit codes. It provides a command-line workflow that includes tab-completion for commands and parameters and a flexible query syntax for filtering results and extracting specific data fields from cl

    Pythonazureazure-clicloud
    Vezi pe GitHub↗4,572
  • oclif/oclifAvatar oclif

    oclif/oclif

    9,543Vezi pe GitHub↗

    oclif is a Node.js framework for building command-line interfaces. It provides a structured system for developing terminal applications with consistent command patterns, argument parsing, and automated help generation. The project features a modular plugin architecture that allows for external functionality to be injected via a manifest-based loading mechanism. It includes a dedicated distribution pipeline and packager to bundle applications into OS-native installers and tarballs for Windows, macOS, and Linux. The framework covers a broad range of development capabilities, including project

    TypeScript
    Vezi pe GitHub↗9,543
  • me115/linuxtools_rstAvatar me115

    me115/linuxtools_rst

    6,012Vezi pe GitHub↗

    Linux工具快速教程

    HTML
    Vezi pe GitHub↗6,012
  • koishijs/koishiAvatar koishijs

    koishijs/koishi

    5,456Vezi pe GitHub↗

    Koishi is an open-source framework for building multi-platform chatbots, designed around an adapter-driven architecture that lets a single bot connect to multiple messaging services with consistent logic. It provides a plugin-based development platform with hot reload support, enabling developers to write and update bot extensions using TypeScript without restarting the application. A web-based management console offers a graphical interface for configuring plugins, commands, permissions, and monitoring runtime status. What distinguishes Koishi is its combination of a dynamic plugin lifecycle

    TypeScriptbotchatbotdiscord
    Vezi pe GitHub↗5,456
  • spectreconsole/spectre.consoleAvatar spectreconsole

    spectreconsole/spectre.console

    11,210Vezi pe GitHub↗

    Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It provides a comprehensive toolkit for managing complex command hierarchies, type-safe argument parsing, and dependency injection, allowing developers to decouple business logic from input processing while maintaining modular application designs. The framework distinguishes itself through a sophisticated terminal user interface toolkit that enables the creation of dynamic, interactive console experiences. It utilizes a markup-based rendering system to display styled text, tables, cha

    C#ansi-colorscli-parserconsole
    Vezi pe GitHub↗11,210
  • tpope/vim-pathogenAvatar tpope

    tpope/vim-pathogen

    12,125Vezi pe GitHub↗

    vim-pathogen is a plugin manager and runtimepath manager for Vim. It automates the process of adding plugin directories to the configuration path, allowing the editor to load external extensions without requiring manual script sourcing in initialization files. The system treats individual folders as discrete plugin units and modifies the internal search path at startup. It also functions as a help tag generator, iterating through plugin directories to create and synchronize searchable documentation indexes.

    Vim Script
    Vezi pe GitHub↗12,125
  • jarro2783/cxxoptsAvatar jarro2783

    jarro2783/cxxopts

    4,779Vezi pe GitHub↗

    cxxopts is a header-only C++ command line parser used to define required options, default values, and positional arguments for console applications. It functions as a lightweight utility for parsing command line arguments into typed values using short and long flags and automatically generating formatted help messages and documentation. The library provides capabilities for argument specification, allowing the definition of option descriptions, types, and boolean flags. It supports multi-value option collection into containers, default value management for omitted options, and the mapping of

    C++
    Vezi pe GitHub↗4,779
  • nvim-mini/mini.nvimAvatar nvim-mini

    nvim-mini/mini.nvim

    9,325Vezi pe GitHub↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Lualuamini-nvimneovim
    Vezi pe GitHub↗9,325
  • clap-rs/clapAvatar clap-rs

    clap-rs/clap

    16,528Vezi pe 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
    Vezi pe GitHub↗16,528
  • jquast/wcwidthJ

    jquast/wcwidth

    0Vezi pe GitHub↗
    Vezi pe GitHub↗0
  • dannyben/runfileAvatar DannyBen

    DannyBen/runfile

    39Vezi pe GitHub↗

    Command line for your projects

    Ruby
    Vezi pe GitHub↗39