skills/go-project-setup/SKILL.md
Standardized setup for new Go (Golang) projects and services. Activate to ensure clean, idiomatic project structures (Standard Layout) and implement production-ready patterns (graceful shutdown, package separation) from day one.
npx skillsauth add danicat/godoctor go-project-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides the creation of clean, idiomatic Go project structures.
cmd/, internal/).
pkg/ directory. (It is an anti-pattern common in Kubernetes but not idiomatic Go).cmd/ and internal/ when multiple binaries or private packages are needed.go.mod specifies the latest stable Go version (currently 1.24+).Ask the user: "Is this a simple tool, a library, or a multi-service repo?"
MANDATORY: You MUST read and use the templates provided in the assets/ directory. They establish idiomatic patterns like graceful shutdown, run functions, and package separation.
assets/cli-simple. Flat structure.assets/cli-cobra. For complex CLI tools.assets/library. Package in root, internal/ for hidden logic.assets/webservice.
cmd/app-name/main.go: Entry point using the run function pattern.internal/: Private application logic.assets/mcp-server.assets/game. Using Ebitengine.mkdir my-appgo mod init github.com/user/my-app.golangci.yml if the project requires rigorous style enforcement.assets/. Ensure module names are updated.go mod tidy and go build ./....references/project_layout.md: Official Go Module Layout guide.development
Guidelines and templates for structuring software development goals and ideas into actionable, bounded tasks using Context/Todo/AC, enforced by the DoR gate. Activate when scoping user requests, decomposing RFCs into tasks, or creating a new task file.
development
Guidelines and templates for authoring Request for Comments (RFCs). Activate when proposing significant features/refactorings, exploring design alternatives under high ambiguity, or gathering technical consensus.
development
Pre-release checklist and quality gate to verify codebase health, docs, and security before interacting with Git. Activate when preparing to tag/publish a release, concluding milestones, or running final verification on a pull request.
development
Highly actionable step-by-step checklist for diagnosing and resolving Go compilation errors, type errors, build/test failures, and runtime issues. Activate on any build or execution failure.