12 Repos
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 ist eine Header-only C++-Bibliothek zum Parsen von Befehlszeilenargumenten und zur Verwaltung von Konfigurationsdateien. Sie bildet Shell-Eingaben auf typisierte Variablen ab und unterstützt die Erstellung komplexer Befehlshierarchien. Die Bibliothek zeichnet sich durch die Unterstützung verschachtelter Unterbefehle mit unendlicher Tiefe und Präfix-Matching aus. Sie integriert Konfigurationsmanagement, indem sie das Laden von Anwendungseinstellungen aus TOML- oder INI-Dateien ermöglicht, mit der Option, auf Umgebungsvariablen zurückzugreifen. Das Projekt bietet ein umfassendes Set an Tools für das Argument-Parsing, einschließlich Flags und positioneller Argumente, sowie ein Validierungs-Framework zur Durchsetzung obligatorischer Optionen und gegenseitiger Abhängigkeiten. Es enthält zudem eine automatisierte Generierung von Hilfedokumentationen mit anpassbarer Formatierung und ein Callback-System, um benutzerdefinierte Logik während spezifischer Parsing-Phasen auszulösen. Diese abhängigkeitsfreie Bibliothek ist für C++11 und neuere Versionen konzipiert.
Triggers specific callback functions immediately after a subcommand and its associated options are parsed.
QUnit ist ein JavaScript-Unit-Testing-Framework, das entwickelt wurde, um Code-Verhalten mittels Assertions und Lifecycle-Hooks in Browsern und Server-Runtimes zu verifizieren. Es fungiert als browserbasierter Test-Runner mit HTML-Interface für die Ergebnisberichterstattung, als asynchroner Test-Orchestrator zur Koordination von Callbacks sowie als Hilfsmittel zur Isolierung und Überprüfung von DOM-Änderungen. Das Framework zeichnet sich durch spezialisierte DOM-Testfunktionen aus, die eine Isolierung und Zurücksetzung des Document Object Models zwischen Tests ermöglichen, um Atomarität zu gewährleisten. Es verfügt zudem über ein System zur Erkennung von Global-State-Leaks durch Überwachung des window-Objekts und bietet die Möglichkeit, Testsuiten in Headless-Umgebungen für Hintergrundautomatisierung auszuführen. Das Projekt deckt ein breites Spektrum an Testfunktionen ab, darunter die Validierung asynchroner Workflows, Cross-Runtime-Kompatibilitätstests und die Erstellung benutzerdefinierter Assertions. Es unterstützt die Testorganisation durch Module, die Ausführung von Setup- und Teardown-Lifecycle-Hooks sowie die Generierung von Code-Coverage- und standardisierten Testberichten. Benutzer können Tests über ein Browser-Interface oder ein Command-Line-Terminal mit Unterstützung für File-Watching und programmatische Testfilterung ausführen.
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.