A single-header C++11/14/17 library for expressive command line argument parsing with documentation generation.
clipp is a command line argument parsing library for modern C++ that provides a declarative, fluent API for defining complex interfaces. It solves the problem of verbose and error-prone argument handling by allowing developers to specify options, commands, and values in a readable, composable way, with automatic documentation generation.
C++ developers building command line tools who need robust, expressive argument parsing without external dependencies. It's especially suited for projects requiring complex CLI structures, such as multi-command applications or tools with nested options.
Developers choose clipp for its single-header simplicity, powerful expressiveness, and built-in documentation generation, which together reduce boilerplate and improve maintainability compared to traditional parsing approaches.
easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation
Entire library is contained in one header file, making integration trivial without build system dependencies or external linking.
Uses a fluent, composable DSL to define complex interfaces with groups, alternatives, and sequences, significantly reducing boilerplate code compared to traditional parsers.
Automatically generates usage lines, man pages, and help text from the interface definition, ensuring consistency and reducing manual documentation effort.
Provides detailed parsing results and event handlers for missing, blocked, or conflicted arguments, enabling robust error reporting and user feedback.
As a single-header, template-heavy library, it can significantly increase compilation times and code bloat compared to pre-compiled or lighter-weight alternatives.
Focuses solely on command line argument parsing without integrated support for configuration files, environment variables, or other common input sources.
Has fewer third-party integrations, community contributions, and learning resources compared to more established libraries like Boost.Program_options or argparse for Python.
:computer: C++ Functional Terminal User Interface. :heart:
Lightweight C++ command line option parser
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
ImTui: Immediate Mode Text-based User Interface C++ Library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.