CC for Biz
02

CLAUDE.mdで業務ルールを設定する

プロジェクトの「記憶」を設計する基本

CLAUDE.mdとは何か

CLAUDE.mdは、Claude Codeがセッション開始時に自動で読み込む「永続的な指示書」です。 プロジェクトのルール、技術仕様、禁止事項などを書いておくと、 毎回のセッションでClaude Codeがその内容を前提として動作します。

通常のプロンプト(対話画面での指示)は、セッションが変わるとリセットされます。 一方、CLAUDE.mdに書いた内容は、誰がいつセッションを開始しても必ず読み込まれます。 つまり、チーム全員で共有できる「AIへの業務マニュアル」のようなものです。

プロンプトとの違い: プロンプトは「その場限りの指示」、CLAUDE.mdは「常に適用されるルール」です。 毎回同じことを指示しているなら、それはCLAUDE.mdに書くべきサインです。

読み込みの仕組み

CLAUDE.mdの読み込みには2つのメカニズムがあります。 この仕組みを理解しておくと、ファイルの配置場所を正しく選べるようになります。

Ancestor Loading(上方向・即座に読み込み)

Claude Codeを起動したディレクトリから、上の階層に向かってCLAUDE.mdを探します。 見つかったものはすべて即座に読み込まれます。 たとえば/project/src/で起動した場合、/project/src/CLAUDE.md/project/CLAUDE.mdの両方が読み込まれます。

Descendant Loading(下方向・遅延読み込み)

起動ディレクトリより下の階層にあるCLAUDE.mdは、 そのディレクトリ内のファイルに実際にアクセスしたタイミングで読み込まれます。 起動時には読み込まれないため、不要なコンテキスト消費を防げます。

注意: 兄弟ディレクトリのCLAUDE.mdは読み込まれません。 たとえばfrontend/ディレクトリで作業しているとき、backend/CLAUDE.mdは読み込まれません。 モノレポ(複数プロジェクトが1つのリポジトリにある構成)では、 この仕様を意識してCLAUDE.mdを配置する必要があります。

4つの配置場所と使い分け

CLAUDE.mdは目的に応じて4つの場所に配置できます。 それぞれ読み込まれるスコープが異なります。

1. グローバル設定: ~/.claude/CLAUDE.md

すべてのプロジェクトで共通して適用したいルールを書きます。 たとえば「応答は常に日本語で」「コミットメッセージのフォーマット」など、 自分の作業スタイルに関わる設定です。

# グローバル設定(~/.claude/CLAUDE.md)
- 応答は日本語で行うこと
- コードにはコメントを日本語で追加すること
- ファイルを削除する前に必ず確認すること

2. プロジェクトルート: ./CLAUDE.md

そのプロジェクト固有のルールや技術情報を書きます。 チームで共有するため、Gitリポジトリにコミットします。 最も重要で、最も頻繁に使う配置場所です。

3. ディレクトリ単位: ./src/CLAUDE.md

特定のディレクトリに固有のルールがある場合に使います。 たとえばsrc/components/ディレクトリに 「コンポーネントの命名規則」を置くといった使い方です。

4. 個人設定: CLAUDE.local.md

自分だけの設定を書くファイルです。.gitignoreに追加して、チームには共有しません。 個人的な作業環境の設定や、自分用のショートカット指示などに使います。

最初に書くべき5項目

CLAUDE.mdに何を書けばよいか迷ったら、まず以下の5項目から始めてください。

1. プロジェクト概要

このプロジェクトが何なのかを1〜2文で説明します。 Claude Codeが作業の文脈を正しく理解するための土台になります。

2. 技術スタック

使用しているフレームワーク、言語、主要なライブラリを列挙します。

3. コーディング規約

命名規則、ファイル構成のルール、コメントの書き方など。 既存のコードと一貫性のある出力を得るために重要です。

4. 禁止事項

「やってはいけないこと」を明記します。 たとえば「本番データベースに直接アクセスしない」 「.envファイルの内容をコードに直書きしない」などです。

5. テスト・デプロイ手順

テストの実行コマンド、デプロイの手順を書いておくと、 Claude Codeが自動でテストを実行したり、 デプロイ前のチェックを行ったりできるようになります。

# プロジェクト概要
飲食店向けの予約管理Webアプリケーション。

# 技術スタック
- Next.js 15 (App Router)
- TypeScript
- Supabase (データベース・認証)
- Tailwind CSS

# コーディング規約
- コンポーネントはPascalCase(例: ReservationCard)
- 関数はcamelCase(例: formatDateTime)
- コメントは日本語で記述

# 禁止事項
- .envファイルの内容をハードコードしない
- any型を使わない
- console.logを本番コードに残さない

# テスト・デプロイ
- テスト実行: npm run test
- ビルド確認: npm run build
- デプロイ前に必ずビルドが通ることを確認する

書きすぎないことが重要

CLAUDE.mdは便利ですが、書きすぎると逆効果になります。 Claude Codeの開発に携わるBoris Cherny氏は、200行以下に収めることを推奨しています。

CLAUDE.mdの内容はセッション開始時にコンテキストウィンドウに読み込まれます。 ここに大量の情報を詰め込むと、実際の作業に使えるコンテキストが減り、 指示の優先順位もあいまいになって精度が下がります。

また、Claude CodeにはAuto Memory機能があり、 作業中に学んだ情報を自動的にCLAUDE.mdに追記することがあります。 定期的にファイルを見直して、不要な記述を整理する習慣をつけてください。

目安: CLAUDE.mdは「新しく入ったチームメンバーに最初に伝える情報」と同じ粒度が適切です。 細かい手順書ではなく、判断の指針となるルールを書いてください。

CLAUDE.local.mdの活用

チームで作業する場合、個人の好みや環境に依存する設定はCLAUDE.local.mdに分離します。 このファイルは.gitignoreに追加して、リポジトリには含めません。

# .gitignore に追加
CLAUDE.local.md

CLAUDE.local.mdには、たとえば以下のような内容を書きます。

# 個人設定(CLAUDE.local.md)
- 私の名前は田嶋です。コミットメッセージに名前を含めてください
- ローカルの開発サーバーはポート3001で起動しています
- テスト実行時は --watch オプションをつけてください

このように、プロジェクト共通のルールはCLAUDE.mdに、 個人の環境設定はCLAUDE.local.mdに分けることで、 チーム全体の生産性と個人の作業効率を両立できます。

導入のご相談はお気軽に

個別のご質問・導入相談を承っています。

無料相談・お問い合わせ
© 2025 Fyve Inc. All rights reserved.