Go CLI & TUI Tools
100 tools for the terminal written in Go. Sorted by GitHub stars; the most starred are Ollama, syncthing and fzf.
Page 2 of 3
Tools
katana
Go-based web crawler from ProjectDiscovery with standard and headless Chrome modes, JavaScript endpoint parsing, scope control, and JSON output for pipelines.
WTF
Terminal dashboard (wtfutil) that shows data from services like GitHub, Google Calendar, Trello and OpsGenie in configurable modules.
Task
Task runner and build tool that reads tasks from a YAML Taskfile, a simpler cross-platform alternative to Make.
yq
Command-line YAML, JSON, XML, and CSV processor with jq-like syntax for querying and transforming structured data
direnv
Shell extension that automatically loads and unloads environment variables based on current directory
duf
Disk usage utility with colorful output, filtering, and JSON export - replacement for df command
subfinder
Passive subdomain enumeration tool written in Go that queries online sources, with JSON output, wildcard elimination, and STDIN/STDOUT support.
git-lfs
Git extension for managing large files by storing them outside the repository with pointer files
gron
Transforms JSON into discrete assignments to make it greppable and enable exploration of complex JSON structures
Kopia
Cross-platform backup tool that creates encrypted, compressed, deduplicated snapshots and stores them on cloud, network, or local storage. Includes CLI and GUI.
Gobuster
Go-based brute-forcing tool for web directories/files, DNS subdomains, virtual hosts, S3/GCS buckets, TFTP files, and custom fuzzing.
cheat
CLI tool for creating and viewing interactive command-line cheatsheets with tagging and search capabilities
gh-dash
Terminal UI for GitHub that lists configurable pull request and issue sections, with vim-style hotkeys, custom actions, and a YAML config file.
ipatool
CLI for searching the App Store for iOS, iPadOS, tvOS, visionOS and macOS apps and downloading .ipa or macOS .pkg packages.
Slides
Terminal presentation tool that renders markdown files as slides, with in-slide code execution, pre-processing, live reload, and SSH serving.
wuzz
Interactive terminal UI for inspecting and editing HTTP requests and responses, with cURL-style arguments and regex, HTML and JSON response filtering.
httpx
HTTP probing CLI from ProjectDiscovery that takes hosts, URLs or CIDRs and reports status, title, TLS, tech stack, CDN and more, with matchers and filters.
qrcp
Go CLI that transfers files between a computer and a mobile device over Wi-Fi by printing a QR code in the terminal that links to a temporary local web server.
usql
Universal command-line SQL client with PostgreSQL psql-inspired interface for multiple databases
miller
Command-line data processing tool for CSV, TSV, JSON, and JSON Lines with field-based operations
termshark
Terminal user interface for tshark that provides Wireshark-like packet analysis capabilities from the command line
Terragrunt
Orchestration tool for OpenTofu/Terraform infrastructure code, used to scale and manage Infrastructure as Code across many modules and environments.
reviewdog
Parses linter output and posts findings in changed lines as review comments on GitHub, GitLab, and Bitbucket, or filters lint results by diff locally.
lf
Terminal file manager written in Go inspired by ranger with vi-style keybindings and shell integration
pdfcpu
PDF processing library and CLI written in Go for validating, merging, splitting, encrypting, stamping, signing and extracting content from PDFs.
up
Interactive terminal UI for building Linux pipelines with live preview of command results
scc
Code counter written in Go that reports lines of code, comments, complexity, ULOC and COCOMO estimates across many languages, with multiple output formats.
Claude Squad
Terminal UI that runs multiple AI coding agents (Claude Code, Codex, Gemini, Aider) in parallel, each in its own tmux session and git worktree.
wego
Terminal weather client showing 1–7 day forecasts from several backends, rendered as an ASCII-art table, emoji, markdown, or JSON.
pup
Command line HTML processing tool using CSS selectors to filter and extract data from HTML documents
dasel
Command-line tool for querying, modifying, and transforming structured data files (JSON, YAML, TOML, XML, CSV)
peco
Interactive line filter written in Go that reads stdin, filters incrementally as you type, and prints selected lines to stdout. Single binary, no dependencies.
kubectl-ai
Terminal assistant that turns natural-language requests into kubectl and bash operations using Gemini, OpenAI, Bedrock, Ollama and other LLM providers.
gopass
Command-line password manager compatible with pass, supporting GPG encryption, Git versioning, and team collaboration
soft-serve
Self-hostable Git server with SSH-accessible TUI for command-line repository management and browsing.
jid
Interactive JSON explorer that takes piped input and lets you drill down with dot-path or JMESPath queries, with tab completion and suggestions.
Guides
- Best JSON CLI ToolsCompare jq, yq, gojq, fx, dasel, gron and qo for querying, filtering and transforming JSON (and YAML) from the command line.
- Best CLI File Transfer ToolsCompare croc, qrcp, rclone: workflows, strengths and tradeoffs.
- Best CLI Secret ScannersCompare gitleaks, TruffleHog, trivy: workflows, strengths and tradeoffs.
- Best Docker TUIsCompare lazydocker, ducker, dtop, dive and ctop: Docker TUIs for containers, Compose, logs, stats and image layer analysis.
- Best HTTP Load Testing CLI ToolsCompare wrk, vegeta, k6 and hey for HTTP load testing: requests per second, latency percentiles, constant-rate attacks and scripting.
- Back up a directory with resticBack up a directory to a local disk or S3-compatible storage with restic: init a repo, exclude files, restore, prune old snapshots and schedule runs.