claude rules 公式まとめ

著者: ClaudeMix Team |

Claude Codeにおいて、開発効率とコード品質を劇的に向上させる機能が Rules(ルール) です。
これまでの CLAUDE.md による一括管理から、.claude/rules/ ディレクトリを活用した「モジュール化された規律の強制」へと進化しました。

1. Rules の定義:自動ロードされる制約

Rulesは、Claudeが特定のファイルやディレクトリを操作する際、 常に遵守しなければならない制約 を定義する仕組みです。

  • モジュール化 : 巨大な指示ファイルを分割し、トピックごとに管理できます。
  • 自動ロード : 起動時に .claude/rules/ 内の全Markdownファイルが自動的にコンテキストへ読み込まれます。
  • パスベースの適用 : 「特定のディレクトリだけに適用するルール」を精密に設定できます。

2. Rules の階層構造と優先順位

ルールは以下の順序でロードされ、より具体的な(プロジェクトに近い)場所にあるファイルが優先されます。

  1. User Rules (~/.claude/rules/): 自分のPC上の全プロジェクトに一律で適用したい個人設定。
  2. Project Rules (./.claude/rules/): リポジトリに含め、チーム全員で共有するプロジェクト固有の規約。

3. 実践:特定のパスにルールを限定する

YAML Frontmatterの paths フィールドを使用することで、ルールを適用する範囲を限定(スコープ)できます。

---
paths:

- "src/api//*.ts"
- "lib/database//*"

---

# API & DB 開発ルール

- すべてのエンドポイントに Zod によるバリデーションを必須とする。
- 直接的な SQL クエリは禁止し、必ず Prisma クライアントを使用すること。
- エラーレスポンスはプロジェクト標準の `APIResponse` 型を継承させること。

サポートされるパターン

パターン 一致するファイル
/*.ts プロジェクト内の全てのTypeScriptファイル
src/components/*.tsx 特定ディレクトリ直下のReactコンポーネント
src//*.{ts,tsx} src 配下の .ts および .tsx ファイル(ブレース展開)

4. ルールの組織化:ディレクトリによる構造化

プロジェクトが大規模な場合は、.claude/rules/ 内にサブディレクトリを作成して整理できます。これらは再帰的にすべて探索・ロードされます。

  • .claude/rules/frontend/react.md
  • .claude/rules/backend/api.md
  • .claude/rules/security/guidelines.md

また、 シンボリックリンク もサポートされているため、社内標準のルールセットを複数のリポジトリで共有することも可能です。

5. Rules 運用のベストプラクティス

  • 関心の分離 : testing.md, style.md のように、一つのファイルには一つのトピックだけを記述すると、AIの理解精度が向上します。
  • 具体性の確保 : 「読みやすいコード」といった曖昧な表現ではなく、「2スペースインデント」「早期リターンを優先」など、定量的・具体的な指示を記述します。
  • 定期的なメンテナンス : プロジェクトのフェーズや技術選定の変化に合わせて /memory コマンドで内容を更新し、常にClaudeの判断基準を最適化してください。

Rulesの実践例として、AIがE2EテストにwaitForTimeoutを追加するのをCLAUDE.mdで禁止した記録では、禁止ルールと代替パターンをセットで記述するベストプラクティスを確認できます。また、StripeエージェントがSSoT違反コードを実装した際の設計書防衛記録も、「AIへの制約設計」の具体例として参照してください。

Tips:
現在どのルールが適用されているかを確認するには、Claude Code内で /memory コマンドを実行してください。適用中のファイル一覧と、適用範囲(パス)を一目で把握できます。