CLAUDE.md
ツールスタック
- ランタイム/パッケージマネージャー: Bun
- バックエンド: Hono
- フロントエンド: Vite + React
- リンター/フォーマッター: Biome(設定は
biome.json)
- テスト:
bun test
- パッケージ操作: ni(
nr = run, ni = install, nlx = exec)
機能開発フロー(必須)
新機能を実装するときは 必ず /feature スキルを使う。直接実装を開始することを禁止する。
フロー: ヒアリング(AskUserQuestion)→ 仕様書承認 → Issue 作成 → 5 役割並列実装(PM / Designer / Developer / QA / User)→ 統合 → PR
実装原則
- TDD: テストを先に書く(Red → Green → Refactor)。カバレッジ 100% を維持する。
- BDD スタイル:
describe/it を日本語で記述し、振る舞いを表現する。
- No Mock: 実際の DB・API・ファイル I/O を使う。モックデータ・スタブ API 禁止。
- フルスタック一気通貫: 新機能はデータモデル・API・フロント・テストをまとめて実装する。
- Plan.md 運用: 実装前に計画を作成し、進捗ログと振り返りを記録する(削除禁止)。
Plan.md の構成
### [機能名] - [日付]
目的 / 制約 / タスク / 検証手順 / 進捗ログ / 振り返り(問題・根本原因・予防策)
品質ゲート
タスク完了前に全て Green にする。
nr lint # biome check
nr typecheck # tsc --noEmit
nr test # bun test
nr build
Git・CI ルール
- Conventional Commits 形式でコミットする。
- Issue は
#番号 ではなくフル URL か Issue 番号 で記述する。
- CI が Green になるまで次に進まない。
gh pr diff でセルフレビューしてから人間にレビューを依頼する。
ドキュメント規則
- 文末は「。」で終える。
- 日本語と半角英数字の間に半角スペースを入れる。
- 絵文字と太字の併用を避ける。
- textlint はセーフティネット。執筆時点でルールを意識してエラーを作らない。
コンパクション指示
コンテキスト圧縮時に以下を必ず保持すること。
- 変更済みファイルの一覧。
- 現在のブランチ名と作業中の Issue 番号。
- Plan.md の目的とタスク進捗。
ADR(Architecture Decision Records)
設計判断は docs/adr/ に ADR として記録する。
- ファイル名:
NNNN-タイトル.md(例: 0001-biome-を採用.md)。
- ステータス: Accepted / Superseded / Deprecated。
- ADR は不変。変更する場合は新しい ADR で Supersede する。
- リンタールールを追加したら対応する ADR を参照すること。
禁止事項
rm コマンド使用禁止(ファイル削除はユーザーに依頼する)。
- モックデータ・スタブ API の使用禁止。