Go Standard CLI

Open-source Go projects categorized as Standard CLI

Top 23 Go Standard CLI Projects

  • cobra

    A Commander for modern Go CLI interactions

    Project mention: Packaging Go for Arch Linux Tutorial | dev.to | 2023-09-17

    In my build phase, I compile the source to create a k3sup binary and I also run the binary to generate shell script completions. Give kudos to this functionality which comes from spf13/cobra Go library for CLIs.

  • urfave/cli

    A simple, fast, and fun package for building command line apps in Go (by urfave)

    Project mention: Best practices for distributing and updating a Go CLI on Linux? | /r/golang | 2023-05-18

    Can you use a framework like urfavecli https://github.com/urfave/cli? This will auto-update every time it detects a new version from your CLI's GitHub repository

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • elvish

    Elvish = Expressive Programming Language + Versatile Interactive Shell

    Project mention: Antonmedv/walk: Terminal file manager | news.ycombinator.com | 2023-08-22

    Shameless plug: Elvish is a shell with a filesystem navigator built in - you can see it in demo 5 on the homepage https://elv.sh

  • survey

    A golang library for building interactive and accessible prompts with full support for windows and posix terminals.

  • kingpin

    CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser

    Project mention: 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 | /r/golang | 2023-07-07

    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)

  • The Platinum Searcher

    A code search tool similar to ack and the_silver_searcher(ag). It supports multi platforms and multi encodings.

    Project mention: Go devs that learned Rust, what are your thoughts on it? | /r/golang | 2023-01-08

    People have tried. See the_platinum_searcher and sift.

  • Dnote

    A simple command line notebook for programmers

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

  • go-flags

    go command line option parser

    Project mention: Which packages do you recommend for building cli tools? | /r/golang | 2023-04-17

    https://github.com/jessevdk/go-flags provides a pretty neat way to specify flags and handle commands. Not so much extensible as cobra, but good enough for small cli tools

  • pflag

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

    Project mention: issue with pflag flagset | /r/golang | 2023-05-07

    My understanding is that you can use pflag as a drop in replacement of the standard lib's flag (import flag "github.com/spf13/pflag"). So it can be used as a standalone lib I suppose.

  • readline

    Readline is a pure go(golang) implementation for GNU-Readline kind library

    Project mention: I need CTRL + A (Select all) command on the cmd | /r/linuxquestions | 2023-05-27
  • mitchellh/cli

    A Go library for implementing command-line interfaces. (by mitchellh)

    Project mention: Any opinionated tool / framework for creating binary CLI tools? | /r/devops | 2022-11-12

    Golang with https://github.com/mitchellh/cli.

  • kong

    Kong is a command-line parser for Go (by alecthomas)

    Project mention: 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 | /r/golang | 2023-07-07

    I’ve been using https://github.com/alecthomas/kong for exposing generated protobuf structs for CLI args. How does your library compare?

  • docopt.go

    A command-line arguments parser that will make you smile.

    Project mention: Getopt like argument parser for Golang. | /r/golang | 2023-05-19

    There isn't enough compelling reasons to use your library as mentioned by n4jm4 there is already docopt. https://github.com/docopt/docopt.go or the standard flag library.

  • liner

    Pure Go line editor with history, inspired by linenoise

  • cli-init

    The easy way to build Golang command-line application.

  • complete

    bash completion written in go + bash completion for go command

  • mow.cli

    A versatile library for building CLI applications in Go

    Project mention: Config for Golang Applications | news.ycombinator.com | 2023-03-24

    how would you compare this to something like https://github.com/jawher/mow.cli ?

  • flaggy

    Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies.

  • cli

    CLI - A package for building command line app with go (by mkideal)

  • argparse

    Argparse for golang. Just because `flag` sucks (by akamensky)

  • box-cli-maker

    Make Highly Customized Boxes for CLI

    Project mention: Christmas giveaway: 10 copies of my book Domain-driven Design with Golang book, also AMA | /r/golang | 2022-12-23

    I believe my story isn't a funny problem that I have specifically used Go lang for though I always wanted to make a CLI without using languages like Python, JS and all because there are many things which can be done with languages like Go. So I made a project called Box CLI Maker.

  • carapace-bin

    multi-shell multi-command argument completer

    Project mention: Fish (shell) porting to Rust from C++ | /r/rust | 2023-01-30

    I use Carapace which provides completions across tons of shells.

  • 1build

    Frictionless way of managing project-specific commands

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-09-17.

Go Standard CLI related posts

Index

What are some of the best open-source Standard CLI projects in Go? This list will help you:

Project Stars
1 cobra 33,425
2 urfave/cli 20,720
3 elvish 5,135
4 survey 3,967
5 kingpin 3,372
6 The Platinum Searcher 2,782
7 Dnote 2,574
8 go-flags 2,439
9 pflag 2,188
10 readline 1,969
11 mitchellh/cli 1,684
12 kong 1,542
13 docopt.go 1,409
14 liner 1,002
15 cli-init 923
16 complete 895
17 mow.cli 856
18 flaggy 836
19 cli 696
20 argparse 548
21 box-cli-maker 383
22 carapace-bin 312
23 1build 217
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
www.influxdata.com