A simple, clear, and dependency-free CLI library for Go with struct-based flags and nested subcommands.
Clir is a Go library for building command-line interface applications with a focus on simplicity and clarity. It provides an intuitive API for creating CLI tools with features like nested subcommands, struct-based flags, and automatic help generation while maintaining zero external dependencies.
Go developers who need to build command-line tools and want a simple, dependency-free library with modern CLI features.
Developers choose Clir for its clean API, dependency-free design, and balance of simplicity with essential features like struct-based flags and nested subcommands that many minimal CLI libraries lack.
A Simple and Clear CLI library. Dependency free.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses only Go's standard library, eliminating external dependencies and reducing project bloat, as emphasized in the README.
Enables type-safe configuration by defining flags in Go structs, demonstrated in the example code for cleaner and more maintainable setups.
Supports creating complex command hierarchies with parent-child relationships, allowing for advanced CLI structures without external libraries.
Automatically generates help text for commands and flags, reducing manual documentation effort and ensuring consistency.
Lacks built-in support for common CLI enhancements like colored output, interactive prompts, or shell completion, which are available in heavier libraries.
Being dependency-free means fewer community plugins or extensions, so you may need to implement custom features like validation or logging from scratch.
For very complex CLI applications with advanced parsing or validation needs, the simplicity might require more manual coding compared to feature-rich alternatives.