完全ガイド
Cursor(カーソル)完全ガイド:使い方・.cursorrules・Composer・本番化の壁まで【2026年版】
CursorはVS Codeベースの AI コードエディタ。.cursorrules の書き方、Composer・Agent・Tab補完の使い分け、ショートカット、Bolt.new や Claude Code との違い、そして本番化で詰まるポイントまで正直に解説。
CursorはVS Codeをベースに作られた、AIファーストのコードエディタだ。「VS CodeにAI拡張を足した」のではなく、「AIを前提にエディタを設計し直した」点が根本的に違う。
GitHub Copilotが「タイプ量を減らす」ツールだとしたら、Cursorは「コードを書く量そのものを減らす」ツールだ。Composerに機能を日本語で指示すれば、複数ファイルにまたがる変更が30〜90秒で完了する。Tab補完は次に書くべきコードを予測して、Tabキー1回で挿入する。Agentモードでは、計画→実装→テスト→デバッグまで自律で走る。
ただし、Cursorはコードを書くツールであって、本番に出すツールではない。デプロイしない。インフラを設定しない。セキュリティを自動で担保しない。「ローカルで動く」と「本番に出せる」の差は、Cursorを使っても埋まらない。
この記事では、Cursorのインストールから.cursorrulesの実践的な書き方、3つのモードの使い分け、そして「Cursorを使っても詰まる場面」までを正直に書く。Vibe Codingガイドで整理したツール選びの延長線上で、Cursorがどこに位置するのかを明確にする。
Cursorとは——他のAIコーディングツールとの違い
まず、主要なAIコーディングツールの位置づけを整理する。
| ツール | 環境 | 得意な場面 | デプロイ | 対象ユーザー |
|---|---|---|---|---|
| Bolt.new | ブラウザ完結 | 0からプロトを爆速で作る | ワンクリック | 非エンジニア・起業家 |
| Lovable | ブラウザ完結 | デザイン重視のUI + Supabase連携 | ワンクリック | デザイン重視の非エンジニア |
| v0 | ブラウザ完結 | UIコンポーネント単体の生成 | なし | フロントエンド寄りの開発者 |
| Claude Code | ターミナル(CLI) | 大規模リファクタ・自律タスク実行 | なし | ターミナルに慣れた開発者 |
| Cursor | ローカルエディタ | 既存コードの修正・拡張・デバッグ | なし | コードを読み書きする人 |
重要な違いが2つある。
1. Bolt.new / Lovableとの違い:「作る」vs「直す・広げる」
Bolt.newは「ブラウザでチャットしたら画面ができる」ツールだ。0→1のプロト生成に特化している。一方、Cursorは「すでにあるコードを開いて、修正・拡張する」ツールだ。Bolt.newで作ったプロトをGitHubにエクスポートし、Cursorで開いて拡張する——この組み合わせが実際に広く使われている。
2. Claude Codeとの違い:「一緒に書く」vs「任せる」
Claude Codeは「AIがコードを書く作業を自分が監督する」ツールだ。ターミナルで起動し、自律的にファイルを読み、書き、テストする。Cursorは「自分がコードを書く作業をAIに手伝ってもらう」ツールだ。GUIのエディタ内でAIとやり取りしながら、変更をその場で確認できる。
実はこの2つは排他的ではない。CursorのターミナルパネルでClaude Codeを走らせている開発者は多い。「細かい修正はCursorのComposer、大きなリファクタはClaude Code」という使い分けが定番になりつつある。
インストールと初期設定
5分で完了する手順
- cursor.com にアクセスしてダウンロード(Mac / Windows / Linux対応)
- インストール後に起動すると、VS Codeの設定・拡張機能をインポートするか確認される。VS Codeユーザーはそのまま「Import」を選べば環境が引き継がれる
- AIモデルを選択する。迷ったらClaude Sonnetから始めるのが安定する
- プロジェクトフォルダをCursorで開く(
File → Open Folderまたはターミナルでcursor .) ⌘I(Mac)/Ctrl+I(Windows)でComposerを開いて、最初の指示を入力する
VS Codeを使ったことがある人なら、違和感なく使い始められる。ショートカット、拡張機能、テーマ——すべてそのまま動く。
料金プラン
| プラン | 月額 | Tab補完 | Premium Requests | 用途 |
|---|---|---|---|---|
| Free | $0 | 2,000回/月 | 限定的 | 試用・小規模 |
| Pro | $20/月 | 無制限 | 500回/月 | 個人開発・継続利用 |
| Business | $40/人/月 | 無制限 | 500回/月 | チーム開発 |
まずFreeで2週間使い、2,000回のTab補完が月内に尽きるペースで使っているなら、Proに上げる判断でいい。毎日使う人なら$20は数時間のエンジニア時給以下の投資だ。
この設定を知らないだけで30分損する
インストール直後にやっておくべき設定が3つある。
1. Cursor Settings → Models でモデルを選ぶ
⌘,(Settings)→ Cursor Settings → Models で、使いたいモデルにチェックを入れる。Claude Sonnetがバランスが良い。GPT-4oも選べるが、コード生成の品質はClaudeの方が安定している実感がある。
2. Codebase Indexingを有効にする
Cursor Settings → Features → Codebase Indexing を「Enabled」にする。これを有効にしないと、@Codebaseでプロジェクト全体を参照できない。大規模プロジェクトでは初回インデックスに数分かかるが、それ以降は差分のみ更新される。
3. .cursorignoreでノイズを除外する
.gitignoreと同じ記法で、AIに読ませたくないファイルを除外する。node_modules/、dist/、大きなデータファイルなどを除外すると、レスポンス速度とコンテキスト効率が上がる。
# .cursorignore
node_modules/
dist/
.next/
*.lock
*.log
.cursorrules——プロジェクト全体のAI指示書
.cursorrulesはプロジェクトルートに置く設定ファイルで、AIへの永続的な指示を定義する。これを書くかどうかで、Cursorの出力品質が大幅に変わる。
なぜ.cursorrulesが必要なのか
毎回「TypeScriptで書いて」「Tailwind CSSを使って」「コンポーネントは関数型で」と指示するのは無駄だ。.cursorrulesに書いておけば、すべてのChat・Composer・Agentセッションでその指示が自動的に適用される。
実践的な.cursorrulesの書き方
# .cursorrules
## プロジェクト概要
- Next.js 14 (App Router) + TypeScript + Tailwind CSS
- データベース: Supabase (PostgreSQL)
- 認証: Clerk
- デプロイ: Vercel
## コーディング規約
- コンポーネントは関数型(Arrow Function)で書く
- `"use client"` は必要なコンポーネントにのみ付与する
- 型定義は `types/` ディレクトリに集約する
- APIルートは `app/api/` 以下に配置する
## スタイリング
- Tailwind CSSのユーティリティクラスを使用する
- カスタムCSSは使わない
- shadcn/ui コンポーネントを優先的に使う
## セキュリティ
- APIキーは環境変数に格納する(コードに直書きしない)
- サーバーサイドでも入力バリデーションを行う
- Supabase RLSを有効にする前提で書く
## 命名規則
- コンポーネント: PascalCase (例: UserProfile.tsx)
- ユーティリティ: camelCase (例: formatDate.ts)
- 定数: UPPER_SNAKE_CASE
- 日本語コメントOK
.cursorrules運用のコツ
- プロジェクトごとに書く。 全プロジェクト共通の
.cursorrulesは意味が薄い。技術スタック・コーディング規約はプロジェクトごとに異なる。 - 長すぎない。 200〜400行が目安。これを超えるとAIのコンテキストを圧迫して逆効果になる。
- 禁止事項を明記する。 「〜を使わない」という指示は「〜を使う」より効果的なことが多い。例:「
any型を使わない」「console.logを残さない」 - チームで共有する。
.cursorrulesはGitリポジトリにコミットしてチーム全員で共有する。AIの出力がメンバー間で一貫する。
3つのモード:Chat・Composer・Agent
Cursorには3つの操作モードがある。それぞれ役割が明確に異なる。この使い分けを間違えると、効率が半分以下になる。
Chat(⌘L)——理解・相談・調査
コードを変更せずに質問するモード。
使い方の例:
- 「このファイルは何をしているか説明して」
- 「このエラーの原因は何か」
- 「この関数のテストケースを5つ挙げて」
- 「React Server Componentsの制約を整理して」
コードに副作用がないため、安心して使える入口だ。「何が起きているか理解したい」場面ではChatを使う。
ショートカット: ⌘L でChatパネルを開く。コードを選択した状態で ⌘L を押すと、選択範囲がコンテキストとして添付される。
Composer(⌘I)——編集・実装の主力
複数ファイルを同時に編集するモード。日常のコーディング作業の80%はここで完結する。
使い方の例:
- 「ダークモードのトグルを追加して」
- 「この API ルートにバリデーションを追加して」
- 「ログインページのデザインをこの画像に合わせて修正して」
- 「このコンポーネントをTypeScriptに変換して」
Composerに指示を出すと、関連するすべてのファイルを特定し、差分を提示してくれる。変更内容を確認してから「Accept」で適用する。気に入らなければ「Reject」で元に戻せる。
ショートカット:
⌘I:Composerを開く⌘Enter:指示を送信⌘Shift+Enter:Accept All(すべての変更を適用)
Agent(⌘.)——自律実行モード
計画→実装→テスト→デバッグまで自律的に進めるモード。
使い方の例:
- 「ブログ記事のCRUD APIをPrismaで作って」
- 「全ページにSEOメタタグを追加して」
- 「テストが通らない原因を調査して修正して」
- 「ESLintの警告をすべて修正して」
Agentは1セッションあたり最大25のツール操作を実行する。ターミナルコマンド(npm install、npx prisma migrateなど)も自律的に走らせる。3〜8分かかることもあるが、その間は別の作業ができる。
注意点: Agentは自律的にターミナルを操作するため、意図しない変更が発生するリスクがある。本番環境に接続した状態でAgentを走らせるのは避けること。開発環境のみで使う。
ショートカット: ⌘. でAgentモードに切り替え
モード選択の早見表
| やりたいこと | モード |
|---|---|
| コードの意味を理解したい | Chat |
| エラーの原因を知りたい | Chat |
| 1〜5ファイルの修正 | Composer |
| 新しい機能の追加 | Composer / Agent |
| 大規模なリファクタリング | Agent |
| テストの一括生成 | Agent |
| 「とりあえず動くもの」を一気に作る | Agent |
@メンション——AIに渡すコンテキストを制御する
Cursorの生産性を左右する最も重要な機能が@メンションだ。AIに「何を見て答えるか」を明示的に指定できる。
| メンション | 効果 | 使う場面 |
|---|---|---|
@ファイル名 | 特定のファイルをコンテキストに追加 | 「@UserProfile.tsx のこのコンポーネントを修正して」 |
@フォルダ名 | フォルダ内の全ファイルを参照 | 「@components/ のデザインを統一して」 |
@Codebase | プロジェクト全体をインデックスから検索 | 「@Codebase この関数はどこから呼ばれているか」 |
@Web | Web検索結果を参照 | 「@Web Next.js 15の変更点を踏まえて修正して」 |
@Docs | 外部ドキュメントを参照 | 「@Docs Stripe APIのWebhook設定方法」 |
@Git | Gitの変更履歴を参照 | 「@Git 直近のコミットで何が変わったか」 |
実践的な使い方のコツ:
@Codebaseは強力だが重い。特定のファイルがわかっている場合は@ファイル名で絞る方が速い@Webは最新情報を取得したいとき(ライブラリのバージョンアップ対応など)に有用- 複数の
@を組み合わせられる。「@UserProfile.tsx と @types/user.ts を参照して、型定義を修正して」
Tab補完——「考えなくていい」コード補完
Cursorの Tab 補完は GitHub Copilot と似ているが、コンテキストの読み取り精度が高い。
- コードを書いている途中で、次に書くべきコードがグレーアウトで表示される
Tabキーで挿入、Escで無視- 関数のシグネチャ、変数名、インポート文、条件分岐——あらゆる場面で提案が出る
Tab補完が特に活きるのは反復的なコードだ。似たようなコンポーネントを3つ目に書くとき、1つ目と2つ目のパターンを学習して、3つ目をほぼ正確に予測する。
設定のコツ: Cursor Settings → Tab で、補完の積極性(aggressiveness)を調整できる。デフォルトで問題ないが、提案が多すぎると感じたら「Conservative」に変更する。
覚えておくべきショートカットまとめ
| ショートカット | 機能 |
|---|---|
⌘L | Chatを開く |
⌘I | Composerを開く |
⌘. | Agentモードに切り替え |
⌘K | インラインコード編集(選択範囲にAI修正を適用) |
⌘Shift+L | 選択範囲をChatに送る |
⌘Shift+Enter | Composerの変更をすべてAccept |
⌘Enter | 指示を送信 |
Tab | Tab補完を挿入 |
Esc | Tab補完を無視 |
全部覚える必要はない。まず ⌘I(Composer)と ⌘L(Chat)だけ覚えれば、日常の8割はカバーできる。
実践ワークフロー:Bolt.newで作ったプロトをCursorで拡張する
もっとも多いユースケースを具体的に書く。
Step 1: Bolt.newからコードを持ち込む
Bolt.newのプロジェクトはGitHubにエクスポートできる。エクスポートしたリポジトリをローカルにクローンし、Cursorで開く。
git clone https://github.com/your-name/your-project.git
cd your-project
npm install
cursor .
Step 2: .cursorrules を設定する
プロジェクトルートに.cursorrulesを作成し、技術スタックとコーディング規約を記述する。Bolt.newが生成したコードの技術スタックを確認してから書く。ChatモードでAIに聞くのが速い。
⌘L → 「このプロジェクトの技術スタック・ディレクトリ構成・主要ライブラリを整理して」
Step 3: エラーを修正する
Bolt.newからエクスポートしたコードは、ローカル環境でそのまま動かないことがある。ビルドエラーが出たら、エラーメッセージをそのままComposerに貼り付ける。
⌘I → 「npm run dev で以下のエラーが出た。修正して」 + エラーメッセージを貼り付け
Step 4: 機能を追加・修正する
Composerに自然言語で指示を出す。
⌘I → 「料金ページに月払い/年払いの切り替えトグルを追加して。年払いは20%割引を表示」
複数ファイルにまたがる変更でも、Composerが関連ファイルを自動で特定して差分を提示する。
Step 5: コードレビューを依頼する
自分で書いたコードが正しいか不安な場合、ChatモードでAIにレビューを依頼できる。
⌘L → 「@src/app/api/payment/route.ts このAPIルートにセキュリティ上の問題がないかレビューして」
ただし、AIのコードレビューには限界がある。AI生成コードのセキュリティリスクで触れているが、AIは自分が書いたコードの問題を見つけにくい傾向がある。
Cursorの限界——正直に書く
ここからが最も重要なセクションだ。Cursorはコードを書くスピードを大幅に上げるが、以下の領域はCursorのスコープ外だ。
デプロイとインフラ
Cursorはコードを生成するが、デプロイしない。Vercelの設定、環境変数の本番セット、ドメインの紐付け、SSL——すべて自分でやる必要がある。「ローカルでは動くが本番では動かない」問題の大半は、この設定ミスが原因だ。
.envファイルの書き方は教えてくれるが、Vercelのダッシュボードに何を入力すべきかまでは面倒を見ない。
セキュリティの自動担保
CursorはAPIキーのハードコード、未保護のAPIエンドポイント、RLS未設定のSupabaseテーブル——これらを自動で検出・修正しない。指示すれば対応するが、指示しなければスルーする。
AI生成コードのセキュリティリスクで詳しく書いているが、「動く」と「安全に動く」は別の話だ。本番に出すなら、セキュリティチェックは人間がやる必要がある。
コンテキストの崩壊
長いセッションで修正を重ねると、AIが以前の指示を忘れる。「さっき直したバグが戻ってきた」「新機能を追加したら別の機能が壊れた」——典型的なコンテキスト崩壊だ。
対策:
- タスクを小さく切って、1指示 = 1変更
- 動作確認ができた段階でこまめにgit commit
- 長くなったセッションは新しいセッションで続きを始める
CI/CDとテスト
GitHub Actionsの設定、自動テストパイプラインの構築、ステージング環境の管理——これらはCursorのスコープ外だ。テストコードの生成は得意だが、CI/CDパイプライン全体の設計は人間がやる領域。
生成コードの精度
Cursorが生成するコードの正確さは80〜90%だ。残りの10〜20%は人間のレビューが必要になる。これはCursorの問題ではなく、現在のAIコーディング全般の限界だ。生成されたコードを「全部正しい」と思い込まず、差分を確認してからAcceptする習慣をつけること。
Cursor vs Bolt.new vs Claude Code——選び方
「どれを使えばいいか」の質問に対する回答は単純だ。フェーズで選ぶ。
| フェーズ | 最適なツール | 理由 |
|---|---|---|
| アイデアを形にする(0→1) | Bolt.new / Lovable | ブラウザ完結・デプロイまで一気通貫 |
| UIコンポーネントを作る | v0 | デザイン品質が高い |
| 既存コードを修正・拡張する | Cursor | GUI + AI の組み合わせが最も効率的 |
| 大規模リファクタ・テスト一括生成 | Claude Code | 自律実行・ターミナルネイティブ |
| セキュリティ・インフラ・本番化 | プロのエンジニア | AIでは担保できない領域 |
実際のプロジェクトでは、1つのツールだけで完結することは少ない。Bolt.newで0からプロトを作り、Cursorで拡張し、Claude Codeで大規模リファクタをかけ、最後にプロが本番化する——このフローが現実的だ。
AIコーディングツール総合ガイドでも各ツールの詳細を整理しているので、併せて読むと全体像が見える。
本番化の判断チェックリスト
Cursorで作ったコードが「本番に出せる状態か」を判断するためのリスト。
動作面
- ローカルだけでなく、ステージング環境でも動作確認が取れているか
- エッジケース(空入力、大量データ、同時アクセス)でクラッシュしないか
- エラー時にユーザーへ適切なメッセージが表示されるか
セキュリティ面
- APIキー・シークレットがコードに直書きされていないか
- 認証が必要なAPIエンドポイントに認証チェックがあるか
- サーバーサイドでも入力バリデーションがあるか
- SQLインジェクション対策(Prisma / ORMを使っているか)
インフラ面
- 環境変数が本番環境に設定されているか
- 本番用データベースが開発用と分離されているか
- エラー監視(Sentry等)が入っているか
- バックアップ設定があるか
3つ以上チェックが付かない項目がある場合、そのまま本番に出すのはリスクが高い。本番公開の最後の30%で、この「残りの部分」を体系的に整理している。
よくある質問
Cursorは無料で使えますか?
Free Tierがある。月2,000回のTab補完まで無料だ。週に数回使う程度なら十分だが、毎日使うと月内に上限に達する。本格的に使うならPro($20/月)が現実的な選択になる。
プログラミング初心者でも使えますか?
使えるが、コードをまったく読めない状態だと難しい。Composerに指示を出して生成されたコードを「Accept」するだけなら操作は簡単だが、生成結果の良し悪しを判断できないと、品質の低いコードが積み上がっていく。
完全初心者なら、まずBolt.newかLovableでプロトを作る経験を積んでから、Cursorに移行する方が現実的だ。
CursorとVS Codeは共存できますか?
できる。CursorとVS Codeは別アプリケーションとしてインストールされる。両方同時に起動しても問題ない。設定や拡張機能はインポートできるが、同期はされない(片方で変更しても、もう片方には反映されない)。
Bolt.newで作ったコードをCursorに持ち込めますか?
持ち込める。Bolt.newの「Export to GitHub」でリポジトリにエクスポートし、git cloneしてCursorで開く。この「Bolt.newで0から作り、Cursorで拡張する」フローは定番の組み合わせだ。Bolt.newガイドでエクスポートの詳細を書いている。
.cursorrules と .cursorignore の違いは?
.cursorrulesはAIへの指示(「TypeScriptで書け」「shadcn/uiを使え」)。.cursorignoreはAIに読ませないファイルの指定(node_modules/、dist/など)。両方設定するのが推奨。
Agentモードは安全ですか?
Agentはターミナルコマンドを自律的に実行するため、予期しない操作が発生するリスクはある。初めて使う場合は、Agentが実行しようとしている操作を一つずつ確認しながら進めること。本番環境に直接接続した状態でAgentを走らせるのは避けること。
CursorでSupabaseは使えますか?
使える。ComposerにSupabaseとの連携コードを書かせることができる。ただし、SupabaseのRow Level Security(RLS)の設定はCursorだけでは完結しない。RLSはSupabaseのダッシュボード上で設定するもので、Cursorのコード生成とは別の作業になる。RLSの未設定がどれだけ危険かはセキュリティリスクの記事で詳しく書いている。
Cursorはコードを書くスピードを変えるツールだ。ただし、「速く書ける」と「本番に出せる」の間には、セキュリティ・インフラ・運用設計という最後の30%が残る。
Cursorで作ったプロトタイプの本番化は「AIのあとしまつ」へ。コードの持ち込みから本番公開まで、2〜4週間・50万円〜で引き受けます。