16 Repos
Developer libraries and frameworks for building command-line applications — argument parsing, subcommands, and help generation. These are the building blocks engineers code against, not finished tools; for ready-to-run command-line apps see Command Line Interfaces.
Explore 16 awesome GitHub repositories matching development tools & productivity · CLI Frameworks. Refine with filters or upvote what's useful.
This project is a community-driven directory of software resources, libraries, and tools designed to support iOS application development. It serves as a centralized reference point for developers, organizing a vast ecosystem of third-party components into a searchable, structured index to facilitate discovery and project integration. The repository distinguishes itself through its collaborative curation model, which aggregates disparate utilities into a single, maintainable catalog. By leveraging a flat-file documentation structure, it provides a clear overview of the tools available for nati
Composes terminal tools and command-line interfaces using structured syntax.
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,
Provides the core structure for building professional command-line tools with nested subcommands and flags.
Commander.js is a framework for building command-line interfaces and terminal applications. It functions as an argument parsing library and command lifecycle manager, transforming raw terminal input strings into structured, validated objects for use in executable scripts. The system utilizes a recursive command tree pattern, allowing developers to organize complex execution flows through nested subcommands. It features a declarative interface for defining command-line flags and arguments, which maps user input directly to internal state properties. To assist with usability, the framework auto
Provides a complete framework for defining nested command structures and action handlers.
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
Provides a comprehensive framework for defining structured terminal applications with commands, flags, and actions.
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
Provides a library for building command-line interfaces by converting standard functions into executable programs using type hints.
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
A library for building complex command-line interfaces with automatic help generation, parameter parsing, and nested command groups.
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
Provides a toolkit for building complex command-line applications using attribute-based macros or programmatic builders to map inputs to code.
This project is a functional programming library and toolkit for building production TypeScript applications. It provides a system for managing concurrency, error handling, and resource lifecycles using functional effects. The project distinguishes itself through a comprehensive suite of specialized toolkits, including a dependency injection framework for decoupling service implementations, a workflow orchestrator for coordinating durable processes, and a SQL database toolkit for consistent data operations across multiple dialects. It also implements an OpenTelemetry instrumentation library f
Provides tools to create structured terminal applications that handle user input and execute commands.
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
Serves as a foundational library for building feature-rich command-line applications with integrated dependency injection and interactive prompts.
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
Serves as a comprehensive toolkit for building structured PHP command-line applications.
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
Provides a comprehensive framework for building structured CLI applications with argument parsing and help generation.
Enquirer ist eine Node.js-Bibliothek zum Erstellen interaktiver Befehlszeilenschnittstellen zur Erfassung strukturierter Benutzereingaben. Sie bietet eine Reihe von Terminal-Prompts, einschließlich Menüs, Formularen und Textfeldern, um Daten über Autocomplete, Multiselect und boolesche Bestätigungen zu sammeln. Das Projekt dient als anpassbares Framework, das die Erstellung benutzerdefinierter Prompt-Typen durch eine Basisklasse und die Erweiterung der Funktionalität über eine Plugin-Architektur ermöglicht. Die Bibliothek deckt eine breite Palette von Interaktionsmustern ab, wie das Erfassen numerischer und sensibler Daten, das Validieren von Benutzereingaben gegen benutzerdefinierte Regeln und das Ausführen von Prompt-Sequenzen zur Erfassung komplexen Feedbacks. Sie enthält zudem Funktionen zum Sortieren von Listen, Ausfüllen von Text-Snippets und Verwalten der Terminal-Formularerfassung.
Offers an extensible framework with a base class for creating custom prompt types and plugin-based logic.
Rushstack ist ein umfassendes Toolset für die Verwaltung groß angelegter TypeScript-Monorepos und bietet ein Framework für Build-Pipeline-Automatisierung, Abhängigkeitskoordination und statische Analyse. Es fungiert als inkrementeller Build-Orchestrator und Managementsystem, das darauf ausgelegt ist, Konsistenz und Performance über mehrere Pakete in einem geteilten Workspace hinweg zu wahren. Das System zeichnet sich durch ein Ausführungsmodell aus, das auf gerichteten azyklischen Graphen (DAGs) und inhalts-hash-basierter Inkrementalität basiert, was sicherstellt, dass nur betroffene Projekte neu gebaut werden. Es optimiert Entwicklungs-Workflows weiter durch Remote-Build-Artifact-Caching mit Integrationen für S3, Azure und HTTP und nutzt symlink-basiertes Workspace-Management für sofortige Sichtbarkeit lokaler Änderungen. Das Toolset deckt ein breites Spektrum an Funktionen ab, einschließlich automatisierter Release-Workflows, API-Vertragsanalyse und der Durchsetzung von Code-Qualität im Unternehmen durch standardisierte Linting-Profile. Es bietet zudem umfassende Unterstützung für Asset-Bundling, TypeScript-Transpilierung und die Generierung von Typdefinitionen aus JSON-Schemas und statischen Assets. Zusätzliche Aufgabenbereiche umfassen Lokalisierungsmanagement, die Generierung von Lizenzhinweisen und die Orchestrierung von Command-Line-Interfaces mit synchronisierter Prozessausgabe.
Provides a structured framework for building command-line applications with type-safe parameter handling and syntax validation.
Thor ist ein Ruby-Toolkit zum Erstellen von Command-Line-Interfaces (CLI) und Task-Runnern. Es bildet Benutzer-Flags und Parameter auf ausführbare Methoden ab und fungiert sowohl als Argument-Parser für die Kommandozeile als auch als Framework für die Erstellung selbstdokumentierender Terminal-Tools. Das Framework generiert automatisch Usage-Banner und Hilfemenüs basierend auf definierten Methodensignaturen. Es organisiert zusammengehörige Befehle in Klassen, um isolierte Namespaces zu schaffen, und injiziert benutzerdefinierte Flags direkt in die Methodenlogik. Über die Interface-Generierung hinaus bietet das Projekt Funktionen für die Automatisierung von Build-Tasks und die sequentielle Ausführung von Entwicklungsprozessen. Dies ermöglicht die Orchestrierung definierter Methodenreihen, um Standard-Build-Workflows zu simulieren.
Provides a framework for mapping command line arguments and options to functions with automatic documentation generation.
Dieses Projekt ist eine Referenzimplementierung und ein Tutorial, das den End-to-End-Workflow für das Bauen, Versionieren und Hochladen von Python-Distributionen demonstriert. Es dient als konkrete Projektvorlage und Beispiel für die Konfiguration von Metadaten und Build-Artefakten für Paket-Indices. Das Repository veranschaulicht, wie Software verpackt wird, indem Projektmetadaten und Dependencies in statischen Konfigurationsdateien definiert werden. Es deckt den Prozess der Transformation von Source-Trees in versionierte Archive und plattformspezifische Binärdistributionen ab, wobei insbesondere der Bau von Binary-Wheels und Source-Distributionen gezeigt wird. Das Projekt deckt breitere Funktionsbereiche ab, darunter Dependency-Management, die Erstellung von Command-Line-Interfaces und die Automatisierung des Release-Publishings in Repositories. Zudem demonstriert es die Verwendung isolierter virtueller Umgebungen und die Integration von Binär-Extensions.
Demonstrates how to create a terminal-based interface that maps user arguments to Python functions.
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
Provides a declarative API for defining commands and options to handle structured terminal input.