shop/ Pick any file or folder on the left to see what it is, why it exists, when you add it and the mistakes people make with it. Switch the stage to watch the project grow.
Top level, at Growing .devcontainer A Dev Container definition: Go, Docker and the tools preinstalled in a container. .vscode Shared VS Code settings, recommended extensions and debug configurations. api The API contract: the OpenAPI document that describes every endpoint. bin Built binaries from make build (go build -o bin/api ./cmd/api). tmp Where air writes the rebuilt binary and its build log during live reload. cmd One folder per executable this module builds. internal All the application code. Go forbids other modules from importing anything under internal/. migrations SQL migrations for goose, embedded into the binary with go:embed. sqlc reads them as the schema. .air.toml Config for air, which rebuilds and restarts the server when a .go or .sql file changes. .editorconfig Tabs for Go and Makefiles, spaces for YAML, final newline everywhere. .env Local environment variables for development. Never committed. .env.example Every environment variable the service reads, with safe example values. Committed. .gitignore Ignores bin/, tmp/, .env, coverage files and editor folders. .golangci.yml golangci-lint v2 configuration: which linters and formatters run and with what settings. AGENTS.md Instructions for AI coding agents: commands, layout rules, testing rules. CLAUDE.md Claude Code's instructions file, often a single line importing AGENTS.md. compose.yaml Local services: PostgreSQL now, an OpenTelemetry collector or Jaeger later. coverage.out The coverage profile from go test -coverprofile; view it with go tool cover -html. go.mod The module definition: import path, Go version, dependencies and tools. go.sum Checksums of every dependency version, written by the go command. Commit it. lefthook.yml Git hooks with lefthook: format and lint staged Go files before each commit. Makefile Short names for the commands you run every day: dev, test, lint, generate, migrate, build. README.md What the service does and how to run, test, migrate and deploy it. sqlc.yaml sqlc config: the migrations as schema, each feature's queries.sql, and where to write the Go.