CLAUDE.md 設定ガイド
CLAUDE.md を使用して Claude Code にプロジェクトの背景情報とコーディング規約を提供する
CLAUDE.md 設定ガイド¶
CLAUDE.md は Claude Code のプロジェクトレベルの設定ファイルです。Claude Code を起動するたびに、プロジェクト内の CLAUDE.md が自動的に読み込まれ、プロジェクトのアーキテクチャ・コーディング規約・特別な規則を把握することで、あなたのプロジェクトをより正確に理解できるようになります。
なぜ CLAUDE.md が必要なのか¶
CLAUDE.md を使用しない場合、毎回の会話で次のようなことを繰り返し説明する必要があります:
- 「このプロジェクトは pnpm を使っています。npm ではありません」
- 「テストコマンドは
yarn test:unitです。npm testではありません」 - 「すべてのコンポーネントは TypeScript を使用し、any は禁止です」
これらの情報を CLAUDE.md に記述しておくと、Claude は起動後に自動的に読み込むため、毎回説明する必要がなくなります。
ファイルの階層¶
Claude Code は複数の階層にある CLAUDE.md を読み込み、マージします:
| 場所 | 適用範囲 |
|---|---|
~/.claude/CLAUDE.md |
グローバル設定、すべてのプロジェクトに適用 |
プロジェクトルート/CLAUDE.md |
プロジェクト設定、チーム共有のために Git にコミット |
.claude/CLAUDE.md |
プロジェクト固有の設定、.gitignore に追加可能 |
サブディレクトリ内の CLAUDE.md |
Claude がそのディレクトリにいるときのみ読み込まれる |
クイック作成¶
/init コマンドを使用して自動生成します:
/init
Claude が現在のプロジェクト構造を分析し、プロジェクト情報を含む CLAUDE.md を自動生成します。
基本構造¶
# プロジェクト名
## 概要
プロジェクトの目的と技術スタックを簡潔に説明する。
## 技術スタック
- ランタイム:Node.js 20
- フレームワーク:Next.js 15
- スタイリング:Tailwind CSS
- データベース:PostgreSQL + Prisma
## よく使うコマンド
- 開発サーバーの起動:`npm run dev`
- テストの実行:`npm test`
- プロダクションビルド:`npm run build`
- コードチェック:`npm run lint`
## コーディング規約
- TypeScript を使用し、`any` 型は禁止
- コンポーネントは関数型で記述する
- スタイリングは Tailwind のみ使用し、インライン style は書かない
- コミットメッセージの形式:`feat:` / `fix:` / `docs:` などのプレフィックス
## プロジェクト構造
- `src/app/` — Next.js App Router ページ
- `src/components/` — 再利用可能なコンポーネント
- `src/lib/` — ユーティリティ関数
- `prisma/` — データベーススキーマとマイグレーション
## 注意事項
- `prisma/migrations/` は変更せず、新しいマイグレーションのみ作成する
- すべての API ルートは `src/app/api/` にある
- 画像リソースは `public/images/` に配置する
実用的なヒント¶
1. パッケージマネージャーの指定¶
## パッケージ管理
pnpm を使用し、npm や yarn は使わないこと。
依存関係のインストール:`pnpm install`
依存関係の追加:`pnpm add <パッケージ名>`
2. テスト規約の説明¶
## テスト
- ユニットテスト:`vitest`、ファイル名は `.test.ts` で終わる
- E2E テスト:`playwright`、`tests/e2e/` に配置
- ユニットテストの実行:`pnpm test:unit`
- E2E の実行:`pnpm test:e2e`
- 新機能にはテストを必ず含める
3. 禁止操作の通知¶
## 禁止操作
- `console.log` を使わず、プロジェクトの `logger` モジュールを使用する
- `package-lock.json` を直接変更しない
- `main` ブランチに直接コミットせず、フィーチャーブランチを使用する
4. アーキテクチャの背景を提供する¶
## アーキテクチャの説明
このプロジェクトはヘキサゴナルアーキテクチャ(Hexagonal Architecture)を採用しています:
- `domain/` — ビジネスロジック、外部フレームワークに依存しない
- `application/` — ユースケース、domain と infrastructure を調整する
- `infrastructure/` — データベース・HTTP などの外部アダプター
- `interfaces/` — Web コントローラー・CLI などのエントリーポイント
新機能はこの階層構造に従い、domain 層に外部依存を持ち込まないこと。
5. 他のドキュメントを参照する¶
## 詳細情報
- API ドキュメント:`docs/api.md`
- デプロイ手順:`docs/deploy.md`
- データベーススキーマ:`prisma/schema.prisma`
CLAUDE.md とコンテキスト管理¶
CLAUDE.md の内容はコンテキストスペースを消費します。以下を推奨します:
- CLAUDE.md を簡潔に保ち、最も重要な情報に集中する
- 詳細なアーキテクチャドキュメントについては、内容を直接コピーするのではなく、CLAUDE.md にパス参照を記述する
- 長いセッションでも、CLAUDE.md は常に可視状態を保つ(
/compactで削除されない)
次のステップ¶
- コンテキスト管理 を学ぶ — コンテキストウィンドウの管理テクニックを習得する
- 権限の設定 を学ぶ — Claude が実行できる操作を制御する
- ワークフローのヒント を学ぶ — 効率的な Claude Code ワークフローを構築する