Go Command-line

Open-source Go projects categorized as Command-line

Top 23 Go Command-line 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.

  • micro-editor

    A modern and intuitive terminal-based text editor

    Project mention: FLaNK Stack Weekly for 21 August 2023 | dev.to | 2023-08-21
  • 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.

  • 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

  • bubbletea

    A powerful little TUI framework 🏗

    Project mention: Lazydocker | news.ycombinator.com | 2023-07-18

    TUI’s are awesome; I’ve used this library to build them in the past: https://github.com/charmbracelet/bubbletea

    For a sufficiently-complex system, a CLI client just isn’t as powerful as a live “console”. A TUI can play the part and you don’t have to venture into the web SPA world.

  • fx

    Terminal JSON viewer & processor

    Project mention: jq 1.7 | news.ycombinator.com | 2023-10-01
  • dolt

    Dolt – Git for Data

    Project mention: Pg_branch: Pre-alpha Postgres extension brings Neon-like branching | news.ycombinator.com | 2023-10-01

    Interesting that branching is now better supported and almost free. I wonder if merging can be simplified or whether it already is as simple and as fast as it can be?

    I guess I am inspired by Dolt’s ability to branch and merge: https://github.com/dolthub/dolt

  • ctop

    Top-like interface for container metrics

    Project mention: Lazydocker | news.ycombinator.com | 2023-07-18

    This does remind me of ctop as well: https://github.com/bcicen/ctop

    It also let's you look at containers, resource usage graphs, their logs and even do some actions through a TUI.

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

  • termui

    Golang terminal dashboard

    Project mention: Textual: Rapid Application Development Framework for Python | news.ycombinator.com | 2023-08-18

    I used termui for a project and have no complaints.


  • sampler

    Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.

    Project mention: Sampler – Tool for shell commands execution, visualization and alerting | news.ycombinator.com | 2023-02-25
  • gocui

    Minimalist Go package aimed at creating Console User Interfaces.

  • Rich Interactive Widgets for Terminal UIs

    Terminal UI library with rich, interactive widgets — written in Golang

    Project mention: Picnic-TUI - Where Go and Groceries Create a Command-Line Feast | dev.to | 2023-09-12

    Spotify-TUI was developed in Rust, therefore I couldn’t simply use the same UI framework. Within Go a popular choice is tview https://github.com/rivo/tview which provides many similar UI widgets which covered all my needs.

  • usql

    Universal command-line interface for SQL databases

    Project mention: xo/usql: Universal command-line interface for SQL databases | /r/devel | 2023-06-08
  • miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

    Project mention: jq 1.7 Released | news.ycombinator.com | 2023-09-06

    jq and miller[1] are essential parts of my toolbelt, right up there with awk and vim.

    [1]: https://github.com/johnkerl/miller

  • Shiori

    Simple bookmark manager built with Go

    Project mention: Simple bookmark manager built with Go | news.ycombinator.com | 2023-09-09
  • color

    Color package for Go (golang)

    Project mention: Cli colors disappear when piping into a text file | /r/golang | 2022-10-14

    So i have a cli tool thats outputting some text to the cli stdout, i would like the output to be colored, so i used a library called color (github.com/fatih/color), basically the problem is when i output to stdout its fine but when i do something like ./tool | tee -a file.txt the colors disappear from terminal and also not in the output file, why is that and how do i prevent that ?

  • kafka-go

    Kafka library in Go

    Project mention: book about golang and kafka | /r/golang | 2023-06-04

    There are two main libraries that people use to write clients Confluent Kafka and segment io kafka

  • lf

    Terminal file manager

    Project mention: Yazi: Fast terminal file manager based on async I/O | news.ycombinator.com | 2023-09-15

    I've tried using LF in the past, but it didn't stick. Will definitely give this a go, as I'm trying to move to an pure terminal workflow as closely as possible.


  • lipgloss

    Style definitions for nice terminal layouts 👄

    Project mention: A Java library to work with the ANSI OSC52 terminal sequence. | /r/java | 2023-06-21

    I saw https://github.com/charmbracelet/lipgloss and was wondering if there is anything equivalent in the JVM ecosystem. I couldn't find anything so I started crawling its deps tree and reimplementing to fall asleep at night.

  • promptui

    Interactive prompt for command-line applications

  • 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

  • go-prompt

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

    Project mention: Is there a library that can give python-prompt-toolkit like completion for TUI? | /r/rust | 2023-04-09

    Ref. https://github.com/prompt-toolkit/python-prompt-toolkit and https://github.com/c-bata/go-prompt ?

  • termbox-go

    Pure Go termbox implementation

  • pterm

    ✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible.

    Project mention: PTerm v0.12.58: You can now use beautiful structured logging for your projects! | /r/golang | 2023-04-04
  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

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-10-01.

Go Command-line related posts


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

Project Stars
1 cobra 33,518
2 micro-editor 22,741
3 urfave/cli 20,747
4 bubbletea 19,888
5 fx 17,445
6 dolt 15,549
7 ctop 14,654
8 termui 12,658
9 sampler 11,715
10 gocui 9,398
11 Rich Interactive Widgets for Terminal UIs 8,843
12 usql 8,235
13 miller 8,151
14 Shiori 7,909
15 color 6,562
16 kafka-go 6,559
17 lf 6,381
18 lipgloss 6,276
19 promptui 5,687
20 elvish 5,150
21 go-prompt 5,012
22 termbox-go 4,555
23 pterm 4,182
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.