Cursor Rules(カーソルルール)完全ガイド【2026年最新】:.mdcファイルの書き方・4種類のルールタイプ・おすすめ設定まで徹底解説
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役MYUUUでも全プロジェクトにCursor Rulesを入れていて、新しいメンバーが入っても即日でチームのコーディング規約に沿ったコードを書いてもらえるようになりましたね。
テキトー教師DotAI 認定講師
室谷代表取締役ただCursor Rulesの方が、ファイルタイプ別に適用するルールを分けられるという点で、より細かいコントロールができる・・・
テキトー教師DotAI 認定講師それが今回のポイントです。この記事では、Cursor Rulesの基本概念から実際の書き方、フレームワーク別のテンプレートまで全部解説します。
Cursor Rulesとは?役割と概要
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役
テキトー教師DotAI 認定講師.cursor/rules/ ディレクトリの中です。プロジェクトのルートに作成します。拡張子は
.mdc(Markdown with Cursor)という独自形式を使います。
室谷代表取締役.cursorrules という単一ファイルが主流でしたが、今は .cursor/rules/ ディレクトリに複数の .mdc ファイルを置くのが推奨されています。単一ファイルより、目的別にファイルを分けられる方が管理しやすいんですよね。
テキトー教師DotAI 認定講師.cursorrules ファイルはまだ動くんですが、公式ドキュメントではレガシー扱いです。新しく始めるなら .mdc 形式一択ですね。.cursorrules と .mdc の違い
| 比較項目 | 旧: .cursorrules | 新: .cursor/rules/*.mdc |
|---|---|---|
| ファイル数 | 1ファイルのみ | 複数ファイル |
| 適用条件 | 常に全部適用 | ファイルタイプや状況で分岐可能 |
| 公式サポート | レガシー(非推奨) | 推奨 |
| トークン効率 | 全て常に消費 | 必要な時だけ適用 |
| チーム管理 | 煩雑 | Git管理しやすい |
室谷代表取締役.mdc なら「このファイルを編集するときだけこのルールを読む」という設定ができるので、よりスマートに動く。
テキトー教師DotAI 認定講師4種類のルールタイプを完全解説

室谷代表取締役これを理解すると使い方が劇的に変わります。
テキトー教師DotAI 認定講師ルールタイプ一覧
| タイプ | 英語名 | 発動条件 | 向いているルール |
|---|---|---|---|
| 常時適用 | Always | 全セッションで自動適用 | 言語・全体コーディング規約 |
| 自動付与 | Auto Attached | 指定ファイルを開いたとき | フレームワーク・ドメイン別規約 |
| AI判断 | Agent Requested | AIが必要と判断したとき | ツール・特定ワークフロー |
| 手動 | Manual | @ルール名で明示的に呼び出す | 補助的な参考資料 |
室谷代表取締役Always(常時適用)ルール
室谷代表取締役alwaysApply: true を設定します。
テキトー教師DotAI 認定講師
室谷代表取締役MYUUUでも Always ルールは本当に最小限にして、「プロジェクトの基本情報だけ」にしてますね。
---
alwaysApply: true
---
# プロジェクト基本規約
- 言語: TypeScript(any禁止)
- コメント: 日本語で記述
- テスト: 全関数にユニットテストを追加
- エラーハンドリング: 必ず実装
テキトー教師DotAI 認定講師Auto Attached(自動付与)ルール
テキトー教師DotAI 認定講師特定のファイルを編集するときだけ、自動でルールが適用される。
室谷代表取締役src/components/**/*.tsx というパターンを設定しておくと、Reactコンポーネントを触るときだけそのルールが読み込まれる。APIルートのファイルを触るときは別のルールが読み込まれる、という使い分けができます。
テキトー教師DotAI 認定講師globs を設定します。---
alwaysApply: false
globs: ["src/components/**/*.tsx", "src/pages/**/*.tsx"]
---
# Reactコンポーネント規約
- 関数コンポーネント + TypeScript インターフェースを使用
- named exportのみ(default exportは禁止)
- コンポーネントは150行以内に収める
- Propsの型定義はコンポーネントの直上に書く
室谷代表取締役ここは後で詳しく解説しましょう。
Agent Requested(AI判断)ルール
室谷代表取締役description フィールドに「このルールをいつ使うか」を書くと、AIがそれを読んで判断します。
テキトー教師DotAI 認定講師---
alwaysApply: false
description: "Stripe決済フローやサブスクリプションの実装を行うとき"
---
# Stripe実装規約
- Stripe Webhookは必ず署名検証を実装
- 金額はセント単位で扱う(日本円はそのままの整数値)
- エラーは Stripe のエラーコードで分岐して処理
室谷代表取締役description の書き方が肝で、曖昧に書くとAIが読み込んでくれないんですよね。「決済関連」より「Stripe決済フローやサブスクリプションの実装を行うとき」の方がAIが判断しやすい。
テキトー教師DotAI 認定講師Manual(手動)ルール
テキトー教師DotAI 認定講師@ルール名 と書いて明示的に呼び出すタイプです。
室谷代表取締役「このルールを参照して」と伝えるだけで読んでくれる。
テキトー教師DotAI 認定講師ファイル構造と配置方法
室谷代表取締役
テキトー教師DotAI 認定講師your-project/
├── .cursor/
│ └── rules/
│ ├── general.mdc # 常時適用(基本規約)
│ ├── react-components.mdc # Auto: src/components/**
│ ├── api-routes.mdc # Auto: src/api/**
│ ├── database.mdc # Auto: src/db/**
│ ├── stripe.mdc # Agent Requested
│ └── deploy-guide.mdc # Manual
├── src/
├── package.json
└── .gitignore
室谷代表取締役.cursor/rules/ ディレクトリを Gitに含める こと。これをチームで共有することで、全員が同じAI動作になる。チームのコーディング規約をAIに学習させるのと同義ですよね。
テキトー教師DotAI 認定講師
室谷代表取締役Cursor Settings > Rules)で設定する、個人の好みの設定です。プロジェクトに関係なく全てのプロジェクトで適用される。
テキトー教師DotAI 認定講師User Rules と Project Rules の使い分け
| 項目 | User Rules | Project Rules(.mdc) |
|---|---|---|
| 設定場所 | Cursor設定画面 | .cursor/rules/*.mdc |
| 適用範囲 | 全プロジェクト | そのプロジェクトのみ |
| Git管理 | されない(個人設定) | される(チームで共有) |
| 向いているもの | 個人の癖・好み | チームの規約・プロジェクト固有設定 |
室谷代表取締役
テキトー教師DotAI 認定講師.mdcファイルの書き方:フロントマターと本文
室谷代表取締役.mdc ファイルをどう書くか、という話に行きましょう。構造はシンプルで、YAMLフロントマターと Markdown 本文の2つのパーツで構成されています。
テキトー教師DotAI 認定講師--- で囲んだYAML部分です。ここでルールの動作を制御します。使えるフィールドはこれです。
フロントマターのフィールド一覧
| フィールド | 型 | 用途 |
|---|---|---|
alwaysApply | boolean | true で常時適用、false で条件付き |
globs | 文字列 or 配列 | Auto Attached のファイルパターン |
description | 文字列 | Agent Requested の判断テキスト |
室谷代表取締役--- の間に3つのフィールドがある。これらの組み合わせでどのタイプのルールかが決まります。
テキトー教師DotAI 認定講師alwaysApply: true→ AlwaysalwaysApply: false+globsあり → Auto AttachedalwaysApply: false+descriptionあり → Agent Requested- 全部なし → Manual
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役
テキトー教師DotAI 認定講師Glob パターンの設定方法
テキトー教師DotAI 認定講師globs パターン、ここでハマる人が多いので、しっかり解説しましょう。
室谷代表取締役よく使う glob パターン集
# 特定の拡張子を全ファイル
**/*.ts → 全 .ts ファイル
**/*.tsx → 全 .tsx ファイル
**/*.py → 全 .py ファイル
# 特定ディレクトリ配下
src/**/*.ts → src/ 以下の全 .ts
src/components/**/*.tsx → src/components/ 以下の全 .tsx
# 複数パターン(配列)
["src/**/*.ts", "src/**/*.tsx"]
# 特定のファイル名
**/schema.ts → 全ての schema.ts
**/*Controller.ts → Controller で終わる .ts
# ディレクトリ名を含む
src/api/** → src/api/ 以下の全ファイル
tests/**/*.test.ts → tests/ 以下の全テストファイル
テキトー教師DotAI 認定講師
室谷代表取締役/src/**/*.ts と書いてしまうと動かない。src/**/*.ts が正しい書き方です。
テキトー教師DotAI 認定講師app/ 配下にコンポーネントがあるのに src/components/** を書いてたり(笑)。
室谷代表取締役
テキトー教師DotAI 認定講師Cursor Rulesの書き方:実践的なベストプラクティス
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役良いルールの5つの原則
テキトー教師DotAI 認定講師1. 短く書く
Always ルールは200字以内、Auto Attached でも500字以内が目安。長いと読まれない、あるいはコンテキスト消費が大きくなります。
2. 具体的に書く
「良いコードを書いて」は意味がないです。「関数は単一責任原則に従い、1つの処理だけを行う」のように具体的に。
3. 行動ベースで書く
「〇〇すること」「〇〇を使う」「〇〇は禁止」のように、AIがどう動けばいいかを明確に指示します。
4. NG/OK例を入れる
特にコードスタイルに関するルールは、NG例とOK例を並べると理解精度が上がります。
5. 定期的に見直す
「3回同じことをAIに教えたらルールに入れる」というのが良い追加タイミング。逆に「使わなくなったルールは消す」こともメンテナンスとして重要です。
室谷代表取締役これが共通の基準ですね。
テキトー教師DotAI 認定講師
室谷代表取締役Cursor Rulesのおすすめ設定:言語・フレームワーク別テンプレート
テキトー教師DotAI 認定講師
室谷代表取締役汎用:プロジェクト基本ルール(Always)
---
alwaysApply: true
---
# プロジェクト概要
## 技術スタック
- フロントエンド: Next.js 15 + TypeScript
- バックエンド: Supabase (PostgreSQL)
- スタイリング: Tailwind CSS
- テスト: Vitest
## 基本規約
- コメントは日本語で記述
- エラーハンドリングは必須
- anyは使用禁止
- コンソールログは本番コードに残さない
テキトー教師DotAI 認定講師
室谷代表取締役TypeScript プロジェクトルール(Auto Attached)
---
alwaysApply: false
globs: ["**/*.ts", "**/*.tsx"]
---
# TypeScript規約
## 型定義
- 全ての関数に戻り値の型を明記する
- interfaceはI接頭辞なし(UserProfile, not IUserProfile)
- Union型は型エイリアスとして定義する
- anyは使用禁止。unknownまたは具体的な型を使う
## 関数
- アロー関数を推奨(functionキーワードは避ける)
- 非同期処理は async/await(Promiseチェーンは避ける)
- 関数は単一責任、100行以内に収める
## import
- パスエイリアスを使用(@/components/Foo)
- 型のみのimportは import type を使う
テキトー教師DotAI 認定講師interface の命名規則とか、import type の使い方とか、細かいけど地味に統一されてないとコードレビューで毎回指摘しなきゃいけないですよね(笑)。
室谷代表取締役React / Next.js コンポーネントルール(Auto Attached)
---
alwaysApply: false
globs: ["src/components/**/*.tsx", "app/**/*.tsx"]
---
# Reactコンポーネント規約
## コンポーネント設計
- 関数コンポーネント + TypeScript interfaceで定義
- Propsの型はコンポーネントの直上に書く
- named exportのみ(default exportは禁止)
- コンポーネントは150行以内。超えたら分割を検討
## State管理
- ローカルstateはuseState/useReducer
- サーバーstateはTanStack Query
- グローバルstateはZustand
## スタイリング
- Tailwind CSSのユーティリティクラスを使用
- カスタムCSSは最小限に抑える
- className は cn()ヘルパーで結合する
## アクセシビリティ
- インタラクティブ要素には必ずaria-labelを追加
- 画像にはaltテキストを設定
テキトー教師DotAI 認定講師
室谷代表取締役AIがルールを覚えてくれると助かります。
Python プロジェクトルール(Auto Attached)
---
alwaysApply: false
globs: ["**/*.py"]
---
# Python規約
## コードスタイル
- PEP 8に準拠
- 型ヒントを全関数に付ける
- docstringはGoogle形式で記述
## 関数・クラス
- 関数は1つの処理のみ(単一責任)
- クラス名: PascalCase
- 変数・関数名: snake_case
- 定数: UPPER_SNAKE_CASE
## 依存関係
- パッケージ管理はuv
- 仮想環境は.venv/に作成
- requirements.txtではなくpyproject.tomlを使用
## テスト
- pytestを使用
- テストファイルはtests/ディレクトリに配置
- テスト関数名はtest_で始める
テキトー教師DotAI 認定講師uvの指定を入れておくのが今の時代では重要ですよね。AIが古いpipで書いてしまうことを防げる。
室谷代表取締役Laravel(PHP)プロジェクトルール(Auto Attached)
---
alwaysApply: false
globs: ["**/*.php"]
---
# Laravel規約
## コントローラー
- リソースコントローラーを優先
- ビジネスロジックはServiceクラスに分離
- FormRequestでバリデーション
- コントローラーは50行以内を目標に
## Eloquent ORM
- N+1問題を避けるためeager loadingを使用(with())
- スコープで共通クエリをまとめる
- マスアサインメントには$fillableを必ず設定
## セキュリティ
- ユーザー入力は必ずバリデーション
- SQLは必ずEloquentまたはクエリビルダー経由
- 認証にはSanctum/Passportを使用
テキトー教師DotAI 認定講師Cursor Rulesの GitHub での共有・活用
室谷代表取締役
テキトー教師DotAI 認定講師cursor rules github で調べると、各フレームワーク・言語向けのテンプレートが山ほど出てきますよね。自分でゼロから書かなくても、参考になるものがたくさんある。
室谷代表取締役awesome-cursorrules というGitHubリポジトリで、さまざまなフレームワーク向けのルール集が集まっています。React, Next.js, FastAPI, Django, Laravel など主要なものはほぼ揃っています。
テキトー教師DotAI 認定講師
室谷代表取締役
テキトー教師DotAI 認定講師- 全員が同じ AI 動作になる
- ルールの変更が PR でレビューできる
- 新メンバーが入ったときに設定不要
室谷代表取締役「クローンしてCursorで開くだけでAIがプロジェクトの規約を知っている状態になる」というのは快適です。
Cursor Rules を Git 管理する際の設定
テキトー教師DotAI 認定講師.gitignore に .cursor/ を入れてしまっているプロジェクトが結構あります。これだと Rules が共有されないので注意が必要です。# .gitignore での正しい設定
# NG(全員のCursor設定がgit管理されてしまう)
# .cursor/
# 推奨(rulesだけ共有、settings等は除外)
.cursor/settings/
室谷代表取締役.cursor/rules/ は共有したいけど、個人の Cursor 設定(.cursor/settings/)は共有したくない、という使い分けが必要ですよね。Cursor Rulesが効かないときのトラブルシューティング
テキトー教師DotAI 認定講師よくある原因をまとめましょう。
室谷代表取締役よくある問題と解決法
問題1:Auto Attached ルールが発動しない
原因は glob パターンが実際のファイルパスと一致していないケースがほとんどです。
対処法:
- ファイルの実際のパスを確認する(
src/app/なのかapp/なのか) - glob パターンに
/を先頭に付けていないか確認 - 配列形式で複数パターンを指定しているか確認
# NG
globs: "/src/components/**/*.tsx"
# OK
globs: "src/components/**/*.tsx"
# OK(複数パターン)
globs: ["src/components/**/*.tsx", "app/components/**/*.tsx"]
テキトー教師DotAI 認定講師問題2:Agent Requested ルールが読み込まれない
description の書き方が曖昧すぎるケースです。
対処法:
- 「〇〇するとき」という具体的な状況で書く
- 動詞を使う(「実装する」「設定する」「作成する」)
- 固有名詞(ライブラリ名、機能名)を入れる
# NG(曖昧すぎる)
description: "データベース関連"
# OK(具体的)
description: "Supabaseのテーブル設計、RLS設定、クエリを書くとき"問題3:ルールはあるのに AI が無視している
原因:ルールが長すぎて重要な指示が埋もれている。
対処法:
- Always ルールは200字以内に絞る
- 重要な指示を先頭に書く
- ルールファイルを分割する
室谷代表取締役問題4:複数のルールが競合している
異なるルールが矛盾した指示をしていると、AI が混乱します。
対処法:
- ルール一覧を見直して、矛盾した指示がないか確認
- 同じトピックについて複数の場所で書かない
- より具体的な方のルール(Auto Attached)が Always より優先される
テキトー教師DotAI 認定講師「Generate Cursor Rules」コマンドで自動生成
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役
テキトー教師DotAI 認定講師
室谷代表取締役実践:Cursor Rulesを導入するステップ
テキトー教師DotAI 認定講師
室谷代表取締役Cursor Rules 導入ステップ
ステップ1:ディレクトリを作成する
mkdir -p .cursor/rulesステップ2:最初の Always ルールを作成する
.cursor/rules/general.mdc というファイルを作成して、プロジェクトの基本情報を書く。
---
alwaysApply: true
---
# プロジェクト概要
(使っている技術スタック、言語、フレームワークを書く)
# 基本規約
(コーディング規約の中で最も重要なものだけ書く)ステップ3:よく使うファイルタイプに Auto Attached ルールを追加する
.cursor/rules/react.mdc(Reactなら)など、メインの言語・フレームワーク用のルールを1つ追加する。
テキトー教師DotAI 認定講師
室谷代表取締役general.mdc だけでした。半年かけて5〜6ファイルに育っていった感じです。FAQよくある質問
テキトー教師DotAI 認定講師Q. .cursorrules と .cursor/rules/ の両方があったらどうなる?
室谷代表取締役.cursor/rules/ が優先されます。移行中に両方ある状態になることもありますが、最終的には .mdc に統一するのがおすすめです。Q. ルールファイルの数に上限はある?
テキトー教師DotAI 認定講師Q. チームの全員が同じバージョンの Cursor を使っていないと問題が起きる?
室谷代表取締役Q. .mdc ファイルをエディタで普通に編集できる?
テキトー教師DotAI 認定講師YAML フロントマターがあるだけで中身は Markdown です。
Q. User Rules に書けることと Project Rules に書けることは同じ?
室谷代表取締役.mdc のフロントマターは使えません。Auto Attached 等の細かい設定は Project Rules でしかできないです。
まとめ:Cursor Rulesで AI の出力品質を底上げする
室谷代表取締役
テキトー教師DotAI 認定講師Cursor Rules のキーポイント:
.cursorrules(レガシー)より.cursor/rules/*.mdc(推奨)を使う- 4種類のルールタイプを使い分ける(Always / Auto Attached / Agent Requested / Manual)
- Always ルールは200字以内に絞る
- Auto Attached の glob パターンは実際のファイルパスに合わせて書く
.cursor/rules/は Git 管理してチームで共有する- 最初は小さく始めて、「毎回説明してること」を都度追加していく
室谷代表取締役それがAI活用の生産性を上げる最も基本的な方法なんですよね。
テキトー教師DotAI 認定講師それだけの話です。
室谷代表取締役あわせて読みたい
- ChatGPTのMCP対応完全ガイド【2026年最新】:設定方法・おすすめサーバー・Claude/Cursorとの違いまで徹底解説
- Cursor APIキーの完全ガイド【2026年最新】:BYOK設定方法・料金・対応プロバイダー・よくあるエラー対処まで徹底解説
- Cursorのおすすめ本・書籍ガイド【2026年最新】:入門書の選び方から小説執筆まで徹底解説
- Cursorのターミナル完全ガイド【2026年最新】:開き方・ショートカット・設定・AI連携・トラブル対処まで徹底解説
- Cursorが重い・遅い原因と対処法を完全解説【2026年最新】:拡張機能・キャッシュ・AIレスポンス改善まで徹底ガイド
- Cursorで開発する完全ガイド【2026年最新】:AI駆動開発・開発環境構築・言語別活用まで徹底解説
- Cursorフォーラム(forum.cursor.com)完全ガイド【2026年最新】:カテゴリ一覧・バグ報告・機能要望・Wikiの全て
- 【2026年最新】M&A仲介会社おすすめランキング|大手8社を徹底比較
