RooCodeをちょっと使えるようになる


## はじめに

AIを使った開発が盛んですね！
色々なツールがある中で、自分はRooCodeをよく使っているので、いくつかの使い方をまとめてみようと思います！



## RooCodeって何？

[Cline](https://github.com/cline/cline)からフォークされて開発されたvscodeの拡張機能です！
チャット形式で指示を出すだけで、新規のコード作成や既存のコードの修正を行うことができます！
また複数ファイル編集、コマンド実行、ブラウザ操作、プロンプトルールもサポートされており、後述するモード切り替え（Code／Ask／Architect／Debug／Orchestrator）により、さまざまなタスクに細かく対応することができます🙌

https://github.com/RooCodeInc/Roo-Code



## 使い始め＆初期設定


### インストール
- VS Code → 拡張機能で “Roo Code” 検索 → インストール

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/9e7c350f-c041-47d0-ac4b-4d0dd98356c4.png)

### 言語設定

- 設定→言語
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/33e92b04-baab-4a99-9436-7f71071ac4ce.png)


### プロバイダ設定

- 設定→プロバイダ→APIプロバイダから使用するプロバイダを選択（Claude 系がいい感じです）
- APIキーを貼り付けて “保存” をクリック



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/83086ff4-820a-46eb-ad32-d096d5ff41a4.png)



## モード切り替えで役割“エージェント”を使い分ける

RooCodeにはモードという機能があり、以下のようにタスクによってモードを着さりかえることで効率よくタスクを進めることができます！

| モード            | 役割             | 使い所              |
| -------------- | -------------- | ---------------- |
| `Code`         | 普通の実装・リファクタリング | コード書く・関数作る・整理する  |
| `Debug`        | バグ解析・ログ調査      | エラー原因追う・修正内容を提案  |
| `Ask`          | 技術質問全般         | ライブラリの使い方・概念の質問  |
| `Architect`    | 設計＆構成レビュー      | 技術選定・構成相談        |
| `Orchestrator` | タスク統括＆自動処理     | 要件→設計→実装→テストの一括化 |

これらのモードはチャット欄から選択することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/0809d1e2-eb6d-4dcb-b83f-aac839b37315.png)

またモードごとに役割やカスタム指示を記載することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/0d2c3227-fdb2-4e0b-83f6-cdd25473feba.png)


## チャットからタスクを実行する 

チャット欄からタスクの指示をすることで、AIによる実装をすることができます。

その際、@指定で以下の内容を伝えることができます。

```text
@utils.js の関数中身を教えて
@problems  // VSCodeのエラー一覧を参照
@git-changes // 未コミットのdiffを渡す
@commit:HEAD~1 // 直前コミット状態を参照
@terminal // 最終のターミナル出力をコンテキストに
@https://example.com // Webの内容を読ませたい時に
```

👉 長いコードやログをコピペせず **正確に伝えられる**のが超便利です！

### ex) ファイル指定

xxxのファイルを参考にyyyの実装をして！などの指定ができ、ファイルの中身をコピペしなくても指定のファイルを読み込むことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/8a9e20fd-2efd-40b3-b053-cd7e068100f8.png)

### ex) commit指定

xxxでコミットされたファイルのテストコードをかいて！みたいにコミットの内容を参照することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/5e5744e3-dab6-4a2a-b387-bc6ba844c8f0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/46e3398b-6014-4d96-9bb8-f3b70262c60b.png)

### 実行

チャットに指示を書いたら送信ボタンからタスクを実行することができます。
RooCodeの画面上に何を実行しているかが表示されるので見守ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/b3b1ec9b-60ef-4080-ae7e-946274125d97.png)

### 動作確認

指示をすればブラウザを使って動作確認をさせることもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/9004b4ca-613a-4f9a-84ca-3d5b61bd5051.png)


## ルールファイルで“開発文化”をAIに覚えてもらう

`.roo/rules-xxx` 配下にmd形式のファイルを配置し、タスクを実行する際のルールを定義することができます。
xxxの部分は前述したモード名とし、モードによって対応するルールを読み込んでくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/177ef2ca-f919-413d-8cda-2f51bf97a3d5.png)

例えばCodeモードの場合は `.roo/rules-code`になります。
ここに以下のようにタスクを進める上で守ってほしいルールを記載します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/1bf9984a-ef23-4569-b6db-911c77bd0e19.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/06d0c493-a14f-400a-8fee-6a048bdb0f7c.png)



✅ これを組み込むことで、**チームのコード規約をAIが自動で守るように**できます！
このルールファイルを整備することでAIによるコード生成の品質が劇的に変わるのでぜひ試してみてください！

---

## モードを追加する

モードはデフォルトで Code／Ask／Architect／Debug／Orchestratorがありますが、ユーザが独自のモードを作成することができます。（モードの編集機能の「+」をクリック）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/5356b7bd-a1e2-479f-93d3-138454f70061.png)

例えばルールファイルを作成するモードを作りたい時など、新たにモードを作成してタスクに特化したプロンプトを記述することで、さまざまなタスクに効率よくAIが対応してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527942/24d64bf8-984b-4711-a9db-da03ca796e9b.png)


## おわりに

RooCodeは「補完するだけのAI」から大きく飛躍し、**役割を持ち、判断できる開発チームAI**です。

* モード＝“誰”がやるか
* ルール＝チーム共通文化
* @指定＝正確な文脈共有

これらを組み合わせることで、**開発スピード・品質が爆上がり確定です！**
ぜひ一度、RooCodeを使ってみてください🙌

---