テンプレート一覧に戻る
Elixir + Phoenix
Elixir + Phoenix + LiveView のプロジェクト向けCLAUDE.md。リアルタイムWebアプリとOTPパターンの活用に最適です。
上級elixirphoenixliveviewotp
CLAUDE.md
# プロジェクト名
Elixir + Phoenix で構築されたWebアプリケーション。
## 技術スタック
- **フレームワーク**: Phoenix 1.7+ (LiveView)
- **言語**: Elixir 1.17+
- **ORM**: Ecto 3.x
- **ランタイム**: Erlang/OTP 27
- **DB**: PostgreSQL 16
- **テスト**: ExUnit
## コマンド
| コマンド | 用途 |
|---------|------|
| `mix phx.server` | 開発サーバー起動 |
| `mix test` | テスト実行 |
| `mix ecto.migrate` | マイグレーション適用 |
| `mix format` | フォーマット |
| `mix credo` | 静的解析 |
| `mix dialyzer` | 型チェック |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `lib/app_web/` | Webレイヤー(コントローラー・LiveView) |
| `lib/app/` | ビジネスロジック・コンテキスト |
| `lib/app/repo.ex` | Ectoリポジトリ |
| `priv/repo/migrations/` | マイグレーション |
| `test/` | テストコード |
## コーディング規約
- Context(バウンデッドコンテキスト)でビジネスロジックを整理
- LiveViewでリアルタイムUI(WebSocket)
- パイプ演算子 `|>` でデータ変換を連鎖
- パターンマッチングで条件分岐
- with文でハッピーパスを明確に
- GenServerは必要な場合のみ使用
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式