CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
CLI11 solves the problem of parsing command line arguments in C++ projects by offering a header-only library with no dependencies beyond the C++11 standard. The tool uses a minimal, intuitive syntax that allows developers to define options, subcommands, validators, and callbacks through a fluent API. It supports configuration files, option groups, custom validators, and Unicode paths, making it suitable for both simple scripts and complex command line applications.
Developers should choose CLI11 if they need a lightweight, dependency-free parser for modern C++ projects. The tool works well for projects ranging from small utilities to sophisticated frameworks, and its header-only design makes integration straightforward. The single-file form option further simplifies inclusion in projects that prefer minimal external dependencies. The library includes built-in validators for common use cases and allows custom validators for specialized requirements.
The project maintains active development with continuous testing across multiple platforms. Documentation is comprehensive, including a user-friendly README introduction, an in-depth tutorial book, and API documentation generated by Doxygen. The changelog and GitHub Releases provide detailed information about current and past releases, allowing users to track improvements and changes over time.