Open-source Go projects categorized as CLI

Top 23 Go CLI Projects

  • GitHub repo fzf

    :cherry_blossom: A command-line fuzzy finder

    Project mention: What does * do in terminal? | reddit.com/r/linuxquestions | 2021-06-18

    If you like the idea of what the wildcard can do for you consider setting up fzf a fuzzy search tool for the command line. I think you would really like it. Another tool that you can use in combination with fzf is ripgrep a line oriented search and recursive search tool. Together they are quite powerful and can even be configured with vim.

  • GitHub repo dive

    A tool for exploring each layer in a docker image

    Project mention: Keycloak on Distroless | dev.to | 2021-05-27

    If we analyse the jboss/keycloak:13.0.1 image with Dive, we can see all Keycloak related files are stored into /opt/jboss/.

  • GitHub repo cli

    GitHub’s official command line tool

    Project mention: May: Forem Twitch Events Roundup 👾 | dev.to | 2021-06-10

    GitHub CLI Join Us For the First DEV Community Bug Smash! Christina Gorton ・ May 4 ・ 4 min read #devbugsmash #opensource #forem #contributorswanted How to Make Your First Open Source Contribution Ceora Ford ・ May 6 ・ 8 min read #opensource #beginners #coding Learn git concepts, not commands Nico Riedmann ・ Jun 2 '19 ・ 36 min read #git #tutorial #beginners

  • GitHub repo cobra

    A Commander for modern Go CLI interactions

    Project mention: I'm trying to create a CLI application using Go. After I've done go build, I can run the app using "./app repeat -2 echo go", where app is my binary, repeat is a custom command to loop and 2 is the number. Is it possible to do it wìthout the ./ in the beginning? | reddit.com/r/golang | 2021-06-07
  • GitHub repo lazygit

    simple terminal UI for git commands

    Project mention: Don't create for an imaginary group of people | news.ycombinator.com | 2021-06-09

    AFAIK git was initially built to be a source control engine for other tools to build on top of, but most people have just used the underlying engine since it was easier. But I've really started to grok git after using a program called lazygit [0]. Basically a terminal UI on top of git where I don't have to remember the messy language of the engine, I just need to remember a couple of keystrokes.

    [0] https://github.com/jesseduffield/lazygit

  • GitHub repo urfave/cli

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

    Project mention: High-Performance Shortlink creator in Golang | reddit.com/r/golang | 2021-05-21

    Another option would be to use something like urfave/cli to read values from environment variables and CLI flags.

  • GitHub repo wuzz

    Interactive cli tool for HTTP inspection

  • GitHub repo glow

    Render markdown on the CLI, with pizzazz! 💅🏻

    Project mention: I’m think of making my own note system for my Python knowledge. Looking for advice! | reddit.com/r/learnpython | 2021-05-24

    I've tried many things. Markdown files in structured directories work best for me. All the standard tools work (editors, search utilities and so on). I keep them in a Dropbox equivalent and sometimes view them on GitHub, it renders Markdown with code snippets nicely. I also use Pandoc to convert to other file formats. glow is the best Markdown terminal renderer I've used.

  • GitHub repo age

    A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

    Project mention: Encryption Software with "Write-Only" mode? (Asymmetric) | reddit.com/r/cryptography | 2021-06-14

    Take a look at "age" (https://github.com/FiloSottile/age). Fits the bill exactly, uses modern encryption, and so on. Author is, if I recall correctly, the security head for the Go language (if not that, something very similar).

  • GitHub repo drive

    Google Drive client for the commandline

    Project mention: Native Google Drive sync 4 linux | reddit.com/r/linux | 2021-05-20

    I use this https://github.com/odeke-em/drive

  • GitHub repo slack-term

    Slack client for your terminal

    Project mention: What's the best way to find an emacs ninja to help/hire? | reddit.com/r/emacs | 2021-04-21

    NB. On integrating slack & other webby things. Terminal applications might be a big help here (the Windows terminal now has excellent compatibility if you’re using Windows). For instance, there’s a slack plugin for weechat (a terminal IRC / chat client) which by all accounts works pretty well. Or there’s this client that runs directly in a terminal.

  • GitHub repo bit

    Bit is a modern Git CLI (by chriswalz)

    Project mention: Git Cheat Sheet | reddit.com/r/learnprogramming | 2021-05-09

    Another good one in CLI https://github.com/chriswalz/bit

  • GitHub repo Ponzu

    Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.

    Project mention: To Drupal or not to Drupal… Putting my foot down in the Webform module's issue queue | reddit.com/r/drupal | 2021-04-26
  • GitHub repo bubbletea

    A powerful little TUI framework 🏗

    Project mention: Lip Gloss - a CSS like layout library for your terminal apps | reddit.com/r/golang | 2021-04-03

    If you use Lip Gloss with Bubble Tea, then yes! Specifically, check out the viewport component in Bubbles, a Bubble Tea component library, for scrollable views.

  • GitHub repo terragrunt

    Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.

    Project mention: Template engine for Terraform for hybrid cloud | reddit.com/r/Terraform | 2021-06-17
  • GitHub repo aws-vault

    A vault for securely storing and accessing AWS credentials in development environments

    Project mention: Get Data From DynamoDB Using AWS SDK (With GoLang) - The Cloud Resume Challenge Series (Part 15) | dev.to | 2021-06-01

    As a bonus, I also go through how to set up AWS SAM with local invocation, so that you can test your lambda locally, by passing in AWS credentials using aws-vault, which involves a little bit of Docker, too.

  • GitHub repo awless

    A Mighty CLI for AWS

    Project mention: Ask HN: Show me the sexy, sexy home page of your favorite free CLI project | news.ycombinator.com | 2021-04-20
  • GitHub repo Ferret

    Declarative web scraping

  • GitHub repo promptui

    Interactive prompt for command-line applications

    Project mention: Tf - A CLI to generate terraform configuration with an interactive prompt | reddit.com/r/golang | 2021-01-22

    I got into cli applications lately and came across cobra. It was highly intuitive and very much easy to use so I couldn't get enough of it and wanted to create something to make it useful along with promptui.

  • GitHub repo go-prompt

    Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.

    Project mention: Bit (1.0) – a modern Git CLI in Go | news.ycombinator.com | 2021-02-26

    Bit uses cobra a little but for the autocomplete it uses https://github.com/c-bata/go-prompt

  • GitHub repo yq

    yq is a portable command-line YAML processor

    Project mention: yq: Mastering YAML Processing in Command Line | dev.to | 2021-06-15

    Before we begin using yq, we first need to install it. When you google yq though, you will find two projects/repositories. First of them, at https://github.com/kislyuk/yq is wrapper around jq - the JSON processor. If you're already familiar with jq you might want to grab this one and use the syntax you already know. In this article though, we will use the other - a bit more popular project - from https://github.com/mikefarah/yq. This version does not 100% match the jq syntax, but its advantage is that it's dependency free (does not depend on jq), for more context on the differences, see following GitHub issue.

  • GitHub repo reviewdog

    🐶 Automated code review tool integrated with any code analysis tools regardless of programming language

    Project mention: GitHub Action to annotate tsc errors | reddit.com/r/typescript | 2021-03-12

    I found reviewdog, which should work perfectly for this - but I played around with that for about 4 hours now and can't seem to get it to report errors successfully. tsc exits with code 2, but reviewdog still says that everything went fine.

  • GitHub repo img

    Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder. (by genuinetools)

    Project mention: Ignoring Docker updates is a paid feature now | news.ycombinator.com | 2021-05-02

    Build img from source is an option for mac osx.


    A few rootless feature may not work. But as root i haven't seen problems so far.

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 2021-06-18.


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

Project Stars
1 fzf 37,255
2 dive 26,500
3 cli 23,735
4 cobra 21,903
5 lazygit 20,202
6 urfave/cli 15,961
7 wuzz 9,630
8 glow 6,768
9 age 6,230
10 drive 6,028
11 slack-term 5,861
12 bit 5,550
13 Ponzu 5,201
14 bubbletea 5,089
15 terragrunt 5,052
16 aws-vault 4,980
17 awless 4,777
18 Ferret 4,531
19 promptui 4,165
20 go-prompt 3,954
21 yq 3,854
22 reviewdog 3,387
23 img 3,324
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives