Open-source Go projects categorized as CLI

Top 23 Go CLI Projects

  • fzf

    :cherry_blossom: A command-line fuzzy finder

    Project mention: Is there any way to have a "longterm history" in addition to the normal history? | reddit.com/r/bash | 2022-11-30

    Reverse history search should be enabled by default. Depending on your distro it might not be. See the wiki for more details.

  • dive

    A tool for exploring each layer in a docker image

    Project mention: Why is an ubuntu image listed with only 29MB on Dockerhub but is massive when building with? | reddit.com/r/docker | 2022-11-28

    https://github.com/wagoodman/dive more interactive option than docker history, should be able to find the expensive layer(s)

  • Zigi

    The context switching struggle is real. Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!

  • lazygit

    simple terminal UI for git commands

    Project mention: Ask HN: Where are the simple Git GUIs? | news.ycombinator.com | 2022-11-25
  • cli

    GitHub’s official command line tool

    Project mention: Snaps working for you? | reddit.com/r/debian | 2022-11-28
  • cobra

    A Commander for modern Go CLI interactions

    Project mention: github.com: s0rg/compflag | reddit.com/r/golang | 2022-11-05

    yes, the only reason - its imposible to pass arguments to completion program in that scenario. If its ok to you to use generated scripts, take a look at https://github.com/spf13/cobra it can generate them for wider range of shells.

  • urfave/cli

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

    Project mention: Trying to Configure checkpoint for Fast syncing.Error in Command :-go run prysm/cmd/prysmctl/checkpointsync download --beacon-node-host=http://localhost:3500 | reddit.com/r/ethstaker | 2022-10-10

    ....\Softwares\go\src\prysm\cmd\prysmctl\checkpointsync\cmd.go:3:8: cannot find package "github.com/urfave/cli/v2" in any of:

  • bubbletea

    A powerful little TUI framework 🏗

    Project mention: Datamatikerstuderende - hobbyprojekter til CV | reddit.com/r/dkfinance | 2022-11-28
  • 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.

  • fx

    Terminal JSON viewer

    Project mention: Show HN: Llama – Terminal File Manager | news.ycombinator.com | 2022-11-22

    This looks like something I'd use often. Thanks for creating it! For anyone who's not familiar, Anton is also behind the highly useful fx[0] for wrangling JSON data in the terminal.

    [0] https://github.com/antonmedv/fx

  • glow

    Render markdown on the CLI, with pizzazz! 💅🏻

    Project mention: Render markdown to console from perl script | reddit.com/r/perl | 2022-10-03
  • wuzz

    Interactive cli tool for HTTP inspection

    Project mention: 9 shell tools for productivity | dev.to | 2022-09-04

    9. wuzz

  • duf

    Disk Usage/Free Utility - a better 'df' alternative

    Project mention: I wrote a "12 favourite terminal tools" list-article, what did I left out that should be absolutely included? | reddit.com/r/linux | 2022-11-18

    duf - Disk Usage/Free Utility - a better 'df' alternative.

  • aws-vault

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

    Project mention: Recommended script access to AWS | reddit.com/r/sysadmin | 2022-11-04

    It sounds like you have AWS SSO enabled and need a way to run scripts manually in the terminal. Take a look at the aws-vault project that makes it easy working with multiple AWS accounts.

  • yq

    yq is a portable command-line YAML, JSON, XML, CSV and properties processor

    Project mention: Learning Ansible | reddit.com/r/ccna | 2022-10-30

    BTW, a great tool for that is yq. When I first tried to use it to parse some JSON, I thought I'd have to tell it that the input format was going to be JSON instead of YAML, but the fact it doesn't care and in fact there is no such option really helped me understand the relationship between the two better.

  • drive

    Google Drive client for the commandline

    Project mention: 10 years since Google said to “hang tight” about Linux support for Google Drive | news.ycombinator.com | 2022-04-24

    I just want to collect the major options for Google Drive on Linux in a single comment, since a few options are scattered around:

    Insync works well, and it's 50% off for a couple more days: https://www.insynchq.com/ Not affiliated, but $15 is not a lot to pay, as opposed to waiting for something that probably won't happen.

    Rclone has support for Google Drive, and it's open source: https://rclone.org/

    There's a command line client that uses a push/pull workflow: https://github.com/odeke-em/drive It was written by a member of the Google Drive team.

    Gnome supports Google Drive, or at least used to, directly in Nautilus. I don't use Gnome, so I can't comment.

    There may be other options I've missed, but the point is that there is already good support in multiple forms. I'd be interested to know what support Google could provide that's not already available.

  • jid

    json incremental digger

    Project mention: Zq: An Easier (and Faster) Alternative to Jq | news.ycombinator.com | 2022-04-26

    It took me a while to grok jq, but now that I do I kinda like it? I don't think I want to learn yet another thing.

    I do like tools that complement/supplement jq though, like jid: https://github.com/simeji/jid

  • terragrunt

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

    Project mention: Version 1 Terraform AWS OpenVPN Ephemeral Released! | dev.to | 2022-10-13

    Another thing I realized was that using local Terraform state and passing it around in CI/CD for GitLab and CircleCI was also completely unnecessary and can be efficiently changed by using Terragrunt. Terragrunt has a superior way than Terraform to set up a remote S3/DynamoDB backend for your Terraform State and Locks, and example terragrunt.hcl files are provided in the updated examples.

  • slack-term

    Slack client for your terminal

    Project mention: Do SWE's actually use the command line? | reddit.com/r/cscareerquestions | 2022-01-17
  • datree

    Prevent Kubernetes misconfigurations from reaching production (again 😤 )! From code to cloud, Datree provides an E2E policy enforcement solution to run automatic checks for rule violations. See our docs: https://hub.datree.io

    Project mention: Is OPA Gatekeeper the best solution for writing policies for k8s clusters? | reddit.com/r/kubernetes | 2022-11-10
  • bit

    Bit is a modern Git CLI (by chriswalz)

  • reviewdog

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

    Project mention: Reviewdog: Code analysis regardless of programming language | news.ycombinator.com | 2022-10-11
  • 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.

  • lipgloss

    Style definitions for nice terminal layouts 👄

    Project mention: GUI brain tries to learn shell scripting | reddit.com/r/commandline | 2022-10-27

    Off the top of my head i am thinking of charmbracelet/lipgloss but I don't know if its the best suited to my use case.

  • promptui

    Interactive prompt for command-line applications

    Project mention: ...and now gh-i to search for issues interactively! | reddit.com/r/github | 2022-01-31

    The navigation is dealt with by the promptui framework, so in this respect the extension does not touch/re-defines it. This said, let's move the conversation on GitHub, I am sure we can find a way to make it work :)

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

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 2022-11-30.

Go CLI related posts


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

Project Stars
1 fzf 48,451
2 dive 34,606
3 lazygit 31,277
4 cli 30,534
5 cobra 29,666
6 urfave/cli 19,355
7 bubbletea 16,009
8 fx 15,495
9 glow 10,559
10 wuzz 10,172
11 duf 10,157
12 aws-vault 6,982
13 yq 6,858
14 drive 6,470
15 jid 6,442
16 terragrunt 6,339
17 slack-term 6,137
18 datree 6,029
19 bit 5,864
20 reviewdog 5,779
21 Ponzu 5,490
22 lipgloss 5,274
23 promptui 5,211
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.