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 で削除されない)

次のステップ

🚀
QCode を始めよう — AI プログラミングアシスタント
Claude Code 公式リレー、高速・安定・すぐに使える
料金プランを見る → アカウント登録