Overview of urfave/cli features
mainurfave/cli is a declarative Go package for building command line interfaces. It is designed to be simple, fast, and has no dependencies outside of the Go standard library.
Key features include:
- Command Hierarchy: Support for commands and subcommands with alias and prefix matching.
- Help System: A flexible and permissive help system.
- Shell Completion: Dynamic completion for
bash,zsh,fish, andpowershell. - Flag Support: Input flags for simple types, slices,
time.Time,time.Duration, and more. It also supports compound short flags (e.g.,-abcinstead of-a -b -c). - Input Sources: Supports looking up values from environment variables, plain text files, and structured file formats (via the
urfave/cli-altsrcmodule). - Documentation: Capability to generate
manpages and Markdown documentation (via theurfave/cli-docsmodule).