19 Repos
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 ist ein Git-Hook-Manager und Workflow-Automatisierer, der einen konfigurationsgesteuerten Ansatz verwendet, um Skripte zu verwalten, die durch Versionskontrollereignisse ausgelöst werden. Es fungiert als paralleler Task-Runner, der mehrere Skripte gleichzeitig ausführt, um die für Pre-Commit- oder Pre-Push-Prüfungen erforderliche Zeit zu reduzieren. Das Projekt bietet einen containerisierten Hook-Runner, um konsistente Abhängigkeiten und Toolsets auf verschiedenen Entwicklerrechnern sicherzustellen. Es unterstützt zudem die Monorepo-Orchestrierung durch die Ausführung von Skripten in spezifischen Unterverzeichnissen und die Verwaltung komplexer Projektstrukturen. Das System umfasst Funktionen für musterbasiertes Dateifiltern, um Qualitätssicherungsaufgaben nur auf geänderte Assets anzuwenden. Es unterstützt zudem die manuelle Aufgabenausführung, das Tagging und Gruppieren von Befehlen sowie lokale Konfigurations-Overrides für umgebungsspezifische Einstellungen.
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 ist ein Framework zur Entwicklung von Command Line Interfaces (CLI) und ein Argument-Parser für JVM-basierte Anwendungen. Es bildet Befehlszeilenoptionen und positionale Parameter auf stark typisierte Java-Methoden und -Felder unter Verwendung eines deklarativen, annotationsbasierten Modells ab. Das Framework bietet spezifische Unterstützung für die Native-Image-Kompilierung und erstellt die für den Bau eigenständiger Binärdateien mit reduziertem Start-Overhead erforderlichen Konfigurationsdateien für Reflection und Ressourcen. Es zeichnet sich zudem durch ein dediziertes System zur Generierung von Shell-Autovervollständigungsskripten und einen ANSI-Terminal-Stylizer zur Anwendung von Farben und Stilen auf die Ausgabe aus. Das Projekt deckt ein breites Spektrum an Terminal-Anwendungsfunktionen ab, einschließlich hierarchischem Befehls-Dispatch für verschachtelte Unterbefehle, automatisierter Generierung von Nutzungshilfe und Man-Pages sowie interaktiver Shell-Implementierung mit Benutzer-Prompts. Es enthält zudem Infrastruktur für Dependency Injection durch benutzerdefinierte Factories, pluginbasierte Typkonvertierung und die Verarbeitung externer Argumentdateien.
Creates hierarchical command structures that allow users to navigate complex toolsets through sub-levels.
Diese Bibliothek ist ein .NET-Kommandozeilen-Parser für C# und F#, der POSIX-getopt-Konventionen implementiert, um Shell-Argumente in stark typisierte Objekte zu mappen. Sie bietet ein Framework für die Erstellung von Konsolenanwendungen, die Unix-artige Flags und Optionen verarbeiten. Das Projekt verfügt über ein Routing-System, das die Programmausführung basierend auf aktionsorientierten Verben steuert und Sub-Commands sowie Standardaktionen unterstützt. Es enthält einen automatischen Hilfe-Generator, der lokalisierte Nutzungshinweise und formatierte Hilfebildschirme basierend auf den definierten Befehlsoptionen erstellt. Das Toolset deckt das Argument-Parsing mit stark typisiertem Mapping, Eingabevalidierung für sich gegenseitig ausschließende oder erforderliche Optionen sowie die Möglichkeit ab, befüllte Options-Objekte zurück in Kommandozeilen-Strings zu serialisieren.
Organizes multiple distinct commands by assigning specific option classes to unique verb identifiers.
CLI11 ist eine Header-only C++-Bibliothek zum Parsen von Befehlszeilenargumenten und zur Verwaltung von Konfigurationsdateien. Sie bildet Shell-Eingaben auf typisierte Variablen ab und unterstützt die Erstellung komplexer Befehlshierarchien. Die Bibliothek zeichnet sich durch die Unterstützung verschachtelter Unterbefehle mit unendlicher Tiefe und Präfix-Matching aus. Sie integriert Konfigurationsmanagement, indem sie das Laden von Anwendungseinstellungen aus TOML- oder INI-Dateien ermöglicht, mit der Option, auf Umgebungsvariablen zurückzugreifen. Das Projekt bietet ein umfassendes Set an Tools für das Argument-Parsing, einschließlich Flags und positioneller Argumente, sowie ein Validierungs-Framework zur Durchsetzung obligatorischer Optionen und gegenseitiger Abhängigkeiten. Es enthält zudem eine automatisierte Generierung von Hilfedokumentationen mit anpassbarer Formatierung und ein Callback-System, um benutzerdefinierte Logik während spezifischer Parsing-Phasen auszulösen. Diese abhängigkeitsfreie Bibliothek ist für C++11 und neuere Versionen konzipiert.
Supports the organization of subcommands into a nested hierarchy allowing for infinite depth.
RON ist ein textbasiertes Datenserialisierungsformat und eine Bibliothek, die der Rust-Syntax nachempfunden ist. Es dient als stark typisierte Alternative zu Formaten wie JSON und TOML, die speziell für die Darstellung komplexer Datenstrukturen und Konfigurationsdateien in Rust-Projekten optimiert ist. Das Format bewahrt interne Sprachidiome durch die Unterstützung expliziter Struct-Namen, Enums und Typsuffixe. Es zeichnet sich durch die Verwendung spezieller numerischer Basen und die Möglichkeit aus, Inline-Kommentare in serialisierten Daten einzubetten. Die Bibliothek bietet Funktionen für die Serialisierung und Deserialisierung verschachtelter Typen, einschließlich Maps, Listen und Tupeln. Sie enthält Tools für konfigurierbares Pretty-Printing, quellcode-basierte Fehlerberichte bei Syntaxfehlern und die Möglichkeit, serialisierte Inhalte direkt an IO-Writer zu streamen.
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.