CLAUDE.md for Go

go test ./... and gofmt are simple — which is exactly why a CLAUDE.md matters: agents otherwise invent Makefile targets that do not exist. Below is a complete, committable example for a typical Go project. To get one tailored to your dependencies and scripts, paste your manifest into the free generator (client-side, nothing uploaded) or run npx getagentready in your repo.

Complete example

# CLAUDE.md

This file guides Claude Code when working in this repository.

## Project

**svc** — Stack: Go, Gin, go test, gofmt.

## Commands

- Build: `go build ./...`
- Run all tests: `go test ./...`
- Run a single test: `go test ./path/to/pkg -run TestName`
- Lint: `go vet ./...`
- Format: `gofmt -w .`

## Testing

Tests use go test. Write or update tests alongside behavior changes; run the single-test command during iteration and the full suite before finishing.

## Conventions

- Bind and validate request bodies with struct tags; group routes with middleware per group.
- Prefer small, focused changes; do not refactor unrelated code in the same change.
- Match the existing code style of the file you are editing over any global preference.
- Never commit secrets. `.env*` files are local-only.
- After making changes, run the test and lint commands above before considering work done.

## Gotchas

- `c.JSON` does not stop the handler — `return` after writing a response or use `c.AbortWithStatusJSON`.

<!-- generated with https://getagentready.dev -->

Going further

This is the generated baseline. The Agent-Ready Pro Pack includes a hand-tuned, deeper Go configuration — architecture guidance, testing strategy, common-task recipes — plus 12 workflow skills and enforcement hooks. See also the CLAUDE.md guide and AGENTS.md guide.

Generate yours in 30 seconds — tailored to your actual Go repo. Generate mine →