# Conventions ## Language & Dependencies - Go standard library only — no external dependencies. - Target the latest stable Go release. ## Error Handling - Return errors; never panic. - Wrap errors with context using `fmt.Errorf("context: %w", err)`. - Check all error returns. ## Testing - Test every exported function. - Use `net/http/httptest` for HTTP mocking. - Table-driven tests where multiple inputs share the same assertion logic. - Integration tests use build tags (`//go:build integration`). ## Style - Keep functions short and focused. - Prefer early returns over deep nesting. - Meaningful variable names — no single-letter names outside loop indices. - Comments explain *why*, not *what*. ## Process - `go test ./...` must pass before commit. - `go vet ./...` must pass before commit. - Keep commits atomic and well-described.