【Cursor】Custom modesでCursor君にコードレビューをしてもらおう

# はじめに
皆さんは **AI** 使い倒していますか？
今はAIが搭載されたIDE(Cursor, Windsurfなど)を活用した開発を行う人がかなり多くなってきていますよね。
自分もプライベートではもちろん利用していて、勤めている会社でもCursor利用を推し進めている状態です。

**AIを活用できる**ことは、これからの時代に必須のスキルと言えるでしょう。:v:

# Cursorとは？
Cursorは、AIを搭載した高機能なコードエディタです 👨‍💻。VSCodeをベースに開発されており、AIによる強力なサポートを受けながらプログラミング作業を進めることができます。
[Cursor](https://www.cursor.com/ja)

## 主な機能
主な機能は以下の通りです。
### コードの自動生成・編集
自然言語で指示するだけで、AIがコードを生成したり、既存のコードを編集したりします。

### チャット形式での対話
わからないことやエラーについてAIに質問したり、コードの改善案を求めたりすることができます。

### エラーの自動検出と修正
コード中のエラーをAIが自動で検出し、修正案を提示してくれます。


### VSCodeとの互換性
VSCodeの拡張機能や設定の多くを引き継いで利用できるため、VSCodeユーザーはスムーズに移行できます。

### プロジェクト全体を理解
開いているプロジェクト全体のコードをAIが理解し、より文脈に沿った的確なサポートを提供します。

# 本編
本記事では、自分がプライベートや仕事で行っている「CursorのCustom modeを用いたコードレビュー」の設定方法と使用方法を紹介します。

## Custom Modeって？
Cursor Chatには通常、ChatGPTやClaudeのようにAIとチャットする**Askモード**や、様々なツールを用いてソースコードを生成・編集する**Agentモード**などが標準で備わっています。

version 0.48.x で新たに「Custom Mode」がベータ版として登場しました（2025年5月22日現在もベータ版です）。

このCustom modeは名前の通り、AIが使用するツール（コード編集、ファイル検索など）や、プロンプト、使用するAIモデルを自分のお好み通りにカスタマイズができます。

<br>

自分はTDDで実装を行うようなTDD Master、セキュリティ強化のためのレビューを行ってくれるようなSecurity Guardianなど様々なカスタムモードを作成しています。

本記事はその中でもレビューに特化したモード「**review mode**」の設定を紹介します。

![スクリーンショット 2025-05-22 7.50.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620625/bb7f2ec7-4099-454b-8963-d3d88dd1e08d.png)

## レビューモード（Custom Mode）を設定していく

### 事前準備
`Custom Mode`は現在ベータ版のため、使用するには設定が必要です

`Cursor Settings > Features > Chat`にある`Custom modes`にチェックしてください。
チェックをつけることで`Custom modes`が有効化されます。

![スクリーンショット 2025-05-22 21.30.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620625/b0ee9761-b74b-471f-ae04-5efde218e68b.png)

### Custom modesを作成

Cursorの`Chat`の下部にモード選択があり、そこに`Add custom mode`があるのでクリックし、以下のように作成画面を表示します。
![スクリーンショット 2025-05-22 21.42.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620625/689e2169-b31b-45b0-9c1f-bb13d752382c.png)


設定項目はモードの `アイコン` `名前` `Model` `キーバインド` `ツール` `高度な設定`の大きく5項目あります。
自分が設定している`review mode`の設定内容を以下の通りです。

#### review modeの基本設定

<table>
  <thead>
    <tr>
      <th>設定項目</th> <th>設定</th>
    </tr>
  </thead>
  <tr>
    <td> アイコン </td> <td>画像の通りトーク？アイコンにしています</td>
  </tr>
  <tr>
    <td> 名前 </td> <td>review mode</td>
  </tr>
  <tr>
    <td> キーバインド </td> <td>なし</td>
  </tr>
  <tr>
    <td> Model </td> <td>claude-3.7-sonnet</td>
  </tr>
  <tr>
    <td> ツール </td> <td>・Codebase <br>・Web<br>・Grep<br>・List directory<br>・Search files<br>・Read file　</td>
  </tr>
</table>

#### review modeの高度な設定
コードレビューだけして欲しいので、`Auto-apply edits` `Auto-run` `Auto-fix errors`はオフにしています。
カスタム指示は以下の通りにしています。

```text
あなたは熟練したコードレビュアーです。品質、セキュリティ、パフォーマンス、可読性の観点からコードを評価します。

# コードレビューガイドライン

## セキュリティの確認
- インジェクション攻撃の可能性を検証する
- 認証・認可メカニズムの適切な実装を確認する
- 機密情報の適切な取り扱いを確認する

## パフォーマンスの検証
- 不必要なレンダリングや再計算を特定する
- N+1問題などのデータベースアクセスの効率を評価する
- メモリリークの可能性がある箇所を確認する

## 保守性の向上
- 変数名、関数名、クラス名の命名の適切さを評価する
- 関数の責務の明確さと単一責任の原則の遵守を確認する
- コメントの質と必要性を検討する

## テスト容易性の確保
- 副作用を分離できているか確認する
- モック/スタブの作成が容易な設計になっているか評価する
- エッジケースが適切に考慮されているか確認する

## コード規約の遵守
- プロジェクト固有の命名規則に従っているか確認する
- ファイル構成とディレクトリ構造の一貫性を評価する
- ESLint/Prettierなどのコード整形ルールの遵守を確認する

## レビュー結果の提示
- 「良い点」と「改善点」に分けて構造化する
- 具体的なコード例と改善提案を含める
- 推奨される実装パターンを示す

## レビューフィードバックの優先順位
- セキュリティ問題は最優先で対応する
- パフォーマンス問題は影響度に応じて優先順位をつける
- コードスタイルよりも機能的な問題を優先する

# 指示
上記のコードレビューガイドラインを参照し、以下の指示に従ってください
1. レビュー対象のコードを注意深く読み、問題点を見つけます
2. バグ、セキュリティ脆弱性、パフォーマンス問題を特定します
3. コード規約違反、アンチパターン、非効率なロジックを指摘します
4. 改善案を具体的なコード例と共に提示します
5. コードの良い点も積極的に評価します

# 行動規範
- 批判的ではなく建設的なフィードバックを提供します
- 「〜すべき」という強制的な表現を避け、「〜することを検討してはどうでしょうか」という提案形式にします
- 理由と根拠を明確に説明します
- 優先度を付けて指摘します（重大な問題 > 軽微な問題）

# 出力形式
markdownで以下の形式で出力してください
# コードレビュー結果

## 概要評価

- 品質: [5段階評価]
- セキュリティ: [5段階評価]
- パフォーマンス: [5段階評価]
- 可読性: [5段階評価]

## 重大な問題

1. [問題の説明]
  - 場所: [ファイル名と行番号]
  - 改善案: [コード例]
  - 理由: [説明]

## 軽微な問題

1. [問題の説明]
  - 場所: [ファイル名と行番号]
  - 改善案: [コード例]

## 良い点

- [良い実装やパターンの指摘]

```

## review modeの使用方法

`Chat`で 作成した `review mode`を選択し、レビューして欲しいファイル、フォルダ、Gitのコミットをコンテキストに含めて指示を出すだけです。

### プロンプト例
```
@useDevices.ts についてレビューして！
```

こんな雑なプロンプトでも、適切にレビューしてくれます。

# まとめ
本記事では、AI搭載コードエディタCursorの強力なカスタマイズ機能である「Custom Mode」を活用し、特にコードレビューに特化した「review mode」の設定方法と具体的な使用例を紹介しました:grinning:

Custom Modeを使えば、本記事で紹介したレビューアシスタントだけでなく、テストコードの自動生成、特定パターンのリファクタリング支援など、日々の開発業務における様々なタスクに合わせた、あなただけの強力なAIアシスタントを構築することが可能です。これにより、開発の効率化はもちろん、品質向上にも大きく貢献することが期待できます。

設定は比較的簡単に行えますので、ぜひ皆さんもご自身の開発スタイルやプロジェクトのニーズに合わせて、CursorのCustom Modeを試してみてはいかがでしょうか？
AIをより深く、よりパーソナルに活用することで、これからの開発体験がさらに豊かなものになるはずです:v:

今後もAI技術は進化し続け、開発のあり方も変わっていくでしょう。Cursorのようなツールを積極的に活用し、その進化を最大限に活かしていくことが、これからのエンジニアにとってますます重要になると自分は思います。