19 repository-uri
Hierarchical organization of CLI commands into sub-commands and groups.
Distinct from CLI Command Frameworks: Distinct from CLI Command Frameworks: focuses on the hierarchical nesting of commands rather than the base framework definition.
Explore 19 awesome GitHub repositories matching development tools & productivity · Nested Command Structures. Refine with filters or upvote what's useful.
Python Fire is a library that automatically generates command line interfaces from any Python object, function, or class. It removes the need for manual argument parsing by mapping Python dictionaries, lists, and classes directly to terminal commands. The tool converts Python docstrings into formatted terminal help screens and produces shell scripts to enable tab-completion for available commands. It can wrap existing libraries or external modules to expose their functionality via the terminal without requiring modifications to the original source code. The library supports hierarchical comm
Nest commands in Fire using classes or objects with member objects to create a structured, multi-level command hierarchy.
Python is a high-level, interpreted programming language designed for readability and versatility. It operates via a bytecode-based virtual machine and manages memory automatically through reference-counting garbage collection. The language supports multiple programming paradigms, including object-oriented, imperative, and functional styles, and provides a comprehensive standard library for system operations, networking, and data handling. The language is distinguished by its dynamic nature, allowing for runtime object introspection and metaclass-driven class creation. It utilizes protocol-ba
Groups related commands into hierarchical sub-commands to manage complex tool functionality.
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 recursive hierarchy for organizing commands and sub-commands with associated metadata.
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
Organizes related functions into a single command-line application with nested subcommands and automatic help generation.
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
Combines multiple independent command line utilities into a single hierarchical interface.
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
Manages nested command structures where individual subcommands maintain their own independent arguments, help documentation, and execution logic.
yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu
Enables the creation of nested sub-commands with dedicated handlers and options to organize complex CLI structures.
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
Organizes application functionality into a hierarchical structure of nested commands that automatically generate documentation and handle execution flow.
Lefthook este un manager de Git hooks și un automatizator de flux de lucru care utilizează o abordare bazată pe configurare pentru a gestiona scripturile declanșate de evenimentele de control al versiunilor. Funcționează ca un runner de sarcini în paralel, executând mai multe scripturi simultan pentru a reduce timpul necesar pentru verificările pre-commit sau pre-push. Proiectul oferă un runner de hook-uri containerizat pentru a asigura dependențe și seturi de instrumente consistente pe diferite mașini de dezvoltare. De asemenea, suportă orchestrarea monorepo-urilor prin executarea scripturilor în subdirectoare specifice și gestionarea structurilor complexe de proiect. Sistemul include capabilități pentru filtrarea fișierelor bazată pe tipare, pentru a rula sarcini de asigurare a calității doar pe activele modificate. De asemenea, suportă executarea manuală a sarcinilor, etichetarea și gruparea comenzilor, precum și suprascrieri de configurare locală pentru setări specifice mediului.
Organizes related sets of commands into tags to execute multiple associated tasks as a single unit.
which-key.nvim is a keybinding discovery menu and command palette for Neovim. It serves as a configuration tool to organize complex keymap hierarchies and a visual utility for browsing editor marks, registers, and spelling suggestions through a compact popup interface. The plugin differentiates itself by organizing shortcuts into nested groups with custom labels and icons, reducing the need to memorize long key sequences. It includes built-in help presets for native editor operators and motions, and supports dynamic key mapping where descriptions are evaluated at runtime. The system covers w
Organizes keybindings into a hierarchical tree structure where each node represents a prefix for subsequent commands.
RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search directly into the in-memory data store. It operates as an in-process search engine, extending the core key-value store with capabilities for indexing hash and JSON documents, enabling fast field-level lookups beyond primary key access. The module provides a full-text search engine built on inverted indexes, supporting stemming, fuzzy matching, and relevance scoring via tf-idf. It also includes a vector similarity search engine using a Hierarchical Navigable Small World graph
Lists all registered commands grouped by category for discoverability.
yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c
Constructs hierarchical YAML structures by nesting sequence and map manipulators.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Lists all registered Spark commands grouped by category when invoked without arguments.
picocli este un framework de dezvoltare a interfeței în linie de comandă (CLI) și un parser de argumente pentru aplicații bazate pe JVM. Acesta mapează opțiunile liniei de comandă și parametrii poziționali către metode și câmpuri Java puternic tipizate, folosind un model declarativ bazat pe adnotări. Framework-ul oferă suport specific pentru compilarea de imagini native, producând fișierele de configurare pentru reflexie și resurse necesare pentru a construi binare standalone cu overhead de pornire redus. Se distinge, de asemenea, printr-un sistem dedicat pentru generarea de scripturi de autocompletare shell și un stilizator de terminal ANSI pentru aplicarea culorilor și stilurilor output-ului. Proiectul acoperă o gamă largă de capabilități pentru aplicații de terminal, inclusiv dispatch-ul ierarhic al comenzilor pentru subcomenzi imbricate, generarea automată a ajutorului de utilizare și a paginilor man, precum și implementarea unui shell interactiv cu prompt-uri pentru utilizator. Include, de asemenea, infrastructură pentru injecția de dependențe prin fabrici personalizate, conversia de tipuri bazată pe plugin-uri și procesarea fișierelor de argumente externe.
Creates hierarchical command structures that allow users to navigate complex toolsets through sub-levels.
Această bibliotecă este un parser de linie de comandă .NET pentru C# și F# care implementează convențiile POSIX getopt pentru a mapa argumentele shell-ului în obiecte puternic tipizate. Oferă un framework pentru construirea de aplicații consolă care procesează flag-uri și opțiuni în stil Unix. Proiectul dispune de un sistem de rutare care direcționează execuția programului pe baza unor verbe orientate pe acțiune, suportând sub-comenzi și acțiuni implicite. Include un generator automat de ajutor care produce instrucțiuni de utilizare localizate și ecrane de ajutor formatate pe baza opțiunilor de comandă definite. Toolkit-ul acoperă parsarea argumentelor cu mapare puternic tipizată, validarea input-ului pentru opțiuni mutual exclusive sau obligatorii și capacitatea de a serializa obiectele de opțiuni populate înapoi în șiruri de linie de comandă.
Organizes multiple distinct commands by assigning specific option classes to unique verb identifiers.
CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell input to typed variables and supports the creation of complex command hierarchies. The library is distinguished by its support for nested subcommands with infinite depth and prefix matching. It integrates configuration management by allowing application settings to be loaded from TOML or INI files, with the ability to fall back to environment variables. The project provides a comprehensive set of tools for argument parsing, including flags and positional arguments, alongside
Supports the organization of subcommands into a nested hierarchy allowing for infinite depth.
RON este un format de serializare a datelor bazat pe text și o bibliotecă concepută pentru a oglindi sintaxa Rust. Acesta servește ca o alternativă puternic tipizată la formate precum JSON și TOML, fiind optimizat special pentru reprezentarea structurilor de date complexe și a fișierelor de configurare în proiectele Rust. Formatul păstrează idiomurile interne ale limbajului prin suportul pentru nume explicite de structuri, enum-uri și sufixe de tip. Se distinge prin utilizarea bazelor numerice specializate și capacitatea de a include comentarii inline în datele serializate. Biblioteca oferă capabilități atât pentru serializarea, cât și pentru deserializarea tipurilor imbricate, inclusiv map-uri, liste și tupluri. Include instrumente pentru pretty-printing configurabil, raportarea erorilor de sintaxă cu mapare la sursă și capacitatea de a transmite conținutul serializat direct către IO writers.
Uses a recursive descent parsing strategy to process nested data structures like maps and lists.
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
Supports executing sequences of commands within curly braces to override order of operations or pass computed values.
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg
Supports the organization of large-scale applications into nested command structures and sub-commands.