# README
This is yet another library for structuring command-line interfaces. It aims to utilize the Go standard library as much as possible and provide a simpler API than other options.
Goals:
- As lightweight as possible; should leverage the Go standard library for everything it can
- Should enforce consistency. The framework should encourage developers to provide a good user experience, and conform to platform expectations.
- Simple and easy to use. Developers should be able to pick it up with little or no documentation.
Features:
- Easy to create nested subcommands
- Enforced contextual help for every command, subcommand, and flag
- Enforced use of Go contexts for traceability
- Patterns for environment and flag parsing
- Assertions for writing tests
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Main should be called from a CLI application's `main` function.
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
NoOpCommand is a command that does nothing.
No description provided by the author
No description provided by the author
No description provided by the author
# Interfaces
Action is an interface for commands that do things other than display information.
Command is an interface used to represent a CLI component.
HasFlags is an interface for commands that use flags.
HasSubcommands is an interface for commands that have subcommands.
System is passed to commands as an argument when the command is run.
# Type aliases
CLI is a map of names to Command implementations.