Claude Codeのプロジェクト指示を整理する|CLAUDE.mdの保存と確認

Claude Codeのプロジェクト指示を整理する|CLAUDE.mdの保存と確認 エンジニア
Claude Codeのプロジェクト指示を整理する|CLAUDE.mdの保存と確認

Claude Codeのプロジェクト指示を整理する|CLAUDE.mdの保存と確認

更新日:2026年11月13日

毎回「テストを実行して、差分を説明して」と伝えるなら、繰り返し使う手順をプロジェクトの指示ファイルへまとめられます。最初はリポジトリ直下の CLAUDE.md 1枚に、対象ファイル・テストコマンド・報告内容を具体的に書き、読み込みと実際の変更を別々に確認します。

対象はClaude Codeを起動でき、GitとPythonの基本操作ができる開発者です。この記事は教材の作り方と確認手順を扱います。ローカルのPythonテストは検証済みですが、Claude Codeでの読み込み画面や指示の適用前後の応答は今回未検証です。本記事に広告・アフィリエイトリンクはありません。

最初は、どこへ保存するかを固定する

本稿では次の構成を使います。name_tools.py とテストの作り方は最初のテスト追加の教材にあります。初回起動がまだなら、そちらで準備してください。

claude-first-test/
├── CLAUDE.md
├── name_tools.py
└── test_name_tools.py

公式のプロジェクト指示の説明では、プロジェクトの CLAUDE.md と、ユーザー共通の指示などを区別しています。今回のPython教材だけに必要なルールは、ユーザー共通の設定へ広げず、この練習フォルダーに置きます。

既存プロジェクトでは、すでにある CLAUDE.md を上書きしないでください。親フォルダーや他の指示との整合も確認します。本記事は階層を増やす例ではなく、1枚で動作を追う最小の練習です。

曖昧な指示を、確認できる4項目へ変える

次の指示では「何をすれば終わりか」が分かりません。

きれいなコードにする。
必要なテストをする。
変更内容を適切に説明する。

練習フォルダーの CLAUDE.md へ、次を保存します。教材のファイル名と実行コマンドに対応した例なので、別のリポジトリへそのままコピーする前に読み替えてください。

# このプロジェクト
Python標準ライブラリだけで動く、人名文字列の整形教材。

## 変更の範囲
- テスト追加の依頼では test_name_tools.py だけを変更する。
- name_tools.py の公開関数名と既存動作を変更しない。
- 外部依存・ネットワーク処理を追加しない。

## 検証
- 変更前と変更後に python3 -m unittest -v を実行する。
- テストを消す、期待値を変えて通す、といった対応はしない。
- 失敗したら原因と対象差分を示し、追加の仕様変更は提案にとどめる。

## 報告
- 変更ファイル、追加したケース、実行結果、未確認事項を示す。
- 実行していないテストを成功と書かない。
- コミットは依頼されるまで行わない。

これは作業の指示です。公式資料も指示ファイルを強制的な制御とは区別しています。ファイルに書くだけで、権限や機密情報の取り扱いを制限できたとは判断しません。

読み込みは、応答の雰囲気ではなく確認する

ターミナルで作業場所とファイル名を確かめます。

pwd
ls -l CLAUDE.md
claude --version
claude

新しいセッションで、現行公式資料が案内する /context all を入力し、Memory filesの一覧に対象の CLAUDE.md があるか確認します。全画面モードでは /context だけだと一覧が折りたたまれるため、表示されない場合はまず /context all を試します。編集場所の確認には /memory を使います。ただし /memory はまだ存在しない指示ファイルの候補も表示するため、一覧に名前があることだけを読み込み済みの証拠にはしません。表示や対応は利用版によって異なるため、コマンドが見つからない場合は /help と公式資料を確認してください。

対象ファイルが一覧にない状態で、たまたま指示に近い応答が出ても「適用できた」と判定しません。次を順に確認します。

  1. ファイル名が CLAUDE.md.txt になっていないか。
  2. 起動場所が教材のフォルダーか。
  3. プロジェクト指示の設定や、上位の指示と食い違いがないか。
  4. 古い会話を再利用せず、新しいセッションで確認したか。

読み込まれたのに守られない場合を切り分ける

スマートフォンでは、表を左右にスクロールして全項目を確認できます。

観測したこと 確認すること 直す対象
/memoryに候補はあるが、起動時のMemory filesにはない 実ファイルの有無、保存先、拡張子、起動場所 まず保存と読み込み。禁止事項を増やさない
対象ファイルが読まれたのに別のテストコマンドを使う 指定コマンドを人のターミナルで実行できるか 古いコマンドや環境依存の記述を修正
直下は「テストだけ」、親の指示は「本体も直す」となっている 親・個人・プロジェクトの指示の矛盾 共有範囲を確認して競合する指示を整理
一度うまくいったが、次は報告項目が欠ける 依頼、モデル、版、実際の差分・実行結果 人が結果を照合し、欠けた項目を具体的に依頼

