Overlap
Tooling for Go
Tooling tools that run on Go. The Catch for each, not a winner list.
9 tools · the Catch, not a ranking
- LefthookMIT Go manager for polyglot repo git-hooks
Vs Husky: polyglot hooks; not a CI product. Local only. Teams still need a shared install path.
- yqMIT portable YAML/JSON/XML/CSV/TOML processor (Go)
mikefarah/yq ≠ kislyuk/yq — this entry is the Go binary (`mikefarah/yq`), not the Python wrapper around jq. Vs jq (JSON-only filter language): yq is multi-format structured data, not a jq dialect clone of every filter. Feature parity with jq is incomplete on purpose; learn the Go yq docs.
- MillerBSD-2-Clause named-field CSV/TSV/JSON munging (mlr)
Vs jq (JSON filter) and DuckDB (SQL over files): Miller is the *named-field CLI verb chain*, not a full SQL engine and not jq’s JSON DSL. Great for tabular streams; heavy analytics and joins may outgrow mlr into DuckDB/Polars. Distinct from yq’s document-shaped transforms.
- daselMIT one selector across JSON/YAML/TOML/XML/CSV
Vs yq (jq-shaped multi-format Go CLI) and jq (JSON filter language): dasel is *one selector* across formats, not a jq dialect clone and not YAML-only muscle memory. Learn dasel’s selector docs; do not assume every jq filter ports. Distinct from Miller (tabular verbs).
- gronMIT flatten JSON to greppable assignments
SOFT: last commit ~May 2025 — quiet but not abandoned folklore. Vs jq (filter language): gron is *flatten-for-grep*, not a transform DSL. Huge blobs become huge line piles; know when jq select() is the shorter path.
- fqMIT jq for binary formats — decode, query, REPL
Vs jq (JSON filter), jless (JSON pager), gron (flatten-for-grep), and jc (CLI stdout→JSON): fq is the *binary-format* cousin, not a JSON-only pipe and not a packet capture GUI. Decoder coverage is wide but not every vendor blob; unknown formats still need a spec.
- OvermindMIT Procfile process manager via tmux
Vs watchexec (file→command *watcher*) and Zellij (Rust terminal *workspace/layouts*): Overmind is the *Procfile supervisor on tmux*, not a file watcher and not a layout multiplexer. Needs tmux installed. Not a production process supervisor — Overmind is a dev-loop tool, not systemd.
- Weave RouterELv2 on-box embedder proxy that routes each prompt to the right model
Elastic License 2.0 is source-available, not OSI open-source — you may not offer Weave Router as a hosted/managed service under ELv2 without permission. Vs LiteLLM: LiteLLM is the broader multi-provider gateway/SDK; Weave Router's wedge is per-prompt model selection via on-box embeddings. Routing quality still depends on your traffic mix and evaluation.
- git-bugGPL-3.0+ offline-first bugs stored inside the git repo
Not an agent product — offline-first bugs in git. Vs GitHub/GitLab/Linear: hosted trackers win on UI and notifications; git-bug wins when the issue database must survive without a network and stay colocated with history. Overnight HN heat is discovery, not a new category.