acmd
kingpin
Our great sponsors
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.
acmd
-
Github Actions and Go
For average repo it takes seconds so I don't see a good reason to optimise it (example https://github.com/cristalhq/acmd/actions/runs/4477453520/jobs/7869000045). However, `go vet` can be done after `go build/test`.
kingpin
-
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?
What are some alternatives?
flaggy - Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies.
cobra - A Commander for modern Go CLI interactions
go-flags - go command line option parser
urfave/cli - A simple, fast, and fun package for building command line apps in Go
complete - bash completion written in go + bash completion for go command
kong - Kong is a command-line parser for Go
mow.cli - A versatile library for building CLI applications in Go
pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
The Platinum Searcher - A code search tool similar to ack and the_silver_searcher(ag). It supports multi platforms and multi encodings.
cli - CLI - A package for building command line app with go