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.
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.
A Commander for modern Go CLI interactions
A declarative, simple, fast, and fun package for building command line tools in Go
Powerful scripting language & versatile interactive shell
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.