{"slug": "go-fix", "name": "go fix", "category": "other", "category_name": "Other software", "description": "", "recommenders": 4, "commenters": 4, "warners": 0, "score": 3.64, "rising": 1.35, "first": "2026-02-17", "latest": "2026-09-28", "why": "the migration can be made pretty easy for users with deprecation notices and the `go fix` tool", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 0, "compare": 0, "warn": 0}, "spark": [0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "the migration can be made pretty easy for users with deprecation notices and the `go fix` tool", "kind": "", "icon": false, "domain": null, "github_repo": null, "official_url": "https://pkg.go.dev/cmd/fix", "pricing": "", "aliases": ["go fix"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 797969120, "item_id": 49873070, "url": "https://news.ycombinator.com/item?id=49873070", "by": "quacker", "date": "2026-09-28", "version": null, "stance": "recommend", "quote": "the migration can be made pretty easy for users with deprecation notices and the `go fix` tool", "excerpt": "I think the migration can be made pretty easy for users with deprecation notices and the `go fix` tool. Better explained in [1] (I have not tried it myself). The idea is: the package maintainer pushes a final version of the old package that is a shim, and which has a deprecation notice. The shim imports the new package, and forwards all calls to the new package (and I suppose type aliases and variable aliases as well", "context": "", "use_case": "", "switched_from": "", "story": "Don't couple your Go code to GitHub"}, {"id": 790830977, "item_id": 49426936, "url": "https://news.ycombinator.com/item?id=49426936", "by": "nzoschke", "date": "2026-08-24", "version": null, "stance": "recommend", "quote": "I do these as linters, specifically as Golang `go vet` and `go fix` commands.", "excerpt": "Seems like this is the year of the sandbox and governance layers. I recently wrote how we set all this up for our agent computers that help people with their email: https://housecat.com/blog/agent-computer-101 I do agree even more rules help keep things on track, but I do these as linters, specifically as Golang `go vet` and `go fix` commands. That works 100x better than any SKILL.md or team of agents in my experienc", "context": "", "use_case": "", "switched_from": "", "story": "Fences, Not Sandboxes"}, {"id": 753595808, "item_id": 47099738, "url": "https://news.ycombinator.com/item?id=47099738", "by": "age123456gpg", "date": "2026-02-21", "version": null, "stance": "recommend", "quote": "Using go fix to modernize Go code", "excerpt": "Related, Using go fix to modernize Go code https://go.dev/blog/gofix", "context": "", "use_case": "", "switched_from": "", "story": "Jetbrains released skills for Claude Code to write modern Go code"}, {"id": 752835120, "item_id": 47052195, "url": "https://news.ycombinator.com/item?id=47052195", "by": "lowmagnet", "date": "2026-02-17", "version": null, "stance": "recommend", "quote": "This tool is way cooler, post-redesign.", "excerpt": "I just searched for `for` loops with `:=` within and hand-fixed them. I found a few forms of the for loops and where there was a high number, I used regexp. This tool is way cooler, post-redesign.", "context": "", "use_case": "Go code modernization", "switched_from": "", "story": "Using go fix to modernize Go code"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["go code modernization"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49868404", "title": "Don't couple your Go code to GitHub", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49423146", "title": "Fences, Not Sandboxes", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47098398", "title": "Jetbrains released skills for Claude Code to write modern Go code", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47049479", "title": "Using go fix to modernize Go code", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 2}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"recommend": 1}, "2026-09": {"recommend": 1}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 797969120, "item_id": 49873070, "url": "https://news.ycombinator.com/item?id=49873070", "by": "quacker", "date": "2026-09-28", "version": null, "stance": "recommend", "quote": "the migration can be made pretty easy for users with deprecation notices and the `go fix` tool", "excerpt": "I think the migration can be made pretty easy for users with deprecation notices and the `go fix` tool. Better explained in [1] (I have not tried it myself). The idea is: the package maintainer pushes a final version of the old package that is a shim, and which has a deprecation notice. The shim imports the new package, and forwards all calls to the new package (and I suppose type aliases and variable aliases as well", "context": "", "use_case": "", "switched_from": "", "story": "Don't couple your Go code to GitHub"}, {"id": 790830977, "item_id": 49426936, "url": "https://news.ycombinator.com/item?id=49426936", "by": "nzoschke", "date": "2026-08-24", "version": null, "stance": "recommend", "quote": "I do these as linters, specifically as Golang `go vet` and `go fix` commands.", "excerpt": "Seems like this is the year of the sandbox and governance layers. I recently wrote how we set all this up for our agent computers that help people with their email: https://housecat.com/blog/agent-computer-101 I do agree even more rules help keep things on track, but I do these as linters, specifically as Golang `go vet` and `go fix` commands. That works 100x better than any SKILL.md or team of agents in my experienc", "context": "", "use_case": "", "switched_from": "", "story": "Fences, Not Sandboxes"}, {"id": 753595808, "item_id": 47099738, "url": "https://news.ycombinator.com/item?id=47099738", "by": "age123456gpg", "date": "2026-02-21", "version": null, "stance": "recommend", "quote": "Using go fix to modernize Go code", "excerpt": "Related, Using go fix to modernize Go code https://go.dev/blog/gofix", "context": "", "use_case": "", "switched_from": "", "story": "Jetbrains released skills for Claude Code to write modern Go code"}, {"id": 752835120, "item_id": 47052195, "url": "https://news.ycombinator.com/item?id=47052195", "by": "lowmagnet", "date": "2026-02-17", "version": null, "stance": "recommend", "quote": "This tool is way cooler, post-redesign.", "excerpt": "I just searched for `for` loops with `:=` within and hand-fixed them. I found a few forms of the for loops and where there was a high number, I used regexp. This tool is way cooler, post-redesign.", "context": "", "use_case": "Go code modernization", "switched_from": "", "story": "Using go fix to modernize Go code"}]}