I didn't wake up planning to get six pull requests merged. I just wanted to add one missing Go tool to termux/termux-packages. Then I figured, while I'm in here, why not bring the rest of my Go toolkit along too? A few hours and six PRs later, all of them were sitting in main.
Here's how it went down — and what actually shipped.
What Landed
Termux users can now pkg install a proper Go developer toolkit, straight from the official repo:
- goimports 0.49.0 — the tool that quietly fixes your import block, adding what's missing and trimming what isn't used anymore. Learn more →
- golangci-lint 2.13.1 — dozens of Go linters bundled into one fast binary. At 45 MB installed, it's the heavyweight of the group, but worth every megabyte. Learn more →
- air 1.67.4 — live reload for Go apps, so your binary rebuilds and restarts the second you save a file. Learn more →
- gotests 1.9.0 — generates table-driven test scaffolding straight from your source, so you stop typing the same boilerplate. Learn more →
- goreleaser 2.17.1 — packages and ships Go binaries in one command, cross-compilation included. Learn more →
- govulncheck 1.1.4 — scans your code and dependencies for known vulnerabilities. Learn more →
Six packages, one theme: making Termux a real place to write Go.
The Curveball: A Last-Minute Rebase
Right as review was wrapping up, maintainer @robertkirkman asked for something I hadn't planned for: rebase and force-push all six PRs so they'd recompile against the just-released Go 1.27.0. You can see the ask in the goimports thread.
No arguing with that logic — better to ship on the latest compiler than patch it later. I rebased all six branches, force-pushed, and got a quick "Thank you!" in response. Not long after, the merges started coming in one by one.
Proof It's Real
Once everything landed, I ran the most satisfying command in the Termux workflow — pkg show — against all six:
Package: goimports | 0.49.0 | https://pkg.go.dev/golang.org/x/tools/cmd/goimports
Package: golangci-lint | 2.13.1 | https://golangci-lint.run/
Package: air | 1.67.4 | https://github.com/air-verse/air
Package: gotests | 1.9.0 | https://github.com/cweill/gotests
Package: goreleaser | 2.17.1 | https://goreleaser.com
Package: govulncheck | 1.1.4 | https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
Six for six. All installable right now with:
pkg install goimports golangci-lint air gotests goreleaser govulncheck
What I'd Tell Someone Trying This Themselves
Batch related packages together. Reviewers can apply one piece of feedback — like a compiler bump — across the whole set instead of repeating themselves six times.
Move fast on review feedback. The gap between "please rebase" and "rebased and pushed" is often the difference between a PR that merges today and one that sits for a week.
Don't underestimate the boring packages. None of these tools are glamorous. Together, though, they turn a phone into a legitimate Go dev environment.
Thanks to @robertkirkman and the rest of the termux/termux-packages team for the fast, thorough reviews. More packages coming soon.
Working on a Go tool you think Termux is missing? Tell me about it in the comments — I'm always looking for the next PR.




![[Go in Practice] Writing Modern Go with AI: Testing JetBrains go-modern-guidelines and Refactoring a 1,039-line main.go](https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnaugad5rry7u00pyg8wh.png)








