広告枠を募集中 ご相談ください

ソフトウェアエンジニアがCursor Composerを使ってリポジトリ全体にわたる複数ファイルのコード変更を計画・生成・レビューする方法

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

Cursor Composerは、AIによるコーディング支援を単一ファイルの局所的なコード補完から、リポジトリ全体を俯瞰して自律的に協調動作する「エージェント型エンジニアリング」へと引き上げる強力な機能です。開発者は個別のファイルでコードを生成して手作業でコピー&ペーストする代わりに、Composerを活用してレイヤーをまたぐ新機能実装やアーキテクチャの大規模リファクタリングを統括して実行できます。

しかし、プロジェクト全体に波及する変更には相応のアーキテクチャ破壊リスクが伴います。経験豊富なソフトウェアエンジニアは、Composer(ショートカット:Cmd + I または Ctrl + I)を利用する際、やみくもにコードを書かせるのではなく、「**計画(Plan)**によるコンテキストと制約の明確化」「**生成(Generate)**における自己修復を伴うアトミックな編集」「**レビュー(Review)**での詳細な差分確認とロールバック管理」という規律ある3段階のプロセスを実践しています。


準備段階:アーキテクチャの境界線とコンテキストの最適化

プロジェクト全体のアーキテクチャや命名規則をAIが把握していなければ、複数ファイルにまたがるコード生成は破綻します。エンジニアはComposerを起動する前に、ルール設定と参照シンボルを適切に構成します。

1. Cursor Rules(.cursor/rules)による開発標準の固定化

毎回プロンプトで同じコーディング標準や制約を指示する手間を省くため、チームは .cursor/rules/*.mdc(またはルートの .cursorrules)にプロジェクト規則を定義します。

これにより、Composerが新しいファイルを作成したり既存のモジュールを修正したりする際、プロジェクト本来の設計規約から逸脱するのを防ぎます。

2. @ シンボルによる精密なコンテキスト注入

AIに無関係なファイルまで過剰に読み込ませると、「コンテキストの肥大化(Context Bloat)」が起き、トークンの浪費だけでなく幻覚(ハルシネーション)を招きます。実践的なエンジニアは以下のシンボルを使い分けます。


第1フェーズ:Plan Mode(Shift + Tab)による事前計画

データベースのスキーマ変更やAPI全体のリファクタリングなど、複数ファイルに波及するタスクでは、すぐにコードを生成させてはいけません。最初にPlan Modeを起動し、実装方針を固めます。

Plan Modeの起動と挙動

Composerの入力欄で Shift + Tab を押すと、Plan Modeに切り替わります。

  1. コードベースの自動調査:エージェントが変更対象となるファイル群、依存関係、設定ファイルを巡回し、変更の影響範囲を洗い出します。
  2. 仕様の明確化(質問機能):エッジケースの挙動、後方互換性の維持方針、例外処理の基準に曖昧な点がある場合、Composerは勝手な推測をせず、エンジニアに質問を投げかけて確認します。
  3. Markdown実装計画の生成:調査完了後、構造化された計画書が出力されます。
    • 新規作成・変更・削除が必要な具体的なファイルパス一覧
    • 実装手順(例:マイグレーションと型定義の作成 → サービス層の実装 → APIルーターの変更 → クライアントコンポーネントの更新)
    • 想定される破壊的変更と自動テストの検証方針

エンジニアによる計画の査定と修正

エンジニアは主設計者として出力されたMarkdown計画を確認し、不要なファイル変更を削ったり、命名方針を正したり、中間検証ステップ(例:「ステップ2完了時に型チェックを実行する」など)を追加します。双方が合意した段階で、初めて実装フェーズへ進みます。


第2フェーズ:協調的な複数ファイル編集と自己修復

計画が確定すると、Composerはコード生成に移行します。最新のCursorでは、Composerがエージェントとして動作し、複数レイヤーの同期編集とターミナルツールの連携を自律的に行います。

1. レイヤーをまたぐ同時生成

単一ファイルのエディタとは異なり、Composerは複数のシステム階層を整合性を保ちながら一括で変更できます。

変更予定のファイル群はアクティブなキューにまとめられ、フローティング表示、サイドパネル、またはフルスクリーンエディタの画面で進行状況をリアルタイムに確認できます。

2. ターミナル実行による自己修復ループ(Self-Healing)

Composer Agentの特筆すべき強みは、ローカルターミナルコマンドを実行して結果を分析できる点です。

3. アトミックな作業単位への分割

熟練したエンジニアは、1つのプロンプトで数十ファイルもの変更を一気に要求しません。計画に沿ってマイルストーン単位で指示を出します。

作業を細かく分けることで、コンテキストの精度を最高水準に保ち、その後の差分確認も容易になります。


第3フェーズ:差分レビュー・チェックポイント復元・検証

AI生成コードにおける最大のリスクは、例外処理の欠落やパラメータの誤認など、表面上は見えにくいリグレッション(機能退行)です。厳密なレビュー手順が不可欠となります。

1. 粒度の細かい差分(Diff)レビュー

Composerが生成を完了すると、マルチファイルの差分ビューが表示されます。

2. チェックポイント(Checkpoints)による安全なロールバック

Composerはコード生成を開始する直前に、ワークスペースの自動スナップショットである**チェックポイント(Checkpoint)**を作成します。

3. Agent Reviewツールの活用

Gitでコミットする前に、Cursorに統合されている Agent Review 機能を実行します。

4. Gitによる最終確認とアトミックコミット

AIはコードを記述する作業を代替しますが、成果物の品質責任はエンジニア自身にあります。


ベストプラクティス一覧表

フェーズ推奨されるアプローチ避けるべきアンチパターン
準備.cursor/rules を設定し、@file / @folders でスコープを絞るどんな作業でも無差別に @codebase を指定し、コンテキストを浪費する
計画Plan Mode(Shift + Tab)で事前にファイルと依存関係を整理計画なしにいきなり大量のファイルを一度に生成させる
生成ターミナルでの型チェックやテスト実行を許可し、自己修復させるコンパイルエラーを無視したまま、壊れたコードの上に指示を重ねる
レビューファイルごとにDiffを精査し、逸脱時は Checkpoints で復元個別の変更を見ずに安易に「すべて受け入れ」をクリックする
検証Agent Review(Deep)とローカルテストを実行してコミットAIを盲信し、ローカル検証を行わずにリモートへプッシュする

参考文献