Facilitates the process of creating complex command-line applications in Go.
You can see usage examples in the _examples/ folder in this repository.
Command line applications provide an easy to use interface for interacting with your application. Go
has great support for making these types of applications built into the standard library via the
flags package, but it doesn’t really facilitate the development of complex command line
This library is designed to help make more complex, safe console applications, in a consistent,
simple, and easy to use way. It’s designed to be lightweight, but powerful and configurable. Another
goal of this library is to make it so that commands are easily testable.
There are still some things I’d like to get done with this library, as is reflected by the pre-v1.0
state. Here’s a priority ordered todo list:
Mutually exclusive options.
More complete set of tests.
More helpful Input type.
Multiple environment variables per-option.
Feel free to open a pull request, or file an issue on Github. I always welcome
contributions as long as they’re for the benefit of all (potential) users of this project.
If you’re unsure about anything, feel free to ask about it in an issue before you get your heart set
on fixing it yourself.