🤖
CursorでAIエディターを制御する設定ファイル入門
はじめに
こんにちは、主にフロントエンドエンジニアのyugoです。
近年、AIエディター「Cursor」を活用する開発者が増えています。Cursorは自然言語で指示を出すだけでコード生成やリファクタリングを行ってくれる便利なツールですが、プロジェクトごとのコーディング規約や命名ルールを反映させたい場合には、**設定ファイル(ルールファイル)**を用いて挙動を細かく制御する必要があります。本記事では、
- プロジェクト固有の設定ファイルとグローバル設定(ユーザー共通ルール) の違い
- UI上から追加・編集したルールファイルの管理場所
- 既存プロジェクトをもとにルールを自動生成する方法
を中心に解説します。
1. Cursorとは?
- 自然言語プロンプトで「〇〇を実装して」「△△をリファクタリングして」などの指示を出すと、AIがソースコードを生成・編集
- コード補完だけでなく、テストコード生成やコミットメッセージ作成など、さまざまな開発作業を自動化可能
- ルールファイル(.mdc形式のMarkdown)を用いることで、プロジェクト独自のコーディングスタイルやファイルパターンごとに異なる指示を設定できる
2. 設定ファイルの種類と用途
CursorでAIの挙動を制御するための設定ファイル(ルールファイル)は、大きく分けて以下の2種類があります。
-
プロジェクト固有のルールファイル
- プロジェクトごとに固有のコーディング規約や特徴を記述
- 該当プロジェクトを開いたときのみ適用される
- フォルダ構成や使用言語に応じた細かいフィルタリングが可能
-
グローバル(ユーザー共通)のルール
- エディタの設定画面(Settings > Rules for AI)から直接登録
- すべてのプロジェクトで常に適用される
- 設定ファイルとしてはユーザーの内部設定ストアに保存され、ファイルパスはユーザーから見えない
以下でそれぞれを詳しく見ていきます。
3. プロジェクト固有のルールファイル
3.1 配置場所
プロジェクト固有のルールは、プロジェクトルート直下に .cursor/
ディレクトリを作成し、その中に配置します。
<プロジェクトルート>/
└── .cursor/
└── rules/
├── typescript-rule.mdc
├── test-rule.mdc
└── ...(必要に応じて複数ファイル可)...
-
rules
フォルダ以下の.mdc
拡張子を持つすべてのファイルがルールとして読み込まれます。 - ファイル名は自由ですが、名前から「何のルールか」が一目でわかるように付けるのがベストプラクティスです(例:
typescript-rule.mdc
,docs-lint-rule.mdc
など)。
3.2 ファイルの書き方(例)
### TypeScript ファイルに対する共通ルール
- glob: "**/*.ts"
prompt: |
- このプロジェクトでは TypeScript 4.5 以上を使用する
- すべての関数に `strict` モードで型アノテーションをつける
- `eslint --fix` が適用できる形にコードを整形する
### テストフォルダ内のファイル(*.spec.ts)
- glob: "tests/**/*.spec.ts"
prompt: |
- Jest を使ったテストコードを生成する際は、必ず `describe` と `it` を分ける
- 各テストケースにはモックを使用し、外部通信を行わないようにする
3.3 人気記事の例とポイント
ディレクトリツリーやコードスニペットはこう書くと読者が理解しやすいです。
├── src/
│ ├── components/
│ └── services/
├── tests/
└── .cursor/
└── rules/
├── typescript-rule.mdc
└── test-rule.mdc
4. グローバル(ユーザー共通)のルール設定
4.1 UIからの登録方法
CursorのSettings > Rules for AIから「New Rule」ボタンをクリックすると、UIでルールを入力できます。
4.2 保存場所と仕組み
- UIで登録したルールは内部設定領域に保存。
- ユーザーの目に見える形でファイルにはなっていない。
- 他のプロジェクトにも自動で適用される。
- バージョン管理が必要なら
.cursor/rules/*.mdc
を使うとよい。
5. 既存プロジェクトからルールを自動生成する方法
-
Cursorでプロジェクトを開く
-
コマンドパレットで
Generate Cursor Rules
を実行<実行後のディレクトリ例>
└── .cursor/
└── rules/
├── typescript-rule.mdc
├── test-rule.mdc
└── docs-rule.mdc
5.1 自動生成例
### TypeScript ファイル (*.ts, *.tsx) ルール
- glob: "**/*.ts?(x)"
prompt: |
- TSConfig: “strict”を有効化
- ESLint: `@typescript-eslint` のルールに準拠
- Prettier: 80文字幅でフォーマット
### テストフォルダルール
- glob: "src/**/*.test.ts?(x)"
prompt: |
- Jestを使用する
- モック化は `__mocks__` を使う
- テストは「Arrange / Act / Assert」の順で書く
6. まとめ
本記事では、Cursorの設定ファイルの使い方とAI挙動の制御方法を整理しました。
実務でAIアシストの質を高めたい方は、ぜひ .cursor/rules/
を活用してみてください。
Discussion