Standard CLI

Libraries for building standard or basic Command Line applications.

cobra38.8K

Commander for modern Go CLI interactions.

urfave/cli22.6K

Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).

elvish5.8K

An expressive programming language and a versatile interactive shell.

survey4.1K

Build interactive and accessible prompts with full support for windows and posix terminals.

kingpin3.5K

Command line and flag parser supporting sub commands (superseded by kong; see below).

Dnote2.8K

A simple command line notebook with multi-device sync.

go-flags2.6K

go command line option parser.

pflag2.5K

Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.

go-arg2.1K

Struct-based argument parsing in Go.

ops1.3K

Unikernel Builder/Orchestrator.

liner1.1K

Go readline-like library for command-line interfaces.

carapace-bin1K

Multi-shell multi-command argument completer.

complete931

Write bash completions in Go + Go command bash completion.

mow.cli870

Go library for building CLI applications with sophisticated flag and argument parsing and validation.

flaggy860

A robust and idiomatic flags package with excellent subcommand support.

mkideal/cli732

Feature-rich and easy to use command-line package based on golang struct tags.

argparse620

Command line argument parser inspired by Python's argparse module.

carapace482

Command argument completion generator for spf13/cobra.

wmenu220

Easy to use menu structure for cli applications that prompt users to make choices.

climax217

Alternative CLI with "human face", in spirit of Go command.

clîr184

A Simple and Clear CLI library. Dependency free.

hiboot cli180

cli application framework with auto configuration and dependency injection.

commandeer175

Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.

sflags157

Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries.

job147

JOB, make your short-term command as a long-term job.

cmdr136

A POSIX/GNU style, getopt-like command-line UI Go library.

teris-io/cli130

Simple and complete API for building command line interfaces in Go.

ukautz/clif129

Small command line interface framework.

acmd118

Simple, useful, and opinionated CLI package in Go.

env114

Tag-based environment configuration for structs.

version103

Collects and displays CLI version information in multiple formats along with upgrade notice.

gocmd66

Go library for building command line applications.

wlog66

Simple logging interface that supports cross-platform color and concurrency.

command-chain64

A go library for configure and run command chains - such as pipelining in unix shells.

strumt62

Library to create prompt chain.

go-getoptions57

Go option parser inspired by the flexibility of Perl’s GetOpt::Long.

flagvar45

A collection of flag argument types for Go's standard flag package.

argv41

Go library to split command line string as arguments array using the bash syntax.

cmd41

Extends the standard flag package to support sub commands and more in idiomatic way.

mcli35

A minimal but very powerful cli library for Go.

sand27

Simple API for creating interpreters and so much more.

carapace-spec20

Define simple completions using a spec file.

ts20

Timestamp convert & compare tool.

hashicorp/cli17

Go library for implementing command-line interfaces.

subcmd8

Another approach to parsing and running subcommands. Works alongside the standard flag package.

getopt4

An accurate Go getopt, validated against the GNU libc implementation.