例えば「必要なテストをする」を「python3 -m unittest -vを実行し、終了コードと件数を報告する」へ置き換えると、確認する証拠が決まります。これは編集部の指示改善例で、AIが毎回従うことを検証した結果ではありません。

同じ依頼で、実際の差分を比較する

比較する依頼文は次です。教材の基準テスト1件を用意し、「空文字」と「日本語」の2件を追加します。

この教材のテストに、空文字と日本語入力のケースを追加してください。
期待値は空文字が空文字、"  山田   太郎 " が "山田 太郎" です。

前後を比べるときは、同じ基準コミットから作った2つの練習用コピーを使います。一方にはプロジェクトの CLAUDE.md を置かず、もう一方に上のファイルを置きます。両方とも新しいセッションで同じ依頼を実行してください。すでに追加済みのテストへもう一度追加する比較は避けます。

自分で作った練習用リポジトリで、基準コミットIDを確認して複製する例です。ローカルの作業中のファイルはクローンへ引き継がれないため、教材の基準を先にコミットしておきます。

git log --oneline
cd ..
git clone claude-first-test claude-before || exit 1
git clone claude-first-test claude-after || exit 1

上の例は既存フォルダーを上書きしません。複製元の現在のコミットが基準1件の状態か確認してください。教材をすでに3件へ進めた人は、基準コミットを確認し、各練習コピーの中で git switch --detach <基準コミットID> によりその状態へ移ってから比較します。作業中の元リポジトリを巻き戻す必要はありません。claude-after にだけ最小指示を保存します。親フォルダーに同じ指示があれば両方へ読み込まれ得るため、「なし」はこの教材直下のファイルがないという意味です。共有・個人の指示や自動メモリの条件も両方で記録し、比較のために組織の設定を解除しないでください。基準コミットにすでに CLAUDE.md が含まれる場合は、練習用の claude-before 側のファイルだけをエディターで削除し、比較条件を記録してください。元リポジトリの指示は削除しません。

見ること 指示ファイルなしで残す記録 指示ファイルありで確かめること
読み込み ユーザー共通・上位指示などの条件 対象CLAUDE.mdが読み込まれたか
変更範囲 実際に変わったファイル テストだけで関数本体は不変か
テスト 実行したコマンドと結果 変更前1件、変更後3件を実行したか
報告 説明された項目と欠落 変更ファイル・ケース・結果・未確認を示すか
採否 不要変更や未実行の扱い 人が差分を確認して採用できるか

この表は実験の原票で、今回のClaude応答の比較結果ではありません。どちらも期待どおりになる場合、1回の比較だけでは指示ファイルによる改善を示せません。モデル・版・権限・上位指示も記録し、結果が違った理由を一つに決めつけないようにします。

人が実行する確認コマンド

どちらのコピーでも、AIの作業後に自分で実行します。

python3 -m unittest -v
git status --short
git diff --stat
git diff --cached --stat
git diff -- name_tools.py test_name_tools.py
git diff --cached -- name_tools.py test_name_tools.py

git status --shortで??が付いた新規ファイルは、通常のgit diffには本文が出ません。作成されたファイルをエディターで開いて確認します。--statは教材以外の追跡済みファイルが変わっていないかを見るために加えています。

追加2件の期待値は人が先に定めています。教材のPythonテストはmacOS・Python 3.14.2で、基準1件と追加後3件の成功を確認しました。指示ファイルがあるだけで、このテスト実行や報告が保証されるわけではありません。

ルールが守られないときは、長い禁止事項を足す前に、対象ファイル・コマンドの存在・指示の競合を確認します。一度だけの依頼内容は会話へ、繰り返し必要なプロジェクトの前提はファイルへ、と分けると更新対象を追いやすくなります。

チームへ渡す前に、1件の結果を残す

実施日/ツール・版・モデル・権限モード:
基準コミット/練習コピー:
読み込み確認の結果/上位・個人指示の有無:
渡した依頼/変更ファイル:
テストの実行結果/期待値との一致:
ルールに反した点/次に直す1項目:
採用・保留/確認者:

プロジェクトで共有する場合は、ファイルと変更理由をレビューしてからコミットします。秘密情報、個人だけの環境、すぐ古くなる作業日報は混ぜません。

変更の見落としを減らすにはGit差分レビューの練習、チームの承認・停止担当を決めるにはAI導入ルールの運用シートへ進めます。

出典・検証範囲

Python教材とGitの複製・基準コミットへの移動は過去のローカル検証で確認。Claude Codeの実際の読み込み・前後比較は未検証で、本稿の表は評価手順の提案です。新しい版の画面を古い版で確認したとは扱いません。

コメント

タイトルとURLをコピーしました