16 repository-uri
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 este un framework PHP CLI utilizat pentru construirea de aplicații interactive de terminal. Funcționează ca un toolkit de dezvoltare pentru interfața linie de comandă și un orchestrator care gestionează ciclul de viață al comenzilor de terminal, procesează input-ul utilizatorului și produce output text formatat. Proiectul include un detector de capabilități de terminal pentru a identifica modurile de culoare ale sistemului și dimensiunile ferestrei pentru crearea de layout-uri responsive. Oferă un formator de output pentru consolă pentru randarea textului stilizat, a blocurilor cu margini și a barelor de progres, alături de un sistem pentru crearea de interfețe interactive de terminal. Framework-ul acoperă orchestrarea comenzilor prin integrarea containerului de servicii și dependency injection. De asemenea, oferă instrumente pentru gestionarea input-ului utilizatorului și o interfață dedicată pentru testarea execuției comenzilor, pentru a verifica fluxurile de output și rezultatele.
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 este o bibliotecă Node.js pentru crearea de interfețe interactive de linie de comandă pentru a colecta input structurat de la utilizator. Oferă un set de prompt-uri de terminal, inclusiv meniuri, formulare și câmpuri de text, pentru a colecta date prin completare automată, selecție multiplă și confirmări booleene. Proiectul servește ca un framework personalizabil care permite crearea de tipuri de prompt-uri personalizate printr-o clasă de bază și extinderea funcționalității printr-o arhitectură de plugin-uri. Biblioteca acoperă o gamă largă de tipare de interacțiune, cum ar fi capturarea datelor numerice și sensibile, validarea input-ului utilizatorului conform unor reguli personalizate și executarea secvențelor de prompt-uri pentru a colecta feedback complex. Include, de asemenea, capabilități pentru sortarea listelor, completarea fragmentelor de text și gestionarea colectării formularelor în terminal.
Offers an extensible framework with a base class for creating custom prompt types and plugin-based logic.
Rushstack este un set de instrumente cuprinzător pentru gestionarea monorepo-urilor TypeScript la scară largă, oferind un framework pentru automatizarea pipeline-ului de build, coordonarea dependențelor și analiza statică. Funcționează ca un orchestrator de build incremental și sistem de gestionare conceput pentru a menține consistența și performanța în mai multe pachete dintr-un spațiu de lucru partajat. Sistemul se distinge printr-un model de execuție bazat pe grafuri aciclice direcționate și incrementalism bazat pe hash-ul conținutului, care asigură că doar proiectele afectate sunt reconstruite. Optimizează în continuare fluxurile de lucru de dezvoltare prin caching-ul artefactelor de build la distanță cu integrări pentru S3, Azure și HTTP, și utilizează gestionarea spațiului de lucru bazată pe symlink-uri pentru vizibilitatea imediată a modificărilor locale. Setul de instrumente acoperă o gamă largă de capabilități, inclusiv fluxuri de lucru automate de release, analiza contractelor API și impunerea calității codului la nivel enterprise prin profiluri de linting standardizate. Oferă, de asemenea, suport extins pentru bundling-ul activelor, transpilararea TypeScript și generarea definițiilor de tip din scheme JSON și active statice. Zonele utilitare suplimentare includ gestionarea localizării, generarea notificărilor de licență și orchestrarea interfețelor în linie de comandă cu output de proces sincronizat.
Provides a structured framework for building command-line applications with type-safe parameter handling and syntax validation.
Thor este un toolkit Ruby pentru construirea de interfețe în linie de comandă (CLI) și task runners. Acesta mapează flag-urile și parametrii utilizatorului către metode executabile, funcționând atât ca un parser de argumente pentru linia de comandă, cât și ca un framework pentru crearea de instrumente de terminal auto-documentate. Framework-ul generează automat bannere de utilizare și meniuri de ajutor bazate pe semnăturile metodelor definite. Organizează comenzile conexe în interiorul claselor pentru a crea namespace-uri izolate și injectează flag-urile definite de utilizator direct în logica metodelor. Dincolo de generarea interfeței, proiectul include capabilități pentru automatizarea task-urilor de build și execuția secvențială a proceselor de dezvoltare. Acest lucru permite orchestrarea unei serii definite de metode pentru a simula fluxuri de lucru standard de automatizare a build-ului.
Provides a framework for mapping command line arguments and options to functions with automatic documentation generation.
Acest proiect este o implementare de referință și un tutorial conceput pentru a demonstra fluxul de lucru end-to-end de construire, versionare și încărcare a distribuțiilor Python. Acesta servește ca template de proiect concret și exemplu pentru configurarea metadatelor și a artefactelor de build pentru indicii de pachete. Repository-ul ilustrează modul de împachetare a software-ului prin definirea metadatelor proiectului și a dependențelor în fișiere de configurare statice. Acoperă procesul de transformare a arborilor sursă în arhive versionate și distribuții binare specifice platformei, arătând specific cum se construiesc binary wheels și distribuții sursă. Proiectul acoperă arii de capabilități mai largi, inclusiv gestionarea dependențelor, crearea de interfețe în linie de comandă și automatizarea publicării lansărilor în repository-uri. De asemenea, demonstrează utilizarea mediilor virtuale izolate și integrarea extensiilor binare.
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.