claude rules 公式まとめ
著者: ClaudeMix Team |
Claude Codeにおいて、開発効率とコード品質を劇的に向上させる機能が Rules(ルール) です。
これまでの CLAUDE.md による一括管理から、.claude/rules/ ディレクトリを活用した「モジュール化された規律の強制」へと進化しました。
1. Rules の定義:自動ロードされる制約
Rulesは、Claudeが特定のファイルやディレクトリを操作する際、 常に遵守しなければならない制約 を定義する仕組みです。
- モジュール化 : 巨大な指示ファイルを分割し、トピックごとに管理できます。
- 自動ロード : 起動時に
.claude/rules/内の全Markdownファイルが自動的にコンテキストへ読み込まれます。 - パスベースの適用 : 「特定のディレクトリだけに適用するルール」を精密に設定できます。
2. Rules の階層構造と優先順位
ルールは以下の順序でロードされ、より具体的な(プロジェクトに近い)場所にあるファイルが優先されます。
- User Rules (
~/.claude/rules/): 自分のPC上の全プロジェクトに一律で適用したい個人設定。 - 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 コマンドを実行してください。適用中のファイル一覧と、適用範囲(パス)を一目で把握できます。
