Open3
【Cursor Tips📝】Cursor の Project Rules (CursorRules)について📝
ピン留めされたアイテム

Cursor Rulesの種類について📝
一言まとめ
Cursor IDE の「Rules」は (1) どこに置くか と (2) いつ読み込まれるか の2軸で種類が決まります。
- スコープ軸: User Rules (個人設定)/Project Rules (.cursor/rules の .mdc)/Legacy .cursorrules。
-
発火モード軸: Always/Auto-Attach/Agent Requested/Manual。
この組合せによって AI が “常時” ルールを抱えて動くのか、ファイルごとに “自動で” 付け替えるのか、あるいは “必要時だけ” 取りに行くのかが決まります。
1. スコープによる 3 種類
種別 | 保存場所 | 特徴・主用途 |
---|---|---|
User Rules | Cursor Settings → General → Rules for AI | すべてのリポジトリに毎回注入される “あなた専用カスタム指示” 。コーディングスタイルや応答言語など個人ポリシーを入れるのに最適。 (Cursor, Cursor 101, Zenn) |
Project Rules | <repo>/.cursor/rules/*.mdc |
バージョン管理下に置けるチーム共通ルール。ファイル名や globs: 設定でサブモジュールごとに細粒度制御できる。 (Cursor, Cursor - Community Forum, Qiita) |
Legacy .cursorrules | リポジトリ直下に単一ファイル | 旧方式。まだ動くが非推奨で、Project Rules へ移行推奨。 (Cursor, Reddit, Qiita) |
適用順序の目安
User Rules → Project Rules → .cursorrules(重複すると後から読み込まれた方で上書きされる傾向があります)。 (Reddit)
front-matter
で指定)
2. 発火モードによる 4 種類(Project Rules の モード | 仕組み | YAML 例 | 代表用途 | |
---|---|---|---|---|
Always |
alwaysApply: true を付けると、どの会話でも必ずコンテキストに入る |
yaml\nalwaysApply: true\n |
重大セキュリティ方針、社内共通ボイラープレート | (Qiita, Cursor - Community Forum) |
Auto-Attach |
globs: で指定した拡張子やパスが開かれた/チャットで @リンクされた時に自動添付 |
yaml\nglobs:\n - \"src/**/*.py\"\n |
言語別コメント規約、テストファイル専用テンプレ | (Qiita, Cursor - Community Forum, Cursor - Community Forum) |
Agent Requested |
alwaysApply: false かつ globs: なし。モデルが必要と判断した時だけフェッチ |
(front-matter 省略可) | 巨大なドメイン設計ドキュメント、CI CD 手順など “重い” 参照 | (Qiita, Cursor - Community Forum) |
Manual | ルール名を @MyRule とチャットに打つ/UI で選択すると即時添付 |
なし | スニペット集、社内テンプレート、PoC 用 | (Qiita, Cursor - Community Forum) |
ポイント
- 4モードは 同じ .mdc でも front-matter の値で切り替えられるため、1ファイル=1モードとは限りません。 (Cursor - Community Forum)
alwaysApply
とglobs
を併用すれば「特定ファイルでは自動、それ以外は常時」といったハイブリッド設定も可能です(ただしバージョン依存でバグ報告もある)。 (Cursor - Community Forum, Cursor - Community Forum)
3. 使い分けガイド
-
まずは User Rules
- 自分の話し方・出力フォーマット・お気に入りライブラリのバージョンなど、プロジェクトを跨いで通用するポリシーをここに。
-
プロジェクト固有は Project Rules
- 例: Next.js App Router で
use client
ヘッダーを強制、社内 Tailwind デザインシステムを徹底など。 - サブディレクトリごとに
.mdc
を分け、globs:
で範囲指定すると後々メンテしやすい。 (Cursor - Community Forum)
- 例: Next.js App Router で
-
移行途中は .cursorrules を残す
- 大規模リポジトリの場合、古いルールを削除せず新しい
.mdc
へ段階移行するのが安全。 (Reddit)
- 大規模リポジトリの場合、古いルールを削除せず新しい
-
パフォーマンスを考える
- 巨大ルールを Always にするとプロンプトが肥大して LLM コストが増大。必要に応じ Agent Requested に。 (Cursor - Community Forum)
-
コラボ開発ではレビュー必須
- ルールは “見えないコード” 。Pull Request で差分確認し、矛盾や重複を防ぐ。 (Qiita)
4. 早見表
スコープ \ モード | Always | Auto-Attach | Agent Requested | Manual |
---|---|---|---|---|
User Rules | 常時 | — | — | — |
Project Rules | alwaysApply:true |
globs: |
デフォルト | @RuleName |
.cursorrules | 常時 | — | — | — |
5. まとめ
- スコープで “誰に効くか” を、発火モードで “いつ効くか” をコントロールする のが設計のキモ。
- 実運用では User Rules + Auto-Attach Project Rules が最も手離れが良く、肥大化を防げます。
- Legacy .cursorrules は読み取り互換のみ。新規追加は
.cursor/rules/*.mdc
で行いましょう。
これで Cursor Rules の全体像と種類の見取り図がつかめるはずです。ぜひ既存プロジェクトの整理や新規リポジトリの初期設定に役立ててください。

Cursor の Project Rules (CursorRules)

Cursorで使う.mdcファイルとは📝