テンプレート一覧に戻る
Go + Gin
Go + Gin + GORM のプロジェクト向けCLAUDE.md。Ginフレームワークでの高速API開発に最適です。
中級gogingormapi
CLAUDE.md
# プロジェクト名
Go + Gin で構築されたREST APIサーバー。
## 技術スタック
- **フレームワーク**: Gin 1.10+
- **言語**: Go 1.23+
- **ORM**: GORM 2.x
- **バリデーション**: go-playground/validator
- **DB**: PostgreSQL 16
- **テスト**: testing + testify
## コマンド
| コマンド | 用途 |
|---------|------|
| `go run ./cmd/server` | 開発サーバー起動 |
| `go test ./...` | テスト実行 |
| `go test -cover ./...` | カバレッジ付きテスト |
| `go vet ./...` | 静的解析 |
| `golangci-lint run` | Lint実行 |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `cmd/server/` | エントリーポイント |
| `internal/handler/` | Ginハンドラー |
| `internal/service/` | ビジネスロジック |
| `internal/repository/` | GORMデータアクセス層 |
| `internal/model/` | ドメインモデル・DTOストラクト |
| `internal/middleware/` | ミドルウェア(認証・ログ等) |
## コーディング規約
- Effective Go に従う
- エラーは必ずハンドリング(`_ =` 禁止)
- interfaceは利用側で定義
- Gin middleware でクロスカッティング関心事を処理
- DTOストラクトにはbindingタグでバリデーション
- context.Contextを第1引数で伝播
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式