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 registration.
The framework covers a broad set of capabilities including the management of nested command hierarchies, automated context-sensitive help generation, and input validation. It also includes support for mutually exclusive flags, negatable boolean options, and lifecycle hook interception.