Categorygithub.com/akb/go-cli
modulepackage
0.10.0
Repository: https://github.com/akb/go-cli.git
Documentation: pkg.go.dev

# 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.