16 repositorios
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 es un framework de CLI en PHP utilizado para construir aplicaciones de terminal interactivas. Funciona como un kit de herramientas de desarrollo de interfaz de línea de comandos y orquestador que gestiona el ciclo de vida de los comandos de terminal, procesa la entrada del usuario y produce salida de texto formateada. El proyecto incluye un detector de capacidades de terminal para identificar modos de color del sistema y dimensiones de ventana para crear layouts responsivos. Proporciona un formateador de salida de consola para renderizar texto con estilo, bloques con bordes y barras de progreso, junto con un sistema para crear interfaces de terminal interactivas. El framework cubre la orquestación de comandos mediante la integración de contenedores de servicios e inyección de dependencias. También proporciona herramientas para la gestión de entrada del usuario y una interfaz dedicada para pruebas de ejecución de comandos para verificar flujos de salida y resultados.
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 es una biblioteca de Node.js para crear interfaces de línea de comandos interactivas para recopilar datos estructurados del usuario. Proporciona un conjunto de prompts de terminal, incluyendo menús, formularios y campos de texto, para recopilar datos mediante autocompletado, selección múltiple y confirmaciones booleanas. El proyecto sirve como un framework personalizable que permite la creación de tipos de prompt personalizados a través de una clase base y la extensión de la funcionalidad mediante una arquitectura de plugins. La biblioteca cubre una amplia gama de patrones de interacción, como la captura de datos numéricos y sensibles, la validación de la entrada del usuario frente a reglas personalizadas y la ejecución de secuencias de prompts para recopilar comentarios complejos. También incluye capacidades para ordenar listas, rellenar fragmentos de texto y gestionar la recopilación de formularios en la terminal.
Offers an extensible framework with a base class for creating custom prompt types and plugin-based logic.
Rushstack es un conjunto de herramientas integral para gestionar monorepos de TypeScript a gran escala, proporcionando un framework para la automatización de pipelines de construcción, coordinación de dependencias y análisis estático. Funciona como un orquestador de construcción incremental y sistema de gestión diseñado para mantener la consistencia y el rendimiento a través de múltiples paquetes en un espacio de trabajo compartido. El sistema se distingue por un modelo de ejecución basado en grafos acíclicos dirigidos y un incrementalismo basado en hash de contenido, que asegura que solo los proyectos afectados sean reconstruidos. Optimiza aún más los flujos de trabajo de desarrollo mediante el almacenamiento en caché de artefactos de construcción remotos con integraciones para S3, Azure y HTTP, y utiliza la gestión de espacios de trabajo basada en enlaces simbólicos para una visibilidad inmediata de los cambios locales. El conjunto de herramientas cubre una amplia gama de capacidades, incluyendo flujos de trabajo de lanzamiento automatizados, análisis de contratos de API y cumplimiento de calidad de código empresarial a través de perfiles de linting estandarizados. También proporciona un amplio soporte para el empaquetado de activos, transpilación de TypeScript y la generación de definiciones de tipo a partir de esquemas JSON y activos estáticos. Áreas de utilidad adicionales incluyen la gestión de localización, generación de avisos de licencia y la orquestación de interfaces de línea de comandos con salida de proceso sincronizada.
Provides a structured framework for building command-line applications with type-safe parameter handling and syntax validation.
Thor es un toolkit de Ruby para construir interfaces de línea de comandos (CLI) y ejecutores de tareas. Mapea flags y parámetros de usuario a métodos ejecutables, funcionando tanto como un analizador de argumentos de línea de comandos como un framework para crear herramientas de terminal autodocumentadas. El framework genera automáticamente banners de uso y menús de ayuda basados en las firmas de los métodos definidos. Organiza comandos relacionados dentro de clases para crear espacios de nombres aislados e inyecta flags definidos por el usuario directamente en la lógica del método. Más allá de la generación de interfaces, el proyecto incluye capacidades para la automatización de tareas de compilación y la ejecución secuencial de procesos de desarrollo. Esto permite la orquestación de una serie definida de métodos para simular flujos de trabajo estándar de automatización de builds.
Provides a framework for mapping command line arguments and options to functions with automatic documentation generation.
Este proyecto es una implementación de referencia y tutorial diseñado para demostrar el flujo de trabajo de extremo a extremo de construcción, versionado y carga de distribuciones de Python. Sirve como una plantilla de proyecto concreta y ejemplo para configurar metadatos y artefactos de compilación para índices de paquetes. El repositorio ilustra cómo empaquetar software definiendo metadatos del proyecto y dependencias en archivos de configuración estáticos. Cubre el proceso de transformar árboles de fuente en archivos versionados y distribuciones binarias específicas de plataforma, mostrando específicamente cómo construir wheels binarios y distribuciones de fuente. El proyecto cubre áreas de capacidad más amplias, incluyendo gestión de dependencias, la creación de interfaces de línea de comandos y la automatización de la publicación de lanzamientos en repositorios. También demuestra el uso de entornos virtuales aislados y la integración de extensiones binarias.
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.