テンプレート一覧に戻る
Haskell
Haskell + Stack/Cabal + servant/scotty のプロジェクト向けCLAUDE.md。純粋関数型プログラミングでの型安全なWeb開発に最適です。
上級haskellstackservantfunctional
CLAUDE.md
# プロジェクト名
Haskell で構築されたWebアプリケーション / ライブラリ。
## 技術スタック
- **言語**: Haskell (GHC 9.8+)
- **ビルド**: Stack / Cabal
- **Webフレームワーク**: servant / scotty
- **DB**: persistent + esqueleto
- **テスト**: Hspec + QuickCheck
## コマンド
| コマンド | 用途 |
|---------|------|
| `stack run` | アプリケーション起動 |
| `stack test` | テスト実行 |
| `stack build` | ビルド |
| `hlint src/` | Lint実行 |
| `ormolu --mode inplace src/**/*.hs` | フォーマット |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `src/` | ライブラリコード |
| `app/Main.hs` | エントリーポイント |
| `src/Api/` | API型定義・ハンドラー |
| `src/Db/` | DB操作・モデル |
| `test/` | テストコード |
## コーディング規約
- 型シグネチャをすべてのトップレベル関数に付与
- newtypeでドメイン型をラップ
- MonadTransformerスタック(ReaderT パターン)で依存注入
- -Wallと-Werrorでコンパイラ警告をエラーに
- 部分関数(head, tail等)の使用禁止
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式