Awesome Go

Command Line

100+ libraries in this category

survey

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

4,088Command LineLibraries for building standard or basic Command Line applications.
mitchellh/cli

Go library for implementing command-line interfaces.

1,730Command LineLibraries for building standard or basic Command Line applications.
box-cli-maker

Make Highly Customized Boxes for your CLI.

531Command LineLibraries for building Console Applications and Console User Interfaces.
chalk

Intuitive package for prettifying terminal/console output.

449Command LineLibraries for building Console Applications and Console User Interfaces.
flag

Simple but powerful command line option parsing library for Go supporting subcommand.

131Command LineLibraries for building standard or basic Command Line applications.
ukautz/clif

Small command line interface framework.

129Command LineLibraries for building standard or basic Command Line applications.
cfmt

Contextual fmt inspired by bootstrap color classes.

103Command LineLibraries for building Console Applications and Console User Interfaces.
tabular

Print ASCII tables from command line utilities without the need to pass large sets of data to the API.

75Command LineLibraries for building Console Applications and Console User Interfaces.
cfmt

Simple and convenient formatted stylized output fully compatible with fmt library.

66Command LineLibraries for building Console Applications and Console User Interfaces.
go-commander

Go library to simplify CLI workflow.

35Command LineLibraries for building standard or basic Command Line applications.
go-andotp

A CLI program to encrypt/decrypt [andOTP](https://github.com/andOTP/andOTP) files. Can be used as a library as well.

30Command LineLibraries for building standard or basic Command Line applications.
colourize

Go library for ANSI colour text in terminals.

27Command LineLibraries for building Console Applications and Console User Interfaces.
sand

Simple API for creating interpreters and so much more.

26Command LineLibraries for building standard or basic Command Line applications.
ts

Timestamp convert & compare tool.

20Command LineLibraries for building standard or basic Command Line applications.
asciigraph

Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies

Command LineAdvanced Console UIs
aurora

ANSI terminal colors that support fmt.Printf/Sprintf

Command LineAdvanced Console UIs
bubble-table

An interactive table component for bubbletea

Command LineAdvanced Console UIs
bubbles

TUI components for bubbletea

Command LineAdvanced Console UIs
bubbletea

Go framework to build terminal apps, based on The Elm Architecture

Command LineAdvanced Console UIs
crab-config-files-templating

Dynamic configuration file templating tool for kubernetes manifest or general configuration files

Command LineAdvanced Console UIs
ctc

The non-invasive cross-platform terminal color library does not need to modify the Print method

Command LineAdvanced Console UIs
go-ataman

Go library for rendering ANSI colored text templates in terminals

Command LineAdvanced Console UIs
go-colorable

Colorable writer for windows

Command LineAdvanced Console UIs
go-colortext

Go library for color output in terminals

Command LineAdvanced Console UIs
go-isatty

isatty for golang

Command LineAdvanced Console UIs
go-palette

Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the [fmt library](https://pkg.go.dev/fmt) for nice terminal layouts

Command LineAdvanced Console UIs
go-prompt

Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit)

Command LineAdvanced Console UIs
gocui

Minimalist Go library aimed at creating Console User Interfaces

Command LineAdvanced Console UIs
gookit/color

Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows

Command LineAdvanced Console UIs
lipgloss

Declaratively define styles for color, format and layout in the terminal

Command LineAdvanced Console UIs
marker

Easiest way to match and mark strings for colorful terminal outputs

Command LineAdvanced Console UIs
mpb

Multi progress bar for terminal applications

Command LineAdvanced Console UIs
progressbar

Basic thread-safe progress bar that works in every OS

Command LineAdvanced Console UIs
pterm

A library to beautify console output on every platform with many combinable components

Command LineAdvanced Console UIs
simpletable

Simple tables in a terminal with Go

Command LineAdvanced Console UIs
spinner

Go package to easily provide a terminal spinner with options

Command LineAdvanced Console UIs
tabby

A tiny library for super simple Golang tables

Command LineAdvanced Console UIs
table

Small library for terminal color based tables

Command LineAdvanced Console UIs
termbox-go

Termbox is a library for creating cross-platform text-based interfaces

Command LineAdvanced Console UIs
termdash

Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui)

Command LineAdvanced Console UIs
termenv

Advanced ANSI style & color support for your terminal applications

Command LineAdvanced Console UIs
termui

Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib)

Command LineAdvanced Console UIs
uilive

