AI活用

CLAUDE.mdの書き方|Claude Codeへ規約・コマンド・対象範囲を伝える

Claude CodeのCLAUDE.mdへ何を書くか、root・下位ディレクトリ・個人用の対象範囲、競合を避ける書き方、検証手順をテンプレート付きで解説します。

この記事の目次
  1. 結論:毎回説明する事実だけを短く書く
  2. CLAUDE.mdの対象範囲
  3. CLAUDE.mdに書く内容
  4. root用CLAUDE.mdテンプレート
  5. 下位ディレクトリ用テンプレート
  6. 書かない方がよい内容
  7. 指示競合テスト
  8. AGENTS.mdと共存する
  9. メンテナンス方法
  10. まとめ

CLAUDE.mdは、Claude Codeへプロジェクトのコマンド、規約、構成、禁止事項を繰り返し伝えるためのMarkdownファイルです。短く、具体的に、検証できる指示を書くと守られやすくなります。

何でも1ファイルへ詰め込むと、重要な指示が埋もれます。全体ルールはroot、特定pathだけの規約は下位CLAUDE.mdまたは.claude/rules/、個人設定はCLAUDE.local.mdへ分けます。

この記事では、対象範囲、root・下位テンプレート、競合テスト、更新方法、AGENTS.mdとの違いを解説します。

情報確認日:2026年7月17日(日本時間)

結論:毎回説明する事実だけを短く書く

書くもの:build・testコマンド、coding規約、directory構成、確認手順、プロジェクト固有の制約。

分けるもの:長い作業手順、特定pathだけの規約、個人の設定、強制したい権限制御、秘密情報。

公式ドキュメントは、CLAUDE.mdをcontextであり強制設定ではないと説明しています。具体的で簡潔な方が従われやすく、目安として200行未満が案内されています。

スポンサーリンク

CLAUDE.mdの対象範囲

scope 場所 用途
Managed OSごとの管理policy path 組織全体の標準
User ~/.claude/CLAUDE.md 自分の全project共通
Project ./CLAUDE.mdまたは./.claude/CLAUDE.md teamで共有する規約
Local ./CLAUDE.local.md 自分だけのproject設定
Directory 下位directoryのCLAUDE.md その配下だけの規約

起動地点より上のCLAUDE.mdは開始時に読み込まれ、下位directoryのものはClaudeがその中のfileを扱うときに読み込まれます。近い階層の指示ほど後にcontextへ追加されますが、矛盾を作らないことが最善です。

CLAUDE.mdに書く内容

  • 使用するpackage managerとruntime
  • 開発、test、lint、typecheck、buildコマンド
  • source・test・generated fileの場所
  • 命名、format、error処理など固有規約
  • 変更してはいけないfileや生成手順
  • 完了前に実行する最小確認
  • 安全なGit・deploy方針

root用CLAUDE.mdテンプレート

# Project Instructions

## Stack
- Node.js version is defined in `.nvmrc`.
- Use `pnpm`; do not create npm or yarn lockfiles.
- Application code is under `src/`.

## Commands
- Development: `pnpm dev`
- Unit tests: `pnpm test`
- Type check: `pnpm typecheck`
- Production build: `pnpm build`

## Coding
- Follow the existing TypeScript and React patterns.
- Keep changes limited to the requested feature.
- Validate external input at API boundaries.
- Do not edit generated files under `src/generated/`.

## Verification
- Run tests related to changed files.
- Run `pnpm typecheck` after TypeScript changes.
- Report checks that could not be run.

## Safety
- Do not read or commit secret files.
- Do not deploy or push without explicit approval.
- Preserve unrelated user changes.

「正しく書く」ではなく、「2space」「このcommand」「このdirectory」のように確認できる指示にします。既存のREADMEやpackage.jsonから分かることを大量に複製せず、Claudeが間違えやすい点を優先します。

下位ディレクトリ用テンプレート

src/payments/CLAUDE.mdの例です。

# Payments Instructions

These rules apply to files under `src/payments/`.

## Boundaries
- All money values use integer minor units.
- Never log card, bank, or authentication data.
- Keep provider-specific code under `providers/`.

## Changes
- Add an idempotency test for write operations.
- Add a rollback note for schema changes.
- Do not change public webhook signatures without a migration plan.

## Verification
- Run `pnpm test payments`.
- Run the webhook fixture tests.

file patternだけに適用したい場合は、.claude/rules/のpath-scoped rulesも候補です。多段の作業手順はSkill、必ず実行したい機械的処理はHookへ分けます。

書かない方がよい内容

  • APIキー、password、秘密URL
  • 長い一般的なプログラミング解説
  • 互いに矛盾するformat・test規約
  • 一度だけ使うタスク固有の指示
  • 変更のたびに古くなるfile一覧
  • 権限設定として必ず守られる前提の禁止事項

強制したいtool禁止、sandbox、permissionは設定で制御します。CLAUDE.mdはClaudeの判断を導くcontextであり、セキュリティ境界そのものではありません。

指示競合テスト

test root指示 下位指示 期待
package manager pnpmを使う なし 下位でもpnpm
test pnpm test payments testも実行 両方の対象確認
金額 一般TypeScript規約 整数minor unit payments内で下位規約
矛盾 single quote double quote 矛盾を検出し一方へ統一

次のような小さな依頼で確認します。

1. このprojectで使うpackage managerと確認commandを答えて。
2. src/payments/へ金額を扱う関数を追加する場合の規約を列挙して。
3. 互いに矛盾する指示があるか、fileと内容を示して。
4. 実装はせず、変更後に実行すべきtestだけ答えて。

Claude Codeの/memoryで対象fileを確認し、必要に応じて/contextで実際に読み込まれた指示を確認します。

AGENTS.mdと共存する

Claude CodeはCLAUDE.mdを読みます。すでにCodexなど向けのAGENTS.mdがある場合、同じ内容を重複管理せず、CLAUDE.mdからimportできます。

@AGENTS.md

## Claude Code
- Use `/memory` to inspect loaded instructions.
- Put Claude-specific path rules under `.claude/rules/`.

Codex側の設計はCodexのAGENTS.mdの書き方で解説しています。

メンテナンス方法

  1. 同じ訂正を2回したら追加候補にする
  2. 追加前に既存指示との重複・矛盾を探す
  3. 具体的な1〜3行で書く
  4. path限定ならrulesまたは下位fileへ置く
  5. commandやdirectory変更と同時に更新する
  6. 定期的に古い指示を削除する

基本操作から確認したい場合はClaude Codeの使い方も参考になります。

まとめ

CLAUDE.mdには、毎回説明するプロジェクト固有の事実を短く具体的に書きます。rootは全体規約、下位fileやrulesはpath限定、Skillは手順、Hook・settingsは機械的な強制に分けます。

追加後は/memoryと小さな競合テストで読み込みと解釈を確認し、古くなった規約を定期的に整理してください。

スポンサーリンク