An opinionated framework for building golang cli tools on top of mitchellh/cli
.
While mitchellh/cli
gives quite a bit of code to allow folks to build cli tools on top of it, it does not provide enough structure to allow folks to get started quickly. This project aims to fill that void by implementing a skeleton based upon those provided by the hashicorp suite of tools.
See Command Line Interface Guidelines for further reading on how to structure command line tools.
For examples on how to perform various tasks, see the following examples:
global
: Shows how to implement "global" flags.hello-world
: The hello-world example.human-readable-logging
: The hello-world example with nicer log output.nil
: An example cli tool that does nothing. Useful for copying thenil.go
command as a command template for your own cli tools.zerolog-logging
: The hello-world example with zerolog logger support.