Library for updating terminal output in real time

Command LineAdvanced Console UIs
uiprogress

Flexible library to render progress bars in terminal applications

Command LineAdvanced Console UIs
uitable

Library to improve readability in terminal apps using tabular data

Command LineAdvanced Console UIs
yacspin

Yet Another CLi Spinner package, for working with terminal spinners

Command LineAdvanced Console UIs
acmd

Simple, useful, and opinionated CLI package in Go

Command LineStandard CLI
argparse

Command line argument parser inspired by Python's argparse module

Command LineStandard CLI
argv

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

Command LineStandard CLI
carapace

Command argument completion generator for spf13/cobra

Command LineStandard CLI
carapace-bin

Multi-shell multi-command argument completer

Command LineStandard CLI
carapace-spec

Define simple completions using a spec file

Command LineStandard CLI
climax

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

Command LineStandard CLI
clîr

A Simple and Clear CLI library. Dependency free

Command LineStandard CLI
cmd

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

Command LineStandard CLI
cmdr

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

Command LineStandard CLI
cobra

Commander for modern Go CLI interactions

Command LineStandard CLI
command-chain

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

Command LineStandard CLI
commandeer

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

Command LineStandard CLI
complete

Write bash completions in Go + Go command bash completion

Command LineStandard CLI
Dnote

A simple command line notebook with multi-device sync

Command LineStandard CLI
elvish

An expressive programming language and a versatile interactive shell

Command LineStandard CLI
env

Tag-based environment configuration for structs

Command LineStandard CLI
flaggy

A robust and idiomatic flags package with excellent subcommand support

Command LineStandard CLI
flagvar

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

Command LineStandard CLI
go-arg

Struct-based argument parsing in Go

Command LineStandard CLI
go-flags

go command line option parser

Command LineStandard CLI
go-getoptions

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

Command LineStandard CLI
gocmd

Go library for building command line applications

Command LineStandard CLI
job

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

Command LineStandard CLI
kingpin

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

Command LineStandard CLI
liner

Go readline-like library for command-line interfaces

Command LineStandard CLI
mcli

A minimal but very powerful cli library for Go

Command LineStandard CLI
mkideal/cli

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

Command LineStandard CLI
mow.cli

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

Command LineStandard CLI
ops

Unikernel Builder/Orchestrator

Command LineStandard CLI
pflag

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

Command LineStandard CLI
sflags

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

Command LineStandard CLI
strumt

Library to create prompt chain

Command LineStandard CLI
subcmd

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

Command LineStandard CLI
teris-io/cli

Simple and complete API for building command line interfaces in Go

Command LineStandard CLI
urfave/cli

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

Command LineStandard CLI
version

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

Command LineStandard CLI
wlog

Simple logging interface that supports cross-platform color and concurrency

Command LineStandard CLI
wmenu

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

Command LineStandard CLI
box-cli-maker

Render highly customizable boxes in the terminal

Command LineAdvanced Console UIs
chroma16

Generate a harmonious 16-color terminal palette from a single seed color or string

Command LineAdvanced Console UIs
fx

Terminal JSON viewer & processor

Command LineAdvanced Console UIs
gommon/color

Style terminal text

Command LineAdvanced Console UIs
lazyenv

TUI for browsing, comparing, and editing .env files

Command LineAdvanced Console UIs
loom

Signal-based reactive components framework for building TUIs

Command LineAdvanced Console UIs
phoenix

High-performance TUI framework with Elm-inspired architecture, perfect Unicode rendering, and zero-allocation event system

Command LineAdvanced Console UIs
goscaf

goscaf generates opinionated, production-quality Go project boilerplate via an interactive CLI. Stop copy-pasting skeleton code between projects

Command LineAdvanced Console UIs
boa

Declarative flags, env vars, validation, and config files from struct tags. Built on cobra

Command LineStandard CLI
flash-flags

Ultra-fast, zero-dependency, POSIX-compliant flag parsing library that can be used as drop-in stdlib replacement with security hardening

Command LineStandard CLI
getopt

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

Command LineStandard CLI
go-readline-ny

A customizable line-editing library with Emacs keybindings, Unicode support, completion, and syntax highlighting. Used in NYAGOS shell

Command LineStandard CLI
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

Command LineStandard CLI
hashicorp/cli

Go library for implementing command-line interfaces

Command LineStandard CLI
hiboot cli

cli application framework with auto configuration and dependency injection

Command LineStandard CLI