cxxopts is a lightweight, header-only C++11 library for parsing command line options in GNU style. It provides a fluent API to define options with short and long names, positional arguments, default/implicit values, and supports boolean, integer, floating-point, string, vector, optional, and filesystem types. The parser handles GNU-style syntax (e.g., --long, -a, --long=value, combined short options) and produces a ParseResult object for querying parsed values, unmatched arguments, and iteration. The library is self-contained in a single header file (include/cxxopts.hpp) and requires no external dependencies beyond the C++ standard library, with optional Unicode support via ICU. The code demonstrates careful attention to integer overflow detection, locale-independent parsing, and robust help text wrapping. It is widely used in the C++ ecosystem, with active maintenance, fuzzing, and comprehensive test coverage.
Comonicon is a Julia CLI generator that transforms function definitions and docstrings into full-featured command-line interfaces with zero duplication, zero overhead, and zero dependencies after code generation. The system follows a classic compiler pipeline: Julia source code is parsed by the frontend (@cast/@main macros) into an AST representation, which is then walked by the codegen module to produce executable Julia Expr, and finally processed by the builder module for installation, system image generation, and distribution. Key features include automatic CLI documentation generation from docstrings, shell completion generation (bash/zsh), and flexible build options via PackageCompiler. The architecture shows clear separation of concerns across frontend, AST, codegen, and builder modules, with thoughtful use of Julia's macro system and type features.