Skip to main content
Kodelyth ECC
Command

/go-build

Fix Go build errors, go vet warnings, and linter issues incrementally. Invokes the go-build-resolver agent for minimal, surgical fixes.

Run:/go-build

Go Build and Fix

This command invokes the go-build-resolver agent to incrementally fix Go build errors with minimal changes.

What This Command Does

  • Run Diagnostics: Execute go build, go vet, staticcheck
  • Parse Errors: Group by file and sort by severity
  • Fix Incrementally: One error at a time
  • Verify Each Fix: Re-run build after each change
  • Report Summary: Show what was fixed and what remains

When to Use

Use /go-build when:

  • go build ./... fails with errors
  • go vet ./... reports issues
  • golangci-lint run shows warnings
  • Module dependencies are broken
  • After pulling changes that break the build

Diagnostic Commands Run

# Primary build check
go build ./...

Static analysis

go vet ./...

Extended linting (if available)

staticcheck ./... golangci-lint run

Module issues

go mod verify go mod tidy -v

Example Session

User: /go-build

Agent:

Go Build Resolution

Initial Diagnostics

bash $ go build ./... internal/service/user.go:25:15: undefined: UserRepository internal/handler/api.go:42:9: cannot use x (type string) as type int internal/handler/api.go:58:2: missing return at end of function

Errors found: 3

Fix 1: Undefined Identifier

File: internal/service/user.go:25 Error: undefined: UserRepository Cause: Missing import

go // Added import import "project/internal/repository"

// Changed var repo UserRepository // To var repo repository.UserRepository


bash $ go build ./...

2 errors remaining


Fix 2: Type Mismatch

File: internal/handler/api.go:42 Error: cannot use x (type string) as type int

go // Changed count := params.Get("count") // To countStr := params.Get("count") count, _ := strconv.Atoi(countStr)

bash $ go build ./...

1 error remaining


Fix 3: Missing Return

File: internal/handler/api.go:58 Error: missing return at end of function

go func GetUser(id string) (*User, error) { if id == "" { return nil, ErrInvalidID } user := findUser(id) // Added missing return return user, nil }

bash $ go build ./...

Build successful!


Final Verification

bash $ go vet ./...

No issues

$ go test ./... ok project/internal/service 0.015s ok project/internal/handler 0.023s


Summary

| Metric | Count | |--------|-------| | Build errors fixed | 3 | | Vet warnings fixed | 0 | | Files modified | 2 | | Remaining issues | 0 |

Build Status: PASS: SUCCESS

Common Errors Fixed

| Error | Typical Fix | |-------|-------------| | undefined: X | Add import or fix typo | | cannot use X as Y | Type conversion or fix assignment | | missing return | Add return statement | | X does not implement Y | Add missing method | | import cycle | Restructure packages | | declared but not used | Remove or use variable | | cannot find package | go get or go mod tidy |

Fix Strategy

  • Build errors first - Code must compile
  • Vet warnings second - Fix suspicious constructs
  • Lint warnings third - Style and best practices
  • One fix at a time - Verify each change
  • Minimal changes - Don't refactor, just fix

Stop Conditions

The agent will stop and report if:

  • Same error persists after 3 attempts
  • Fix introduces more errors
  • Requires architectural changes
  • Missing external dependencies

Related Commands

  • /go-test - Run tests after build succeeds
  • /go-review - Review code quality
  • /verify - Full verification loop

Related

  • Agent: agents/go-build-resolver.md
  • Skill: skills/golang-patterns/

Agents this command fires

Related skills