urfave/cli is a declarative, simple, fast, and fun package for building command line tools in Go featuring:
- commands and subcommands with alias and prefix match support
- flexible and permissive help system
- dynamic shell completion for
bash
,zsh
,fish
, andpowershell
- no dependencies except Go standard library
- input flags for simple types, slices of simple types, time, duration, and others
- compound short flag support (
-a
-b
-c
can be shortened to-abc
) - documentation generation in
man
and Markdown (supported via theurfave/cli-docs
module) - input lookup from:
- environment variables
- plain text files
- structured file formats (supported via the
urfave/cli-altsrc
module)
See the hosted documentation website at https://cli.urfave.org. Contents of
this website are built from the ./docs
directory.
Check the Q&A discussions. If you don't find answer to your question, create a new discussion.
If you found a bug or have a feature request, create a new issue.
Please keep in mind that this project is run by unpaid volunteers.
See LICENSE
.