
The Best Go Libraries For Command Line - Standard CLI (49)
Discover the best Go libraries for Command Line in Standard CLI! Find the perfect tools to streamline your development and boost productivity. From wmenu to argparse, we've got you covered. Let the coding begin!
wmenu
Easy to use menu structure for cli applications that prompt users to make choices
argparse
Command line argument parser inspired by Python's argparse module
carapace
Command argument completion generator for spf13/cobra
climax
Alternative CLI with "human face", in spirit of Go command
cmd
Extends the standard `flag` package to support sub commands and more in idiomatic way
cmdr
A POSIX/GNU style, getopt-like command-line UI Go library
cobra
Commander for modern Go CLI interactions
command-chain
A go library for configure and run command chains - such as pipelining in unix shells
commandeer
Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags
complete
Write bash completions in Go + Go command bash completion
elvish
An expressive programming language and a versatile interactive shell
flagvar
A collection of flag argument types for Go's standard `flag` package
go-arg
Struct-based argument parsing in Go
go-flags
go command line option parser
go-getoptions
Go option parser inspired by the flexibility of Perlโs GetOpt::Long
kingpin
Command line and flag parser supporting sub commands (superseded by `kong`; see below)
liner
Go readline-like library for command-line interfaces
mcli
A minimal but very powerful cli library for Go
mkideal/cli
Feature-rich and easy to use command-line package based on golang struct tags
mow.cli
Go library for building CLI applications with sophisticated flag and argument parsing and validation
ops
Unikernel Builder/Orchestrator
pflag
Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
sflags
Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries
teris-io/cli
Simple and complete API for building command line interfaces in Go
version
Collects and displays CLI version information in multiple formats along with upgrade notice
acmd
Simple, useful, and opinionated CLI package in Go
argv
Go library to split command line string as arguments array using the bash syntax
carapace-bin
Multi-shell multi-command argument completer
carapace-spec
Define simple completions using a spec file
clรฎr
A Simple and Clear CLI library. Dependency free
Dnote
A simple command line notebook with multi-device sync
env
Tag-based environment configuration for structs
flaggy
A robust and idiomatic flags package with excellent subcommand support
gocmd
Go library for building command line applications
hashicorp/cli
Go library for implementing command-line interfaces
job
JOB, make your short-term command as a long-term job
strumt
Library to create prompt chain
subcmd
Another approach to parsing and running subcommands. Works alongside the standard `flag` package
urfave/cli
Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli)
wlog
Simple logging interface that supports cross-platform color and concurrency
boa
Declarative flags, env vars, validation, and config files from struct tags. Built on cobra
flash-flags
Ultra-fast, zero-dependency, POSIX-compliant flag parsing library that can be used as drop-in stdlib replacement with security hardening
getopt
An accurate Go `getopt`, validated against the GNU libc implementation
go-readline-ny
A customizable line-editing library with Emacs keybindings, Unicode support, completion, and syntax highlighting. Used in NYAGOS shell
goopt
A declarative, struct-tag based CLI framework for Go, with a broad feature set such as hierarchical commands/flags, i18n, shell completion, and validation
hiboot cli
cli application framework with auto configuration and dependency injection
orpheus
CLI framework with security hardening, plugin storage system, and production observability features
readline
Shell library with modern and easy to use UI features
structcli
Eliminate Cobra boilerplate: build powerful, feature-rich CLIs declaratively from Go structs