目次
- Cursor概要
- とにかくAgentモードとRuleを押さえるべし
- Agentモード
- コンテキスト
- Rule
- そのほか、知っておくと便利なこと
Cursor概要
- 開発元:Anysphere社(米スタートアップ)
- 由来:VSCodeをフォークし、「AIとの開発に最適化されたUX」を再設計
https://docs.cursor.com/en/welcome
Cursor バージョン: 1.2.4
とにかくAgentモードとRuleを押さえるべし
Ruleを作成して、command + iでチャット開いて、Agentモードで適切なコンテキスト与えてプロンプト入力、command + enterで実行
ひたすらこれの繰り返し
Agentモード
自律的にコーディングやファイル操作、ターミナル操作、デバッグ、エラー修正、git操作を実行してくれる
前提として、エージェントはコーディングの過程でエラーが発生した場合、コンパイル言語でのコンパイル時のエラーや静的解析 (ESLint など)があると、エラーを検知して自動で修復してくれるのでまずはこういった従来の仕組みで解決できるものはこれらに任せたほうがいい(全自動とはいえ)
<モードによる違い>
モード | 特徴 |
---|---|
Agent | AIが自律的に実行。全自動(旧 Composer |
Manual | 指定したファイルの変更のみ行う。ファイル編集のみで、ターミナルでのコマンド実行はなし |
Ask | 質問、コードの探索、デバッグ。実行はユーザーが手動で |
コンテキスト
モデルの精度を高めるために与える前提知識、文脈
Cursorでコード提案を生成する際、「コンテキスト」とは、モデルに提供される情報(「入力トークン」の形で)を指し、モデルはそれを使用して後続の情報(「出力トークン」の形で)を予測します。
モデルに関連性の高いコンテキストを多く提供するほど、モデルはより有用になります。
Symbols
@を入力すると、Cursorでは様々な形式でコンテキストを与えることができる

- Files & Folders
- 特定のフォルダやファイルの内容
- Code
- 特定のファイルの中のソースコード(例. select.tsx(9-14))
- Docs
- 公式ドキュメントやリファレンスなどWeb上のドキュメント
- Git
- 特定のコミット
- Past Chats
- 過去のチャット内容
- Rule(重要)
- 作成したルールファイル(後述)
- ターミナル
- コマンドラインで実行した内容
- Linter Errors
- EsLintなどリンターが出しているエラー内容
- Web
- Web上の特定のページ
- Recent Changes
- 直近のGitの変更内容
※Docsについては、Cursor Settingsの Indexing & DocsのDocs からあらかじめ指定することも可能
Cursor Settings
>Indexing & Docs
>Docs

ちなみに、主要な言語やライブラリの公式ドキュメントなどがすでに初期設定で読み込まれている
https://raw.githubusercontent.com/getcursor/crawler/main/docs.jsonl
なお、該当のソースコードやターミナル実行内容を選択し、Add to Chat
からもコンテキストを追加可能

Auto Run Mode
ユーザーの確認なしでAIに変更を任せる自動化モード。ファイル保存や作成、ターミナルの実行、Git操作など
Cursor Settings
>Chat
>Auto Run

自動実行したくない禁止コマンドを指定することも可能
Cursor Settings
>Chat
>Auto Run

ファイル削除保護(自動で削除はしたくない)やMCPツールの実行の制御(自動でツールを実行したくない)、.gitignoreなどの特定のファイルは編集できないように
Cursor Settings
>Chat
>Auto Run

ちなみに、現在Cursorで開いているディレクトリ外へのファイル操作はデフォルトでブロックされている(安心)
Rule
Cursorチャットとの対話において、必要なコンテキストを与えるための機能。このルールが適切に作成されているかどうかで大きく精度が変わってくる
※Cursor Rules は Tab補完には効かない
User Rules
どのプロジェクトにも適用したいグローバルなルール。常に適用される
Project Rules
特定のプロジェクトに適用したい個別のルール。設計思想や、テストの書き方、使うライブラリなど
.cursorrules は廃止予定で非推奨なので注意
https://docs.cursor.com/en/context/rules#cursorrules-legacy
Ruleの作り方
自動作成
現在のプロジェクト構成から自動でRuleを作成してくれる
スラッシュコマンドでGenerate Cursor Rulesを選択すれば良い

手動作成
.cursor/rulesディレクトリを作成し、拡張子.mdc
でファイルを作成する。もしくはコマンドパレット (Ctrl+Shift+P)でRuleと検索してルール名登録したらファイルを作成してくれる

一度ルールを作成した後は、Agentモードでのチャットの結果、意図通りでない内容についてルールを追記し、充実させていくというのが効率的
プロジェクトの途中からCursorを導入した場合は一旦自動作成して、そこから追加、新規でプロジェクトを作成する場合は先にRuleを定義する、もしくは一般的な技術スタックでのRuleのサンプルを用意してくれているリポジトリがあるので、そこから拝借する のが良さそう
Ruleの発動発動
Ruleを作成する時のこのRuleが適用されるタイミングを指定できる

https://docs.cursor.com/context/rules#rule-anatomy
発動条件 | 説明 |
---|---|
Always | 常にAIのコンテキストに含まれるので、最低限の内容に留めておくことが推奨。AIの振る舞いや行動規範 |
Auto Attached | globパターンに一致するファイルに基づき自動で参照される |
Agent Requested | description (ルールの説明)に記載された内容を元に、エージェントが参照するかを決定し |
Manual | プロンプトで明示的にルールを指定したときのみ参照 |
ここで登録されたルールの内容は、モデルコンテキストの先頭に取り込まれるため、精度が落ちるのと、その分だけトークンを消費するだけなのであまりよろしくない
Ruleのサンプル
複数の言語やフレームワークのファイルテンプレートが提供されているので、自分のプロジェクトのルールを作るときにとても参考になる
おすすめのUser Rule
# 全般
## 応答スタイル
- 日本語でコミュニケーションを行うこと
- 簡潔で分かりやすい説明を心がけること
- 結論、理由、具体例の流れで回答すること
- エラーやミスについて謝罪せず、修正すること
- 2回以上同じ方法で失敗した場合は必ず別の方法や角度、手動で解決するか試すこと
## タスク実行の流れ
- 依頼に対してタスクを細かくステップに分けること
- ステップを一つずつ実行すること
- 各ステップの完了後、簡潔に進捗を報告すること
## 結果報告のフォーマット
以下のフォーマットで最終的な結果を報告してください:
```markdown
# 結果
## 概要
[全体の要約を簡潔に記述]
## ステップ
1. [ステップ1の説明と結果]
2. [ステップ2の説明と結果]
...
## 成果物
[成果物の詳細や、該当する場合はリンクなど]
## 注意点・改善提案
- [気づいた点や改善提案があれば記述]
```
## 根拠の提示
調査や確認依頼、質問に対しての回答には必ず出典元のwebページのurlを添えること
```
Ruleのベストプラクティス
精度高くルールを適用するには、この辺りのベストプラクティスを守って作成すれば良い
https://docs.cursor.com/en/context/rules#best-practices
- ルールは500行以内に抑える
- 大きなルールを複数の構成可能なルールに分割する
- 具体的な例や参照ファイルを提供する
- 曖昧なガイダンスは避け、明確な社内文書のようなルールを記述しましょう。
- チャットでプロンプトを繰り返すときにルールを再利用する
そのほか、知っておくと便利なこと
新しく作成したファイルがCursorに認識されない等あれば、確認してみると良いかも
Codebase Index
Cursorは、各ファイルの埋め込みを計算してコードベースをインデックスします。これにより、AIによるコードに関する回答精度が向上します。プロジェクトを開くと、Cursorは自動的にインデックス作成を開始します。新しいファイルは段階的にインデックス作成されます。インデックス作成状況は次のURLで確認できます:
Cursor Settings
>Indexing & Docs
https://docs.cursor.com/en/context/codebase-indexing#codebase-indexing
Restore checkpoint
AIにコードを壊された場合も、過去の指示内容の時点に復帰できる (復元したい地点のRestore checkpointをクリック)

モデル
自動選択される。デフォルトはClaude Sonnet 3.7になっており、性能的にあえて別のモデルを使う必要なし
ショートカットキー
Cmd + K
選択範囲に対して各種AI機能呼び出し。コード修正や生成にシームレスに繋がる

.cursorignore
機密性の高いファイルは必ず .cursorignore に追加すること。Cursorから参照させることができなくさせることが可能
日本語化
コマンドパレット (Ctrl+Shift+P)
>表示言語を構成する
> 日本語

日本語を選択し、Cursorを再起動すると反映される

Privacy mode
コードがモデルの学習に利用されることを防止できる
Cursor Settings
>General
> Privacy Mode

プラン
実用的に使うのであればPro以上が必須
- Hobby
- 無料。2週間のProトライアル
- Pro
- $20/月
- Urtra
- $200/月
ざっくりと違いは、月間の高速リクエスト上限数
- Pro ($20/月): Tabを主に使用し、エージェントをたまに使用するユーザー向け
- Pro+ ($60/月): ほぼ毎日エージェントとコーディングするユーザー向け
- Ultra(月額200ドル):エージェントを使ってコーディングの大部分を行うパワーユーザー向け
https://docs.cursor.com/en/account/pricing#individual
Dashbordのoverviewから使用料を見れたりする
