Open-source Go projects categorized as CLI

Top 23 Go CLI Projects

  • fzf

    :cherry_blossom: A command-line fuzzy finder

    Project mention: A Practical Guide to fzf: Vim Integration | /r/commandline | 2023-11-29

    There are two plugins allowing us to use fzf in Vim: the native fzf plugin directly installed with fzf, and fzf.vim. The second plugin is built on the first one.

  • lazygit

    simple terminal UI for git commands

    Project mention: jesseduffield/lazygit: simple terminal UI for git commands | /r/devopsish | 2023-12-07
  • 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.

  • dive

    A tool for exploring each layer in a docker image

    Project mention: Dive – A tool for exploring each layer in a Docker image | news.ycombinator.com | 2023-10-19
  • cobra

    A Commander for modern Go CLI interactions

    Project mention: What 3rd-party libraries do you use often/all the time? | /r/golang | 2023-12-01


  • cli

    GitHub’s official command line tool

    Project mention: Everything I install and set up on a new MacBook as a web developer | dev.to | 2023-12-05

    Two CLI tools I install right away are the GitHub CLI (via brew) and the Netlify CLI (via npm).

  • bubbletea

    A powerful little TUI framework 🏗

    Project mention: Built a TUI app to find anime scenes by image | /r/golang | 2023-12-05

    I built a TUI app to find anime scenes by image to learn the TUI framework [Bubbletea](https://github.com/charmbracelet/bubbletea)

  • 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

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • fx

    Terminal JSON viewer & processor

    Project mention: Jaq – A jq clone focused on correctness, speed, and simplicity | news.ycombinator.com | 2023-11-29

    There's also this awesome tool to make JSON interactively navigable in the terminal:


  • glow

    Render markdown on the CLI, with pizzazz! 💅🏻

    Project mention: Ask HN: How do you synchronise your notes? | news.ycombinator.com | 2023-08-08
  • vhs

    Your CLI home video recorder 📼

    Project mention: Explaining SSH to my Uber Driver | dev.to | 2023-11-27

    I used Charm VHS to generate the last gif you saw. Very cool tool that allows you create & easily edit CLI-related demos.

  • duf

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

    Project mention: Clean mount lists in Linux | news.ycombinator.com | 2023-08-26

    Somewhat related - `duf` is "a better `df` alternative":


  • wuzz

    Interactive cli tool for HTTP inspection

  • yq

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

    Project mention: Runtime error with plugin that uses io.popen to run executable during plugin startup | /r/neovim | 2023-11-29

    I've been trying to install and config a plugin (papis.nvim) for a couple of days and am having issues with a function that uses io.popen to run yq to convert yaml files to json. I know my install of yq is fine- I can run yq -oj info.yaml from the command line with no issue and it produces the correct json output. I know the function can find the yq executable, but it returns nil. I've saved the error from the yq golang code: panic: runtime error: invalid memory address or nil pointer dereference

  • fq

    jq for binary formats - tool, language and decoders for working with binary and text formats

    Project mention: Jaq – A jq clone focused on correctness, speed, and simplicity | news.ycombinator.com | 2023-11-29

    https://github.com/wader/fq has a REPL and can read JSON. Tip is to use "paste | from_json | repl" in a REPl to paste JSON into a sub-REPL, you can also use `` with fq which is a raw string literal

  • aws-vault

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

    Project mention: A CLI app that keeps your passwords encrypted and lets you manage them using a single secret | /r/golang | 2023-07-01

    you might want to check https://github.com/99designs/keyring and https://github.com/99designs/aws-vault

  • katana

    A next-generation crawling and spidering framework.

    Project mention: Originally a Covid project. Now a discount search engine. | /r/nextjs | 2023-02-05

    Using a few different methods. Pulling the sites I'm using Puppeteer and Katana (https://github.com/projectdiscovery/katana). To process and extract the information is tricky, most websites selling things put time into their metadata; this does make it easier. Additionally, a lot of the larger stores have common patterns between them. Failing all of this, I trained a Tensor flow model to understand how to read product pages. However, it's far from perfect and a journey of continual improvement.

  • terragrunt

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

    Project mention: Top 10 CLI Tools for DevOps Teams | dev.to | 2023-08-14

    If your team works with Terraform, you should definitely try Terragrunt (and obviously, its CLI tool!). It's an Infrastructure as Code (IaC) tool that acts as a wrapper for Terraform and simplifies dealing with multiple Terraform modules in different environments.

  • reviewdog

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

    Project mention: Code reviews and Suggestions from SARIF report | dev.to | 2023-05-16

    I build a general converter from SARIF to Reviewdog Diagnostic Format (RDFormat), then use Reviewdog to give suggested code changes as well as the context of the changes for PR reviewing.

  • lipgloss

    Style definitions for nice terminal layouts 👄

    Project mention: Glamorous tables with Go | /r/golang | 2023-10-12
  • jid

    json incremental digger

  • drive

    Google Drive client for the commandline

  • 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: Show HN: Datree (YC W20) – End-to-End Policy Management for Kubernetes | news.ycombinator.com | 2023-04-04

    Hi HN, I’m Shimon, the co-founder of Datree: A policy management solution for Kubernetes. We help DevOps engineers prevent misconfigurations in their Kubernetes by enforcing an organizational policy on their clusters. Engineers can define a custom policy or use one of Datree’s built-in policies, such as NIST/NSA Hardening Guide, EKS Security Best Practices, CIS Benchmark, and more.

    Our website is at https://datree.io and our GitHub is here: https://github.com/datreeio/datree

    This is not the first time I have shown Datree to the HN community: A little over a year ago, I posted here an earlier version of Datree (https://news.ycombinator.com/item?id=28918850). At that time, Datree consisted of a CLI tool to detect Kubernetes misconfigurations during the development process (locally or in the CI/CD), unlike the version I present today in which the enforcement happens in production.

    We built the CLI tool because we detected a big problem among Kubernetes operators: Misconfigurations. Kubernetes is extremely complex and flexible, which makes it very easy to poorly configure it in ways that are not secure. And indeed, we talked to dozens of Kubernetes operators who suffered from various problems, starting with failed audits, all the way to downtime in production, all because of misconfigurations.

    Our solution was simple: Give the developers the means to shift-left security testing during the development process with a CLI tool that can be integrated into the CI/CD. We thought this was the best way to approach the problem: It is easiest to fix misconfigurations in the development process before they are deployed to production, it prevents context-switching and relieves resources from the DevOps team.

    While the CLI tool was very popular among the open-source community (it got over 6000 stars on GitHub), we soon realized that CI/CD enforcement is not enough. As we talked with Datree’s users, we realized we had made a fundamental mistake: We thought of misconfiguration prevention in technical terms rather than organizational terms.

    Indeed, from a technical point of view, it makes sense to shift-left Kubernetes security. But when considering the organizational structure in which it takes place, it simply isn’t enough. DevOps engineers told us that they love the shift-left concept, but they simply cannot rely on the goodwill of the engineers to run a CLI tool locally or to monitor all the pipelines leading to production. They need governance, something to help them stay in control of the state of their clusters.

    Moreover, we realized that many companies who use Kubernetes are heavily regulated, and cannot take any chances with their security. Sure, these companies want the engineers to fix misconfigurations during development, but they also want something to make sure that no matter what, their clusters remain misconfiguration-free.

    Based on this understanding, we developed a new version of Datree that sits on the cluster itself (rather than in the CI/CD) and protects the production environment by blocking misconfigured resources with an admission webhook. It has a centralized policy management solution to enable governance, and native monitoring to get real-time insights into the state of your Kubernetes.

    I look forward to hearing your feedback and answering any questions you may have.

  • slack-term

    Slack client for your terminal

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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-12-07.

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 55,917
2 lazygit 40,611
3 dive 39,691
4 cobra 34,396
5 cli 33,939
6 bubbletea 21,092
7 urfave/cli 21,037
8 fx 17,850
9 glow 13,760
10 vhs 12,403
11 duf 11,758
12 wuzz 10,397
13 yq 9,870
14 fq 9,037
15 aws-vault 7,899
16 katana 7,754
17 terragrunt 7,314
18 reviewdog 6,845
19 lipgloss 6,673
20 jid 6,642
21 drive 6,585
22 datree 6,366
23 slack-term 6,295
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives