12 repository-uri
Mechanisms for dynamically building complex command interfaces.
Distinguishing note: No candidates provided; this is the standard category for command registration patterns.
Explore 12 awesome GitHub repositories matching development tools & productivity · Subcommand Registration. Refine with filters or upvote what's useful.
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,
Allows attaching child commands to a parent structure during initialization to build complex, hierarchical command interfaces.
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
Controls whether main application functions run based on the presence of subcommands.
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
Supports nested command hierarchies by delegating parsing to independent subcommand instances.
rustfmt is a Rust code formatter that operates as a Cargo subcommand, applying consistent formatting to Rust source files according to official style guidelines. It parses source code into a syntax tree, applies formatting rules to tree nodes, and pretty-prints the result back to text, with support for TOML-driven configuration that allows per-project style customization. The formatter is edition-aware, automatically selecting formatting rules based on the Rust edition specified in the project, and supports a style edition override that decouples formatting rules from the Rust edition used fo
Integrates with Cargo to format all crate and workspace targets via a single command.
Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t
Caps the execution time of callbacks to prevent a single task from monopolizing the CPU.
Tape is a TAP-producing test framework for Node.js that provides assertions, spies, subtests, and isolated test harnesses. It functions as both a test runner and an assertion library, outputting results in the Test Anything Protocol format for machine or human consumption. The framework manages test execution through callback-based async control, plan-based auto termination, and subtest stack isolation. It includes a spy wrapper system that replaces object methods with call-recording wrappers that restore originals during teardown, along with a teardown callback registry that collects and exe
Provides callback-based async control for managing test lifecycle and completion signals.
WP-CLI is a command-line interface and automation tool for managing WordPress sites and databases through a terminal instead of a web browser. It functions as an extensible framework for executing site maintenance, administrative updates, and developer tooling via scripts and scheduled jobs. The tool provides specialized capabilities for database management, including search-and-replace operations, imports, and exports to modify or migrate site data. It also serves as a programmable interface that allows for the integration of AI agents to execute command-driven tasks. The system supports th
Each public method on a command class becomes a subcommand, inheriting the class’s argument defaults.
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
Triggers specific callback functions immediately after a subcommand and its associated options are parsed.
QUnit is a JavaScript unit testing framework designed to verify code behavior using assertions and lifecycle hooks across browsers and server runtimes. It functions as a browser-based test runner with an HTML interface for reporting results, an asynchronous test orchestrator for coordinating callbacks, and a utility for isolating and verifying document object model changes. The framework distinguishes itself through specialized DOM testing capabilities, allowing for the isolation and resetting of the document object model between tests to ensure atomicity. It also features a system for detect
Provides mechanisms to control the execution of asynchronous tests using completion callbacks.
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
Enables the creation of complex command hierarchies with nested sub-commands and automatic help generation.
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
Directs execution to different logic paths or nested parsers by identifying specific keywords.
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
Provides a framework for organizing complex functionality into a nested tree of noun-verb subcommands.