30 open-source projects similar to mojang/brigadier, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
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
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
This project is a Java command dispatch framework that maps user input to application logic using annotation-based processing. It provides a unified interface for registering and executing commands, allowing developers to define command syntax, parameter requirements, and execution logic through standard method annotations. The framework distinguishes itself through its cross-platform command handler, which abstracts platform-specific input and registration systems into a single codebase. This allows for consistent command processing across diverse environments, including server proxies, chat
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
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
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
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
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
Discordgo is a Go library for building Discord bots and integrations, providing a complete client for both the Discord REST API and the real-time Gateway WebSocket protocol. It serves as a foundational package for developers who need to connect authenticated clients to Discord servers, send messages, handle events, and manage real-time communication programmatically. The library distinguishes itself through a comprehensive set of architectural components designed for production bot development. It includes a command routing middleware system that parses incoming messages and dispatches them t
Telegraf is a Node.js framework and typed API wrapper for building interactive chat agents on the Telegram platform. It provides a structured environment for developing automated agents that interface with the Telegram Bot API to process and respond to user messages. The framework uses a middleware-based request router to process incoming events through a customizable chain of handlers. This architecture allows for dynamic command routing and the use of a context-object pattern to pass updates and API methods through the processing pipeline. The system supports multiple event delivery method
This project is a PHP framework designed for building interactive command-line applications and automation tools. It provides a structured environment for developers to construct console interfaces that handle user input and terminal output, facilitating the management of system-level operations and repetitive development tasks. The framework utilizes a command-pattern dispatching system that maps terminal arguments to executable classes, supported by a dependency-injection container to manage service lifecycles. It incorporates reflective metadata discovery to automatically extract command d
This project is a comprehensive educational resource consisting of a Bash programming tutorial, scripting reference, and Linux command line manual. It provides instructional materials for writing scripts, automating system tasks, and mastering terminal navigation and Unix system administration. The guides cover a wide range of shell environment customization, including prompt styling and the use of aliases. It also provides a shell environment guide for managing configuration files and initializing user environments. The materials detail a broad set of capabilities including control flow log
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
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
Docker CLI is the command-line tool that enables users to interact with the Docker daemon for building, running, and managing containers. It provides a structured interface for controlling container lifecycles, images, networks, and volumes through a terminal-based workflow. The tool supports building container images from source code using Dockerfiles, with features like build context streaming and image layer caching to accelerate construction. It also allows starting interactive shells inside containers for isolated development and testing environments. The CLI operates through a client-s
which-key.nvim is a keybinding discovery menu and command palette for Neovim. It serves as a configuration tool to organize complex keymap hierarchies and a visual utility for browsing editor marks, registers, and spelling suggestions through a compact popup interface. The plugin differentiates itself by organizing shortcuts into nested groups with custom labels and icons, reducing the need to memorize long key sequences. It includes built-in help presets for native editor operators and motions, and supports dynamic key mapping where descriptions are evaluated at runtime. The system covers w
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
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
Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible command-line shells. It functions as an interactive command-line parser that converts string input into executable functions, managing the lifecycle of terminal sessions and command routing. The framework is distinguished by a plugin-based extension architecture that allows external modules to register new commands, shared behaviors, and complete command suites into the core environment. It supports the creation of custom shell environments with specialized namespaces and a system for pe
Director is a routing library for JavaScript that handles URL and command-line pattern matching across client-side, server-side, and CLI environments. It provides a unified approach to defining routes as nested object literals, where each key maps to a URL segment and its handler, supporting both hash fragment monitoring and the HTML5 History API for browser navigation without page reloads. The library distinguishes itself through its ability to operate in multiple contexts with a single routing paradigm. It supports asynchronous handler queue execution for sequential tasks like authenticatio
Jo is a command-line utility designed to construct and manipulate JSON objects and arrays directly from shell arguments and standard input. It functions as a data processing tool that transforms raw input into structured formats, enabling the generation of complex payloads for APIs, configuration files, and automated data pipelines. The tool distinguishes itself through its ability to resolve hierarchical data structures using delimiter-based path definitions and its integrated type-inference engine, which automatically casts input values into native boolean, numeric, or null types. Users can
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 ad
Cake is a cross-platform build automation system and scripting framework that allows users to define software build pipelines using C# scripts. It functions as a CI/CD pipeline orchestrator and build runner, providing a strongly-typed domain-specific language to simplify the orchestration of compilation, testing, and packaging processes across Windows, Linux, and macOS. The system ensures reproducible build environments by pinning the versions of build tools, modules, and dependencies. It distinguishes itself by enabling a C# scripting workflow with full IDE support, including autocomplete, s
Mininet is a network emulator that creates virtual networks of hosts, switches, and links on a single Linux machine for Software-Defined Networking (SDN) prototyping and testing. It emulates network nodes as lightweight processes in isolated network namespaces, connecting them via virtual Ethernet pairs, and supports OpenFlow protocol for programmable control of virtual switches and traffic flows. The project enables users to design custom network topologies using a Python API, simulate link conditions such as bandwidth, delay, and packet loss, and run real Linux applications and kernel code
This project is a collection of AppleScript terminal automation scripts designed to bridge a keyboard-focused launcher with a terminal emulator on macOS. It functions as a terminal session manager that programmatically creates windows and executes shell commands. The scripts specifically integrate a productivity launcher with iTerm2, routing commands from the launcher interface into active terminal windows and tabs. This enables the automation of terminal workflows and the execution of complex command line tasks to reduce repetitive typing. The system covers macOS system automation, includin
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
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