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.
alecthomas/kong 的主要功能包括:CLI and Argument Parsing, Command-Line Argument Parsers, CLI Struct Mapping, Struct Mapping, Nested Command Structures, Declarative Argument Definitions, Command Execution Logic, Command Line Interface Frameworks。
alecthomas/kong 的开源替代品包括: yargs/yargs — yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings… kelseyhightower/envconfig — envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into… cliutils/cli11 — CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell… spectreconsole/spectre.console — Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It… urfave/cli — This is a framework for building structured terminal applications in Go. It provides the core components necessary to… fastapi/typer — This project is a Python framework for building command-line interfaces by converting standard functions into…
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
envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any
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
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