GoDoctor is a specialized and optimized suite of tools carefully engineered to elevate agentic coding in Go codebases.
Install GoDoctor using the one-line installation command:
curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | shYou can pass options to customize the installation target or scope:
- Antigravity 2.0 (Plugin) (Default):
curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target agy2 # Global: ~/.gemini/config/plugins/godoctor curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target agy2 -w # Workspace: .agents/plugins/godoctor
- Antigravity CLI (Plugin):
curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target cli # Global: ~/.gemini/antigravity-cli/plugins/godoctor curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target cli -w # Workspace: .agents/plugins/godoctor
- Other Agents (Skills Only):
curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target skills # Global: ~/.agents/skills curl -fsSL https://raw.githubusercontent.com/danicat/godoctor/main/install.sh | sh -s -- --target skills -w # Workspace: .agents/skills
Alternatively, if you have cloned the repository locally:
./install.sh [options]GoDoctor provides the following tools:
list_files: lists files in the workspace up to a given depth.smart_read: reads files including contextual type information.smart_edit: handles single-file modifications with compiler verification.smart_multi_edit: handles atomic modifications across multiple files in batch with compiler verification.smart_build: manages module tidying, code modernization, formatting, compiling, testing, linting, and deadcode analysis.add_dependencies: installs Go modules and pulls their documentation.read_docs: fetches documentation for packages and symbols.mutation_test: runs Selene mutation tests to check test coverage quality.test_query: queries test results and coverage data using SQL.
Whenever possible, use the current version of GoDoctor to build the next one (using smart_build). This will enable continuous improvement as the smart build pipeline ensures build, test, lint and modernizers are always up to date.
Releasing a new version is automated into a single one-liner command:
make bump-version VERSION=0.21.0This single command automatically:
- Creates the matching Git release tag (
v0.21.0). - Pushes tags to GitHub (
git push origin main --tags), triggering the automated GoReleaser CI/CD pipeline.
To test the GoReleaser build configuration locally without creating a release tag:
make snapshotApache 2.0