AI開発ツール活用 2025年4月4日

Cursor入門:AI搭載エディタの使い方と活用法

CursorはVS Codeベースのエディタに、強力なAI機能を統合したIDEです。 **特徴:** .cursor/ └── rules/ ├── main.mdc # 基本ルール ├── security.mdc # セキュリティ。

川西智也

合同会社ロイヤルピース 代表

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 .mdc files.”

.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 + IComposer(複数ファイル編集)
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 公式ドキュメント


今日から実践できるアクション

  1. ルールファイルを作成: .cursor/rules/main.mdc
  2. ショートカットを覚える: Cmd+K, Cmd+L, Cmd+I
  3. Composerを試す: 複数ファイルの一括変更

まとめ:重要ポイントの振り返り

  • Project Rules: .cursor/rules/*.mdc でカスタマイズ
  • ショートカット: Cmd+K(インライン)、Cmd+L(チャット)、Cmd+I(Composer)
  • Composer: @ でファイル参照、複数ファイル同時編集
  • モデル選択: タスクに応じて最適なモデルを選択
  • ルール分割: 肥大化したらファイルを分ける
  • 教訓:ルールを育てて、Cursorを自分仕様に

実践的なスキルを習得しませんか?

ブログで学んだ知識を、研修で実践に変えましょう。