SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go CLI Projects
-
Project mention: Effortlessly Manage Your Notes with my Bash Script Featuring FZF Integration! | dev.to | 2025-01-18
fzf (fuzzy finder)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
While design is an important part to some degree, there is something more that I've become observing and, therefore, liking lately: the reasonable default configs of the apps, which mean that the majority of the users will never need to mess with configs at all. Here is a great post by Arne about this trend which lists such tools like Fish (mentioned above), Helix, Lazygit, Zellij, k9s, etc. And that a very user-friendly approach: install and use right away! I believe that Ghostty would be a good addition to the list. For example:
-
Project mention: Show HN: Docker-phobia: Analyze Docker image size with a treemap | news.ycombinator.com | 2024-04-28
Cool, gonna try this soon. Would be great to use in combination with Dive (https://github.com/wagoodman/dive)
-
Project mention: ⏳GitHub Copilot 1-Day Build Challenge : eol, a tiny Go client to manage eols | dev.to | 2025-01-11
I really enjoyed a lot the resulting prototype I manage to get within almost 2 hours and it gave me the confirmation that I wanted to spend more time to make a clean code and lear more about Go best practices and probably use Cobra.dev (A Framework for Modern CLI Apps in Go) to learn while building something fun yet useful.
-
GitHub CLIDownload and Install GitHub CLI here
-
Most of the development time went into making GoVibes interactive and look pretty. Perhaps, that effort could have been better spent on making it cross-platform and functional, but again, I'm its sole user, so it doesn't matter. Anyway, I found BubbleTea, a library for building interactive CLI(TUI) tools in Golang. The library surely had a learning curve. It took me a week to wrap my head around how all things tie together. There are also a lot of prebuilt components(Bubbles) which makes it super easy to build a pretty, user-friendly TUI.
-
-
asdf is a popular version manager that uses a technique called "shimming" to switch between different versions of tools like Python, Node.js, and Ruby. It creates temporary paths to specific versions, modifying the environment to ensure that the correct version of a tool is used in different projects. However, this method can introduce performance overhead due to how these shims work.
-
Any viewer of data that has 50,000 elements in it has this many items with a scroll wheel. It doesn't matter if it's on the screen at the same time, this is the kind of thing that the UI is supposed to be abstracting away from you; you just describe the UI and the renderer makes it appear on the screen. Example apps (not built with Ink, just some that fit into this category): less, https://fx.wtf, sqlite...
And this is why React apps end up with bad performance by default. Doesn't crop up in simple tests and light usage, but the bad scaling will catch up with you when you deploy to production.
-
I really enjoy `glow`, it makes me smile when I use it:
https://github.com/charmbracelet/glow
It's a commandline markdown viewer/renderer.
-
VHS This tool was used to make the demo video for the CLI tool
-
duf
-
Project mention: Ask HN: How to find subdomains and paths for a website | news.ycombinator.com | 2024-06-01
-
Project mention: Step-by-Step Guide: Deploying a Static Web Application in OpenShift Using a Custom S2I Builder Image | dev.to | 2024-12-09
curl -O --location https://github.com/mikefarah/yq/releases/download/2.4.1/yq_linux_amd64 sudo mv yq_linux_amd64 /usr/bin/yq sudo chmod +x /usr/bin/yq
-
-
qrcp
:zap: Transfer files over wifi from your computer to your mobile device by scanning a QR code without leaving the terminal.
-
-
Project mention: Show HN: Facad. The ls alternative making terminals cooler than GUIs | news.ycombinator.com | 2024-09-30
Would a commander type TUI work for you?
https://github.com/MidnightCommander/mc
https://github.com/ranger/ranger
https://github.com/jarun/nnn
There's also superfile and broot, but personally I feel like they try to do a little too much, might work for you though:
https://github.com/yorukot/superfile
https://github.com/Canop/broot
-
Undying fondness for aws-vault to securely cache my session credentials.
-
"\033[31;1;4munderlines\033[0m" is (again) no worse than a stream of vertices or a stream of object code. Everything is a stream of bytes (well, a stream of bits anyway). Do you want CSS? Lipgloss is not too far off [0].
I read your objection basically as "escape sequences and control codes are noisy garbage"; are you saying something more like "the functionality you can achieve with escape sequences and control codes is fundamentally limited"? If that's the case, I don't see how, especially in the context of a character-based display.
[0]: https://github.com/charmbracelet/lipgloss?tab=readme-ov-file...
-
terragrunt
Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.
Project mention: Provision EKS Cluster with Terraform, Terragrunt & GitHub Actions | dev.to | 2025-01-11name: Deploy on: push: branches: - main pull_request: branches: - main jobs: terraform: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup SSH uses: webfactory/[email protected] with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Setup Terraform uses: hashicorp/setup-terraform@v2 with: terraform_version: 1.5.5 terraform_wrapper: false - name: Setup Terragrunt run: | curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/v0.48.1/terragrunt_linux_amd64" chmod +x terragrunt_linux_amd64 sudo mv terragrunt_linux_amd64 /usr/local/bin/terragrunt terragrunt -v - name: Apply Terraform changes run: | cd dev terragrunt run-all apply -auto-approve --terragrunt-non-interactive -var AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -var AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -var AWS_REGION=$AWS_DEFAULT_REGION cd bastion-ec2 ip=$(terragrunt output instance_public_ip) echo "$ip" echo "$ip" > public_ip.txt cat public_ip.txt pwd env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
-
reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
-
httpx
httpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library. (by projectdiscovery)
Project mention: HTTP toolkit that allows running multiple probes | news.ycombinator.com | 2024-04-02
Go CLI discussion
Go CLI related posts
-
Effortlessly Manage Your Notes with my Bash Script Featuring FZF Integration!
-
6 Common Kubernetes RBAC Security Threats and Solutions to Tackle Them
-
TinyFeed v1.0.0 Release
-
Tinyfeed: Generate a static HTML page from a collection of feeds
-
⏳GitHub Copilot 1-Day Build Challenge : eol, a tiny Go client to manage eols
-
Show HN: SRTD – Live-reloading SQL templates for Supabase migrations
-
Getting Started with Go and the Web: Deploy to Railway
-
A note from our sponsor - SaaSHub
www.saashub.com | 19 Jan 2025
Index
What are some of the best open-source CLI projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | fzf | 67,176 |
2 | lazygit | 55,210 |
3 | dive | 49,020 |
4 | cobra | 38,881 |
5 | cli | 37,985 |
6 | bubbletea | 29,105 |
7 | urfave/cli | 22,634 |
8 | asdf | 22,472 |
9 | fx | 19,189 |
10 | glow | 16,799 |
11 | vhs | 15,687 |
12 | duf | 13,047 |
13 | katana | 12,860 |
14 | yq | 12,641 |
15 | wuzz | 10,603 |
16 | qrcp | 10,061 |
17 | fq | 9,887 |
18 | superfile | 8,646 |
19 | aws-vault | 8,586 |
20 | lipgloss | 8,429 |
21 | terragrunt | 8,335 |
22 | reviewdog | 8,096 |
23 | httpx | 7,976 |