awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

16 dépôts

Awesome GitHub RepositoriesCLI Frameworks

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.

Awesome CLI Frameworks GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • vsouza/awesome-iosAvatar de vsouza

    vsouza/awesome-ios

    52,496Voir sur GitHub↗

    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.

    Swiftapple-swiftarkitawesome
    Voir sur GitHub↗52,496
  • spf13/cobraAvatar de spf13

    spf13/cobra

    44,107Voir sur GitHub↗

    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.

    Goclicli-appcobra
    Voir sur GitHub↗44,107
  • tj/commander.jsAvatar de tj

    tj/commander.js

    28,282Voir sur GitHub↗

    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.

    JavaScript
    Voir sur GitHub↗28,282
  • urfave/cliAvatar de urfave

    urfave/cli

    24,133Voir sur GitHub↗

    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.

    Goclicommand-linego
    Voir sur GitHub↗24,133
  • fastapi/typerAvatar de fastapi

    fastapi/typer

    19,632Voir sur GitHub↗

    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.

    Pythoncliclickpython
    Voir sur GitHub↗19,632
  • pallets/clickAvatar de pallets

    pallets/click

    17,560Voir sur GitHub↗

    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.

    Pythoncliclickpallets
    Voir sur GitHub↗17,560
  • clap-rs/clapAvatar de clap-rs

    clap-rs/clap

    16,528Voir sur GitHub↗

    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.

    Rustargument-parserargument-parsingcommand-line
    Voir sur GitHub↗16,528
  • effect-ts/coreAvatar de Effect-TS

    Effect-TS/core

    14,618Voir sur GitHub↗

    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.

    TypeScript
    Voir sur GitHub↗14,618
  • spectreconsole/spectre.consoleAvatar de spectreconsole

    spectreconsole/spectre.console

    11,210Voir sur GitHub↗

    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.

    C#ansi-colorscli-parserconsole
    Voir sur GitHub↗11,210
  • symfony/consoleAvatar de symfony

    symfony/Console

    9,813Voir sur GitHub↗

    Console est un framework PHP CLI utilisé pour construire des applications de terminal interactives. Il fonctionne comme une boîte à outils de développement d'interface en ligne de commande et un orchestrateur qui gère le cycle de vie des commandes terminales, traite les entrées utilisateur et produit des sorties textuelles formatées. Le projet inclut un détecteur de capacités de terminal pour identifier les modes de couleur du système et les dimensions de la fenêtre afin de créer des mises en page responsives. Il fournit un formateur de sortie console pour le rendu de texte stylisé, de blocs bordés et de barres de progression, ainsi qu'un système pour créer des interfaces terminales interactives. Le framework couvre l'orchestration des commandes via l'intégration de conteneurs de services et l'injection de dépendances. Il fournit également des outils pour la gestion des entrées utilisateur et une interface dédiée pour le test d'exécution des commandes afin de vérifier les flux de sortie et les résultats.

    Serves as a comprehensive toolkit for building structured PHP command-line applications.

    PHP
    Voir sur GitHub↗9,813
  • oclif/oclifAvatar de oclif

    oclif/oclif

    9,543Voir sur GitHub↗

    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.

    TypeScript
    Voir sur GitHub↗9,543
  • enquirer/enquirerAvatar de enquirer

    enquirer/enquirer

    7,946Voir sur GitHub↗

    Enquirer est une bibliothèque Node.js pour créer des interfaces en ligne de commande interactives afin de recueillir des entrées utilisateur structurées. Elle fournit un ensemble d'invites de terminal, y compris des menus, des formulaires et des champs de texte, pour collecter des données via l'autocomplétion, la sélection multiple et les confirmations booléennes. Le projet sert de framework personnalisable qui permet la création de types d'invites personnalisés via une classe de base et l'extension des fonctionnalités via une architecture de plugins. La bibliothèque couvre un large éventail de modèles d'interaction, tels que la capture de données numériques et sensibles, la validation des entrées utilisateur par rapport à des règles personnalisées, et l'exécution de séquences d'invites pour recueillir des retours complexes. Elle inclut également des capacités pour trier des listes, remplir des extraits de texte et gérer la collecte de formulaires dans le terminal.

    Offers an extensible framework with a base class for creating custom prompt types and plugin-based logic.

    JavaScript
    Voir sur GitHub↗7,946
  • microsoft/rushstackAvatar de microsoft

    microsoft/rushstack

    6,479Voir sur GitHub↗

    Rushstack est un ensemble d'outils complet pour gérer les monorepos TypeScript à grande échelle, fournissant un framework pour l'automatisation des pipelines de build, la coordination des dépendances et l'analyse statique. Il fonctionne comme un orchestrateur de build incrémental et un système de gestion conçu pour maintenir la cohérence et la performance à travers de multiples packages dans un espace de travail partagé. Le système se distingue par un modèle d'exécution basé sur des graphes acycliques dirigés et un incrémentalisme basé sur le hash de contenu, qui assure que seuls les projets affectés sont reconstruits. Il optimise davantage les workflows de développement via la mise en cache distante des artefacts de build avec des intégrations pour S3, Azure et HTTP, et utilise la gestion d'espace de travail basée sur des liens symboliques pour une visibilité immédiate des changements locaux. L'ensemble d'outils couvre un large éventail de capacités incluant des workflows de release automatisés, l'analyse de contrat API et l'application de la qualité de code en entreprise via des profils de linting standardisés. Il fournit également un support étendu pour le bundling d'actifs, la transpilation TypeScript et la génération de définitions de type à partir de schémas JSON et d'actifs statiques. Des domaines utilitaires supplémentaires incluent la gestion de la localisation, la génération d'avis de licence et l'orchestration d'interfaces de ligne de commande avec une sortie de processus synchronisée.

    Provides a structured framework for building command-line applications with type-safe parameter handling and syntax validation.

    TypeScript
    Voir sur GitHub↗6,479
  • rails/thorR

    rails/thor

    5,258Voir sur GitHub↗

    Thor est une boîte à outils Ruby pour créer des interfaces en ligne de commande et des exécuteurs de tâches. Il mappe les drapeaux et paramètres utilisateur vers des méthodes exécutables, fonctionnant à la fois comme un analyseur d'arguments en ligne de commande et un framework pour créer des outils de terminal auto-documentés. Le framework génère automatiquement des bannières d'utilisation et des menus d'aide basés sur les signatures de méthodes définies. Il organise les commandes associées au sein de classes pour créer des espaces de noms isolés et injecte les drapeaux définis par l'utilisateur directement dans la logique des méthodes. Au-delà de la génération d'interface, le projet inclut des capacités pour l'automatisation des tâches de build et l'exécution séquentielle des processus de développement. Cela permet l'orchestration d'une série définie de méthodes pour simuler des flux de travail d'automatisation de build standard.

    Provides a framework for mapping command line arguments and options to functions with automatic documentation generation.

    Ruby
    Voir sur GitHub↗5,258
  • pypa/sampleprojectAvatar de pypa

    pypa/sampleproject

    5,245Voir sur GitHub↗

    Ce projet est une implémentation de référence et un tutoriel conçu pour démontrer le flux de travail de bout en bout de la construction, du versionnage et du téléchargement de distributions Python. Il sert de modèle de projet concret et d'exemple pour configurer les métadonnées et les artefacts de build pour les index de paquets. Le dépôt illustre comment empaqueter un logiciel en définissant les métadonnées du projet et les dépendances dans des fichiers de configuration statiques. Il couvre le processus de transformation des arbres sources en archives versionnées et en distributions binaires spécifiques à la plateforme, montrant spécifiquement comment construire des wheels binaires et des distributions sources. Le projet couvre des domaines de capacités plus larges, notamment la gestion des dépendances, la création d'interfaces en ligne de commande et l'automatisation de la publication des versions vers des dépôts. Il démontre également l'utilisation d'environnements virtuels isolés et l'intégration d'extensions binaires.

    Demonstrates how to create a terminal-based interface that maps user arguments to Python functions.

    Python
    Voir sur GitHub↗5,245
  • cacjs/cacAvatar de cacjs

    cacjs/cac

    2,923Voir sur GitHub↗

    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.

    TypeScriptclicommand-linecommander
    Voir sur GitHub↗2,923
  1. Home
  2. Development Tools & Productivity
  3. CLI Frameworks