kingpin
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser (by alecthomas)
climate
"CLI Mate" autogenerates CLIs from structs / functions (nested subcommands, global / local flags, help generation, typo suggestions, shell completion etc.) (by avamsi)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kingpin
Posts with mentions or reviews of kingpin.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-07.
-
climate "CLI Mate": a CLI library that autogenerates CLIs from structs / functions with support for nested subcommands, global / local flags, help generation from godocs, typo suggestions, shell completion and more
Args could also have detailed help (like flags) -- usage line is already auto-generated from arg(s) name and type but that's about it. This is something Cobra doesn't do for whatever reason (but https://github.com/alecthomas/kingpin does and I like it)
- What is the best way to handle flags?
climate
Posts with mentions or reviews of climate.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-07.
- Show HN: CLI Mate: autogenerate CLIs from Golang structs / functions
- climate "CLI Mate": a Golang CLI library that auto-generates CLIs from structs / functions with support for nested subcommands, global / local flags, help generation from godocs, typo suggestions, shell completion and more
-
climate "CLI Mate": a CLI library that autogenerates CLIs from structs / functions with support for nested subcommands, global / local flags, help generation from godocs, typo suggestions, shell completion and more
Thanks, do take it for a spin and file any issues at https://github.com/avamsi/climate/issues!
- climate: a Golang CLI library inspired by python-fire and powered by Cobra -- autogenerates CLIs from structs / functions with support for nested subcommands, global/local flags, help generation, typo suggestions, shell completion and more
-
I built my first CLI tool
I see you're using Cobra -- https://github.com/avamsi/clifr offers most of the goodness of Cobra (Clifr uses Cobra under the hood) with a much simpler "API" IMO (you just write a struct and Clifr handles the rest). Feel free to give it a try and file issues if there's anything you see missing from Cobra etc.
- Clifr: python-fire inspired library to simplify creating CLIs in Go, built on top of Cobra
What are some alternatives?
When comparing kingpin and climate you can also consider the following projects:
cobra - A Commander for modern Go CLI interactions
kong - Kong is a command-line parser for Go
go-flags - go command line option parser
tfsort - A CLI utility to sort Terraform variables and outputs
urfave/cli - A simple, fast, and fun package for building command line apps in Go
hcl - HCL is the HashiCorp configuration language.
pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
opts - A Go (golang) package for building frictionless command-line interfaces
cli - CLI - A package for building command line app with go
go-boilerplate - An easy to use, extensible boilerplate for Go applications