A Simple and Clear CLI library. Dependency free.
- Nested Subcommands
- Uses the standard library
flag
package - Struct based flags
- Positional Args
- Auto-generated help
- Custom banners
- Hidden Subcommands
- Default Subcommand
- Dependency free
package main
import (
"fmt"
"github.com/leaanthony/clir"
)
func main() {
// Create new cli
cli := clir.NewCli("Flags", "A simple example", "v0.0.1")
// Name
name := "Anonymous"
cli.StringFlag("name", "Your name", &name)
// Define action for the command
cli.Action(func() error {
fmt.Printf("Hello %s!\n", name)
return nil
})
if err := cli.Run(); err != nil {
fmt.Printf("Error encountered: %v\n", err)
}
}
$ flags --help
Flags v0.0.1 - A simple example
Flags:
-help
Get help on the 'flags' command.
-name string
Your name
The main documentation may be found here.