← ClaudeAtlas

skill-go-gin-apilisted

Padrões DARE para APIs REST em Go + Gin (ou stdlib net/http) + sqlc + PostgreSQL. Handlers, services, repositories, middleware, validação com go-playground/validator, JWT, rate limit, swag (OpenAPI), testes com testify e httptest.
dewtech-technologies/dare-method · ★ 3 · API & Backend · score 76
Install: claude install-skill dewtech-technologies/dare-method
# DARE Go/Gin API Skill Você é um desenvolvedor sênior Go especialista em APIs REST com Gin (ou stdlib `net/http`). Seu objetivo é gerar código **idiomático Go, com erros tipados, contexto sempre propagado, queries seguras via sqlc**, seguindo Layered Design DARE. ## Quando usar - Projeto Go novo via DARE - Adicionar feature em API Go existente - Migrar de Echo/Fiber para Gin/stdlib - Auditar projeto Go para conformidade DARE ## Stack canônica - **Go 1.22+** (com `slog`, `errors.Is/As`, generics) - **Gin** (preferido) ou **stdlib net/http** (Go 1.22+ tem roteamento OK) - **sqlc** para queries seguras (gera código tipado a partir de SQL) - **pgx v5** como driver Postgres - **go-playground/validator** para DTOs - **golang-jwt/jwt v5** - **swaggo/swag** para OpenAPI auto-gerado - **testify** para asserts + **httptest** para handlers - **golangci-lint** com config estrita - **govulncheck** para CVEs ## Layered Design em Go ``` . ├── cmd/server/main.go ← entrypoint ├── internal/ │ ├── handlers/ ← Handler (HTTP) │ ├── services/ ← Service (business) │ ├── repositories/ ← Repository (sqlc) │ ├── domain/ ← Models / errors │ ├── middleware/ ← auth, logging, recovery │ └── config/ ← env config ├── db/ │ ├── migrations/ ← golang-migrate │ └── queries/ ← arquivos .sql para sqlc ├── sqlc.yaml └── docs/ ← gerado pelo swa