19 个仓库
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 是一个 Git 钩子(hook)管理器和工作流自动化工具,使用配置驱动的方法来管理由版本控制事件触发的脚本。它充当并行任务运行器,同时执行多个脚本,以减少预提交(pre-commit)或预推送(pre-push)检查所需的时间。 该项目提供了一个容器化的钩子运行器,以确保不同开发者机器之间依赖项和工具集的一致性。它还支持通过在特定子目录中执行脚本和管理复杂的项目结构来进行 Monorepo 编排。 该系统包括基于模式的文件过滤功能,仅对修改后的资产运行质量保证任务。它还支持手动任务执行、命令标记和分组,以及针对特定环境设置的本地配置覆盖。
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 是一个用于 JVM 应用的命令行接口(CLI)开发框架和参数解析器。它使用声明式的注解模型,将命令行选项和位置参数映射到强类型的 Java 方法和字段。 该框架为原生镜像(Native Image)编译提供了特定支持,生成构建具有更低启动开销的独立二进制文件所需的反射和资源配置文件。它还以专门的 shell 自动补全脚本生成系统和用于为输出应用颜色与样式的 ANSI 终端美化器而著称。 该项目涵盖了广泛的终端应用功能,包括用于嵌套子命令的层级命令分发、自动生成使用帮助和 man 手册页,以及带有用户提示的交互式 shell 实现。它还包括通过自定义工厂进行依赖注入、基于插件的类型转换以及处理外部参数文件的基础设施。
Creates hierarchical command structures that allow users to navigate complex toolsets through sub-levels.
该库是一个用于 C# 和 F# 的 .NET 命令行解析器,实现了 POSIX getopt 约定,将 Shell 参数映射为强类型对象。它为构建处理 Unix 风格标志和选项的控制台应用程序提供了一个框架。 该项目具有一个路由系统,根据面向动作的动词引导程序执行,支持子命令和默认动作。它包括一个自动帮助生成器,根据定义的命令选项生成本地化的使用说明和格式化的帮助屏幕。 该工具集涵盖了带有强类型映射的参数解析、互斥或必需选项的输入验证,以及将填充后的选项对象序列化回命令行字符串的能力。
Organizes multiple distinct commands by assigning specific option classes to unique verb identifiers.
CLI11 是一个仅包含头文件的 C++ 库,用于解析命令行参数和管理配置文件。它将 shell 输入映射到类型化变量,并支持创建复杂的命令层级。 该库的特色在于支持无限深度的嵌套子命令和前缀匹配。它通过允许从 TOML 或 INI 文件加载应用程序设置来集成配置管理,并支持回退到环境变量。 该项目提供了一套完整的参数解析工具,包括标志和位置参数,以及用于强制执行强制选项和相互依赖关系的验证框架。它还包括带有可自定义格式的自动帮助文档生成功能,以及在特定解析阶段触发自定义逻辑的回调系统。 该库无依赖,专为 C++11 及更高版本设计。
Supports the organization of subcommands into a nested hierarchy allowing for infinite depth.
RON 是一种基于文本的数据序列化格式和库,旨在模仿 Rust 语法。它作为 JSON 和 TOML 等格式的强类型替代方案,专门针对 Rust 项目中复杂数据结构和配置文件的表示进行了优化。 该格式通过支持显式的结构体名称、枚举和类型后缀来保留内部语言习惯。它通过使用专门的数字基数以及在序列化数据中包含内联注释的能力而脱颖而出。 该库提供了嵌套类型(包括映射、列表和元组)的序列化和反序列化功能。它包括用于可配置的格式化输出、针对语法错误的源映射错误报告,以及将序列化内容直接流式传输到 IO 写入器的能力。
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.