SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go CLI Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
qrcp
:zap: Transfer files over wifi from your computer to your mobile device by scanning a QR code without leaving the terminal.
-
terragrunt
Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
-
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)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Ask HN: Any tool for managing large and variable command lines? | news.ycombinator.com | 2024-04-25In addition, I think bash's `operate-and-get-next` can be very helpful. When you go back through your shell history, you can hit Ctrl+o instead of enter and it will execute the command then put the next one in your history on the command line, and keep track of where you are in your history. This way, you can rerun a bunch of commands by going to the first one and Ctrl+o till you are done. And you can edit those commands and hit Ctrl+o and still go to the next previously run command.
Note: fzf's history search feature breaks this. https://github.com/junegunn/fzf/issues/2399
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" tar xf lazygit.tar.gz lazygit sudo install lazygit /usr/local/bin
Project mention: Show HN: Docker-phobia: Analyze Docker image size with a treemap | news.ycombinator.com | 2024-04-28Cool, gonna try this soon. Would be great to use in combination with Dive (https://github.com/wagoodman/dive)
We can use the flag with --date or -date, Go already does the automatic check. We can make our entire boilerplate with this approach, but let's make it a little easier and use the Cobra CLI package.
GitHub CLI - GitHub on the command line. Great for creating PRs, etc.
Project mention: Superfile – A fancy, petty terminal file manager | news.ycombinator.com | 2024-05-10Seems like they're using Bubble Tea, a Terminal UI framework for Go. I've heard very good things about it and have been meaning to check it out.
https://github.com/charmbracelet/bubbletea
To get started, install Mods and check out some of the examples below. Since Mods has built-in Markdown formatting, you may also want to grab Glow to give the output some pizzazz.
Project mention: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones? | news.ycombinator.com | 2024-05-06I'm a maintainer of Ratatui (a rust TUI crate). Here's a few links
https://ratatui.rs/showcase/apps/
https://github.com/ratatui-org/awesome-ratatui
https://discord.com/channels/1070692720437383208/10729061831... (made with ratatui channel on our discord server)
We encourage our users to use https://github.com/charmbracelet/vhs to build out demos that look neat.
My particular favorite of the bunch (from a look and feel perspective) is https://github.com/zaghaghi/openapi-tui
Also, not ratatui, but worth a look: https://github.com/rothgar/awesome-tuis
Not sure these are really popular, but I cannot resist advertising a few utilities written in Go that I regularly use in my daily workflow:
- gdu: a NCDU clone, much faster on SSD mounts [1]
- duf: a `df` clone with a nicer interface [2]
- massren: a `vidir` clone (simpler to use but with fewer options) [3]
- gotop: a `top` clone [4]
- micro: a nice TUI editor [5]
Building this kind of tools in Go makes sense, as the executables are statically compiled and are thus easy to install on remote servers.
[1]: https://github.com/dundee/gdu
[2]: https://github.com/muesli/duf
[3]: https://github.com/laurent22/massren
[4]: https://github.com/xxxserxxx/gotop
[5]: https://github.com/zyedidia/micro
What I often use to just get the full key paths is yq (https://github.com/mikefarah/yq), piping into grep when necessary
yq -o=props
I see, thanks for replying and no worries! yeap some of the "self-describing" formats like msgpack, cbor etc will because of how fq works have to be decoded into something more of a meta-msgpack etc.
About blobs, if you want to change how (possibly large) binaries are represented as JSON you can use the bits_format options, see https://github.com/wader/fq/blob/master/doc/usage.md#options, so fq -o bits_format=md5 torepr ...
I can highly recommend to learn jq, it's what makes fq really useful, and as a bonus you will learn jq in general! :)
Undying fondness for aws-vault to securely cache my session credentials.
Terragrunt is a Terraform wrapper, designed to fill in the gaps when it comes to large scale Terraform configurations.
"\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...
Project mention: HTTP toolkit that allows running multiple probes | news.ycombinator.com | 2024-04-02
Go CLI related posts
-
E1S – Easily Manage AWS ECS Resources in Terminal
-
Superfile – A fancy, petty terminal file manager
-
Show HN: Impromptu – Visualize Prometheus Metrics in the CLI
-
How to Manage Multiple Terraform Environments Efficiently
-
E1s – A Terminal-Based AWS ECS Management Tool(~K9s for ECS)
-
Klog: A plain-text file format and a command line tool for time tracking
-
How do people create those sleek looking demos for startups?
-
A note from our sponsor - SaaSHub
www.saashub.com | 20 May 2024
Index
What are some of the best open-source CLI projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | fzf | 60,301 |
2 | lazygit | 46,156 |
3 | dive | 43,873 |
4 | cobra | 36,237 |
5 | cli | 35,586 |
6 | bubbletea | 24,581 |
7 | urfave/cli | 21,702 |
8 | fx | 18,570 |
9 | glow | 14,900 |
10 | vhs | 14,030 |
11 | duf | 12,340 |
12 | yq | 10,911 |
13 | wuzz | 10,478 |
14 | qrcp | 9,796 |
15 | fq | 9,422 |
16 | katana | 8,798 |
17 | aws-vault | 8,173 |
18 | terragrunt | 7,666 |
19 | lipgloss | 7,460 |
20 | reviewdog | 7,425 |
21 | httpx | 6,913 |
22 | jid | 6,809 |
23 | drive | 6,637 |
Sponsored