ガイド一覧

.claude/rules/ の書き方

.claude/rules/ はCLAUDE.mdを補完するルールファイルを配置するディレクトリです。CLAUDE.mdがプロジェクトの「概要」なら、rulesは「詳細なルールブック」です。

CLAUDE.mdとの違い

項目 CLAUDE.md .claude/rules/
役割 プロジェクト概要・全体方針 特定トピックの詳細ルール
読み込み 常に読み込まれる glob条件にマッチした時のみ
粒度 広く浅く 狭く深く
推奨サイズ 200行以内 1ファイル50〜100行

frontmatterの書き方

各rulesファイルの先頭にfrontmatterを記載してスコープを制御します。

---
description: TypeScriptのコードスタイルルール
globs: "**/*.ts,**/*.tsx"
---

# TypeScript コードスタイル

- \`any\` 型の使用禁止。\`unknown\` を使用する
- 型アサーション(\`as\`)は最小限に
- ...

globs を指定すると、そのパターンにマッチするファイルを編集する時だけルールが読み込まれます。

ファイル分割戦略 — 1ファイル1関心事

.claude/
  rules/
    code-style.md      # コーディング規約
    testing.md         # テスト方針
    security.md        # セキュリティルール
    git-workflow.md    # Git/ブランチ戦略
    api-design.md      # API設計ルール

具体的なファイル例

<!-- .claude/rules/testing.md -->
---
description: テスト作成時のルール
globs: "**/*.test.ts,**/*.test.tsx,**/*.spec.ts"
---

# テストルール

- Arrange-Act-Assert パターンで構成
- テスト名は日本語で「何をしたら何が起こるか」
- モックは外部依存のみ。内部モジュールのモックは避ける
- カバレッジ80%以上を維持

パス指定によるスコープ制限を活用すると、たとえばバックエンドのルールがフロントエンドのコード編集時に読み込まれることを防げます。コンテキストの無駄遣いを防ぐ重要なテクニックです。

関連テンプレート

検索

ガイドやテンプレートを検索...