Go to file
sneak a414a82306 Add godoc, fix commit hash resolution for submodules
- Add godoc tool (now a separate submodule at cmd/godoc/v0.1.0-deprecated)
- Fix update tool to handle godoc's special tag format
- All tools now use commit hashes instead of version tags
2025-12-18 02:08:56 -08:00
cmd/update Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -08:00
.gitignore Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -08:00
go.mod Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00
main.go Add timing info for each tool and total duration 2025-12-18 01:11:17 -08:00
README.md Update README with new commit hash 2025-12-18 01:11:35 -08:00
tools.json Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -08:00

gosetup

Installs common Go development tools at pinned versions.

Install

# current as of 2025-12-18
go install sneak.berlin/go/gosetup@30b1cebd02df4e683b7034e1f0ecbf87baa0ecf8 ; hash -r ; gosetup

Usage

# Install all tools at pinned versions
gosetup

# List tools and versions without installing
gosetup -l

# Dry run (show commands without executing)
gosetup -n

# Verbose output
gosetup -v

# Control parallelism (default: 4)
gosetup -j 8

Updating Pinned Versions

To update tools.json with the latest versions:

go run ./cmd/update -o tools.json

Included Tools

  • Language Server: gopls
  • Formatters: gofumpt, goimports, golines
  • Linters: golangci-lint, staticcheck, errcheck, revive
  • vim-go tools: godef, guru, gorename, gotests, gomodifytags, impl, fillstruct, fillswitch, motion, iferr, keyify, asmfmt, gotags
  • Debugger: dlv (delve)
  • And more: gocyclo, ineffassign, misspell, unconvert, gopkgs, go-outline, go-symbols