Claude CodeでCLAUDE.mdを使ってルールを固定する
プロジェクトルール、禁止事項、検証コマンド、PRルールをCLAUDE.mdに定義する手順
最終更新:2026/05/08
この記事では、CLAUDE.md で「毎回伝えている前提」を固定化する。
目的は、指示の省略と出力品質の安定化。
なぜ CLAUDE.md が重要か
- 毎回同じ注意事項を繰り返さなくてよい
- 禁止事項を明示して事故を減らせる
- 検証コマンドを固定して品質を揃えられる
- PR運用ルールを統一しやすい
置き場所
通常はプロジェクトルートに置く。
cd ~/sandbox/claude-code-practice/form-bug-demo
touch CLAUDE.md作成後、最低限次を確認する。
ls -l CLAUDE.md既にファイルがある場合
CLAUDE.md が既にあるなら、新規作成ではなく追記/統合する。
AGENTS.md(一部のAIコーディングツールで使われるエージェントルール定義ファイル)のような短い内容だけ入っている場合は、削除せずに CLAUDE.md テンプレートの内容へ置き換えてよい。
安全に編集するため、先にバックアップを取る。
cp CLAUDE.md CLAUDE.md.bak 2>/dev/null || true最小テンプレート
# CLAUDE.md
## Language
- 返答は日本語
## Safety
- 破壊的操作(reset --hard、大量削除、force push)は禁止
- 本番環境への操作は必ず事前確認
- `.env` や秘密情報ファイルは編集しない
## Coding rules
- 仕様外のリファクタはしない
- 既存UIは勝手に変更しない
- 変更は最小単位で行う
## Validation
- 変更後は以下を実行
- pnpm lint
- pnpm typecheck
- pnpm test
- pnpm build
## Git / PR
- 変更後は git diff の要約を提示
- コミットメッセージ案を提示
- PR本文は Summary / Changes / Test plan 形式で作成運用のコツ
1. 最初は短く始める
最初から細かくしすぎず、必須ルールだけを書く。
2. 事故が起きたら追記する
「起きた問題」をルールへ昇格させると再発防止しやすい。
3. コマンドは実在するものだけ書く
存在しないスクリプト名を入れると、毎回失敗要因になる。
(このシリーズでは 02 で typecheck を追加済み前提)
確認コマンド:
node -e "const p=require('./package.json'); console.log(p.scripts)"まず入れると良い追記(具体例)
最初のテンプレートに加えて、次のような「報告フォーマット」も有効。
## Response format
- 変更内容: 3行以内
- 変更ファイル: 箇条書き
- 実行コマンドと結果: 成功/失敗を明記
- 残課題: あれば記載ありがちなアンチパターン(anti-pattern、一見良さそうで実際には問題を引き起こしやすい設計や運用パターン)
- 禁止事項が曖昧(「危ない操作はしない」だけ)
- 検証コマンドが未定義
- ルールが長すぎて実運用で守れない