Cursor実践ガイド
Cursorとは
CursorはVS Codeベースのエディタに、強力なAI機能を統合したIDEです。
特徴:
- VS Codeの使い慣れた操作感
- Composer機能で複数ファイル同時編集
- インラインチャットとコマンドパレット
- プロジェクトルールによるカスタマイズ
Project Rules(.cursor/rules/)
5.2.1 新しいルールシステム(2025年版)
“Project Rules are now stored in
.cursor/rules/as.mdcfiles.”
.cursor/
└── rules/
├── main.mdc # 基本ルール
├── security.mdc # セキュリティ
├── testing.mdc # テスト
└── react.mdc # React固有
レガシーの .cursorrules も動作しますが、新形式を推奨します。
5.2.2 ルールの作成
Cmd + Shift + P > "New Cursor Rule"
5.2.3 基本ルールの例
# .cursor/rules/main.mdc
You are an expert TypeScript developer working on this project.
## Technology Stack
- React 18 with TypeScript
- Next.js 14 (App Router)
- Tailwind CSS
- Prisma + PostgreSQL
## Coding Standards
- Use TypeScript strict mode
- Prefer functional components with hooks
- Use Tailwind CSS for styling
- Write tests for new functions
## File Structure
src/
├── app/ # Next.js App Router pages
├── components/ # React components (Atomic Design)
├── hooks/ # Custom hooks
├── lib/ # Utility functions
├── types/ # TypeScript types
└── server/ # Server-side code
## Naming Conventions
- Components: PascalCase (UserProfile.tsx)
- Hooks: camelCase with 'use' prefix (useAuth.ts)
- Utilities: camelCase (formatDate.ts)
- Types: PascalCase with suffix (UserType.ts)
## Forbidden Patterns
- Never use `any` type
- Never use `console.log` in production code
- Never use inline styles (use Tailwind)
- Never commit commented-out code
5.2.4 セキュリティルールの例
# .cursor/rules/security.mdc
## Security Requirements
### Input Validation
- Always validate user input with Zod
- Sanitize all data before rendering
- Use parameterized queries (Prisma)
### Authentication
- Never store tokens in localStorage
- Use HttpOnly cookies for sessions
- Implement proper CSRF protection
### Secrets
- Never hardcode API keys or secrets
- Use environment variables
- Never log sensitive data
### Output
- Escape all user-generated content
- Use CSP headers
- Avoid dangerouslySetInnerHTML
キーボードショートカット
5.3.1 基本操作
| ショートカット | 機能 |
|---|---|
Cmd/Ctrl + K | インライン編集(選択範囲) |
Cmd/Ctrl + L | チャットパネルを開く |
Cmd/Ctrl + I | Composer(複数ファイル編集) |
Tab | 補完を受け入れ |
Esc | 補完をキャンセル |
Cmd/Ctrl + Shift + L | 選択範囲をチャットに追加 |
5.3.2 効率的な操作
1. コードを選択
2. Cmd+K でインライン編集
3. 「この関数にエラーハンドリングを追加」
4. Tab で適用
Composer(複数ファイル編集)
5.4.1 起動方法
Cmd/Ctrl + I でComposerを開きます。
5.4.2 ファイル参照
@ でファイルを参照できます。
@UserProfile.tsx @UserSettings.tsx @useUser.ts
これらのファイルでuser.nameをuser.displayNameにリネームしてください。
すべての型定義とテストも更新してください。
5.4.3 効果的な使い方
リファクタリング:
@src/components/auth/
このディレクトリ内のすべてのコンポーネントで、
クラスコンポーネントを関数コンポーネントに変換してください。
useStateとuseEffectを使用してください。
一括変更:
@src/api/**/*.ts
すべてのAPIエンドポイントに以下を追加してください:
1. 入力バリデーション(zodスキーマ)
2. エラーハンドリング(try-catch)
3. ログ出力(logger.info/error)
チャットパネルの活用
5.5.1 質問と調査
このプロジェクトで認証はどのように実装されていますか?
関連ファイルと主要な関数を教えてください。
5.5.2 コードレビュー
選択したコードをセキュリティの観点からレビューしてください。
OWASP Top 10に基づいてチェックしてください。
5.5.3 説明を求める
この正規表現が何をしているか説明してください:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/
モデル選択
5.6.1 2025年の推奨
| タスク | 推奨モデル |
|---|---|
| 複雑な設計・アーキテクチャ | Claude Opus / o3 |
| 日常のコーディング | Claude Sonnet / GPT-4o |
| クイック補完 | デフォルト(高速モデル) |
| 大規模リファクタリング | Claude Opus |
| コードレビュー | Claude Sonnet |
5.6.2 切り替え方法
チャットパネルのモデルセレクターで切り替えます。
効率的なワークフロー
5.7.1 新機能開発
1. Composer で関連ファイルを開く
2. 「以下の機能を実装してください」と依頼
3. 差分をレビュー
4. 必要に応じて修正を依頼
5. Accept で適用
5.7.2 バグ修正
1. エラーが発生しているファイルを開く
2. Cmd+L でチャットパネルを開く
3. エラーメッセージを貼り付け
4. 「このエラーの原因と修正方法を教えてください」
5. 提案された修正をレビューして適用
5.7.3 リファクタリング
1. リファクタリング対象を選択
2. Cmd+K でインライン編集
3. 「この関数を小さな関数に分割してください」
4. 変更をレビュー
5. 必要に応じて調整
ルールの分割と管理
5.8.1 ルールが肥大化したら
.cursor/
└── rules/
├── main.mdc # 基本設定のみ
├── typescript.mdc # TypeScript固有
├── react.mdc # React固有
├── security.mdc # セキュリティ
├── testing.mdc # テスト
└── api.mdc # API開発
5.8.2 Rule Typeの使い分け
| Type | 用途 |
|---|---|
| Always | 常に適用(基本ルール) |
| Auto Attached | 特定のファイルパターンで適用 |
| Agent Requested | エージェントが必要と判断したら適用 |
| Manual | 明示的に指定したときのみ |
リソース
5.9.1 コミュニティルール
5.9.2 公式ドキュメント
今日から実践できるアクション
- ルールファイルを作成:
.cursor/rules/main.mdc - ショートカットを覚える: Cmd+K, Cmd+L, Cmd+I
- Composerを試す: 複数ファイルの一括変更
まとめ:重要ポイントの振り返り
- Project Rules:
.cursor/rules/*.mdcでカスタマイズ - ショートカット: Cmd+K(インライン)、Cmd+L(チャット)、Cmd+I(Composer)
- Composer:
@でファイル参照、複数ファイル同時編集 - モデル選択: タスクに応じて最適なモデルを選択
- ルール分割: 肥大化したらファイルを分ける
- 教訓:ルールを育てて、Cursorを自分仕様に