godoctor
Installation
SKILL.md
Go Quality & Tooling Guide (GoDoctor)
GoDoctor is a high-level Go developer workflow orchestrator that coordinates standard Go toolchain binaries and static analysis utilities—providing guarded code edits, automated build and lint pipelines, mutation testing, and SQLite test analytics both as a command-line interface (CLI) and as a Model Context Protocol (MCP) server.
1. Go Coding & Architectural Standards
Google Go Style & Idiomatic Practices
- Standard Toolchain Enforcement: All code must be strictly formatted with
gofmt, organized withgoimports, checked withgo vet, and linted withgolangci-lint. - Naming Conventions:
- Avoid repeating package names in exported types or functions (no stuttering). Use
user.Serviceinstead ofuser.UserService,http.Serverinstead ofhttp.HttpServer, andconfig.Loadinstead ofconfig.LoadConfig. - Use camelCase for unexported identifiers and PascalCase for exported identifiers. Acronyms must remain uniform in case (e.g.,
JSONURL,dbID,xmlHTTP).
- Avoid repeating package names in exported types or functions (no stuttering). Use
- Error Handling:
- Return errors as the last return value.
- Wrap errors with contextual information using
fmt.Errorf("action description: %w", err). - Do not panic in libraries or standard business logic; return explicit errors.