awesome-hacks
Docs

Claude CodeでCLAUDE.mdを使ってルールを固定する

プロジェクトルール、禁止事項、検証コマンド、PRルールをCLAUDE.mdに定義する手順

最終更新:2026/05/08

この記事では、CLAUDE.md で「毎回伝えている前提」を固定化する。
目的は、指示の省略と出力品質の安定化。

なぜ CLAUDE.md が重要か

  • 毎回同じ注意事項を繰り返さなくてよい
  • 禁止事項を明示して事故を減らせる
  • 検証コマンドを固定して品質を揃えられる
  • PR運用ルールを統一しやすい

置き場所

通常はプロジェクトルートに置く。

cd /path/to/your-project
touch CLAUDE.md

作成後、最低限次を確認する。

ls -l CLAUDE.md

最小テンプレート

# 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. コマンドは実在するものだけ書く

存在しないスクリプト名を入れると、毎回失敗要因になる。

確認コマンド:

node -e "const p=require('./package.json'); console.log(p.scripts)"

まず入れると良い追記(具体例)

最初のテンプレートに加えて、次のような「報告フォーマット」も有効。

## Response format
- 変更内容: 3行以内
- 変更ファイル: 箇条書き
- 実行コマンドと結果: 成功/失敗を明記
- 残課題: あれば記載

ありがちなアンチパターン

  • 禁止事項が曖昧(「危ない操作はしない」だけ)
  • 検証コマンドが未定義
  • ルールが長すぎて実運用で守れない