Cline を使った $5 で始める自動AIコーディング (バイブコーディング) 入門

[Cline](https://cline.bot/) や [Cursor](https://www.cursor.com/ja)、 [Devin](https://devin.ai/) 等を使った、コードを直接書かずに AI に指示させてプログラムの作成 (いわゆるバイブコーディング) するのが流行っていますね！
とはいえ、「どうやればよいのかわからん」とか、「たくさん課金されちゃうかも…？」とか、「いろいろ指示しないといけないんじゃ…？」と思う人も多いと思います。

この記事では、

* 自動で課金せず、$5 だけで試せる
* 極力最小限の手間で試せる
* [Memory Bank](https://docs.cline.bot/improving-your-prompting-skills/cline-memory-bank) など、既存の知見を使うことで、各プロンプトを減らせる

にする、バイブコーディングの始め方を書きます。

:::note info
社内向けに作成した入門記事を外部公開したものです。
2025/3 に作成したもののため、若干古い内容を含むかもしれません
:::


# 今回セットアップするもの

* エディタ: Visual Studio Code (https://code.visualstudio.com/)
* プログラミングするエージェント: Cline (https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev)
* 生成 AI: Anthropic の Claude 3.7 Sonnet (https://www.anthropic.com/)
    * 他でもまあ出来なくないですが、費用、頭の良さ的にこれが一番おすすめです

今回はこれをセットアップして、「Cline にお願いするだけで、プログラムを書いてくれる」(いわゆる vibe coding) という状態にします。

# セットアップ方法

## Visual Studio Code のインストール

<details><summary>Visual Studio Code をインストールしていない人はこの折りたたみを見てください</summary>

エージェントを動かすエディタです。

https://code.visualstudio.com/ からダウンロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/646f5180-25cb-4f21-ba59-4d2e5c6f45f3.png)


ダウンロードしたら指示に従ってセットアップを行います (※ 今回はあんま関係ないので無視しても OK です)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/fccb4673-988e-436e-852f-d445e059b631.png)


日本語にする方法は、

1. 画面左側の積み木みたいなアイコンをクリック
1. Extension というパネルが表示されるので、検索欄 (`Search` とか書いてある) に Japanese と入力
1. `Japanese Language Pack for Visual Studio Code` と表示されるので、これの `Install` をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/e0856490-4bfc-4504-b4cb-b89f05290d4f.png)


表示が変わらなければ、

1. 画面左下の歯車アイコンをクリック → `Command Palette` を選択
1. テキストを入力する箇所が出るので、 `Configure Display Language` と入力し、 Enter
1. 言語一覧が出るので、日本語を探してクリック

で、いけます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/82775a10-f7ef-427d-960f-284fd3478d66.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/a4af693f-8f98-4e76-99ef-ba916f342293.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/eb9c870c-59b2-40d1-b75c-87e3896894fa.png)


## Cline のインストール

VSCode を自動操縦して、プログラミングしてくれる君です。

1. 画面左側の積み木みたいなアイコンをクリック
1. Extension というパネルが表示されるので、検索欄 (`Search` とか書いてある) に cline と入力
1. `Cline` が表示されるので Install をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/a9c276b2-a2a6-45a2-920a-449e7aca5e4b.png)


すると、画面左側にロボットのアイコンが追加されます。これが Cline です。

1. 画面左側のロボットのアイコンをクリック
1. ↓ の画面が出ることを確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/192a0131-8ca2-406b-8a64-003f87d196c9.png)

ここから先は Anthoropic の API Key が必要となります。
一旦この画面のまま、Anthropic の設定を始めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/516f0469-33bd-4d32-8f8a-b4f66bf5f244.png)

</details>

## Anthropic のアカウント作成 & API Key 登録

生成 AI (OpenAI みたいなやつです) として Anthropic というサービスのものを使います。プログラミング用としては 2024/3 時点で一番いいやつです。

登録方法を説明する記事は ↓ にあるのでこちらを参照してください。

https://note.com/noa813/n/n307d62b5820b

 (※ Anthropic の利用にはプリペイドとして、クレジットカードと $5 が必要です)

 細かい部分だけ説明します。

 ### アカウント作成

1. https://console.anthropic.com/login にアクセスします
2. Continue with Google を選んでアカウント作成
    * :warning: ここで、仕事用の Google アカウントを使わないようにしてください (個人 PC なら問題ないです) :warning: 
3. 名前などを入力して、アカウント作成 (Sign up)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/98368a76-51a6-4e4c-9410-2ea44cec2c61.png)


(※ チャットアプリ (https://claude.ai/) とは同じ会社の別のアプリなので、チャットアプリの方は今回は使いません。こっち側の課金も不要です。)

### クレジットカードの登録、プリペイドの購入

https://note.com/noa813/n/n307d62b5820b

の手順で API Key を作成する場合、クレジットカードの登録と $5 を支払うように促されます。

Anthropic では、先払い方式を採用しています。利用する前に、先に支払う必要があります。 

逆に、先に支払った以上に費用は請求されないので、青天井になる心配はありません。 (※ オートチャージを設定すると、自動で購入するのでそこだけ注意です。)

### API Key は控えておく

手順を進めると、↓ のような画面が表示されると思います。ここで表示される API Key (パスワードみたいな文字列) はこの後使うので、これは控えておいてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/3abe6098-bd63-42c8-8b37-cd2408257ad3.png)

## Cline の利用開始設定 (API Key の設定)

では、 Cline の画面に戻って、使い始める準備をします。

1. 情報の入力
    * `API Provider` は `Anthropic` を選択
    * `Anthropic API Key` は先ほど入手した API Key を貼り付け
    * `Use custom base URL` は選択しない
2. `Let's go!` を選択 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/ed67946d-a105-4d8b-b82a-a2894057cc47.png)


この画面 (Settings ) が表示されたら、最低限の設定は完了です。ただ、使いやすいようにもう少し設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/e9d67396-c45a-4f72-9130-7ec8ecb39519.png)


※ この画面は Cline の画面中の歯車マーク (↓ の画面の `Done` ボタンのすぐ上) をクリックすると移動できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/f7cd6015-d310-40f1-9862-f1445572867b.png)

## Cline の設定 (使いやすくなるように)

ここまでの設定で使い始められるのですが、出来ればこの辺も設定したほうが良いです。体験がかなり良くなります。

### 長期記憶 (メモリバンク) の設定

何も設定してない Cline だと、短期記憶しか持ってないので、何かをやってもらうために毎回1から詳細に指示が必要です。

流石に面倒すぎるので、長期記憶 (メモリバンク) の設定をします。

1. https://docs.cline.bot/improving-your-prompting-skills/custom-instructions-library/cline-memory-bank に行く
2. 下にスクロールすると、 `Custom Instructions [COPY THIS]`  が表示されるので、その下のブロックを全部コピー
   - マウスカーソルを置くと `Copy` と右上に出るのでそこをクリックすると楽

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/1e483ba1-2070-4fc7-a073-53ec13dd5797.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/a17a1896-a1f4-4b5c-b0c0-454fc3b7970b.png)


Cline の設定画面に行って、これを貼り付けます。

1. コピーした文字列を、Cline の設定の `Custom Instructions` に貼り付けます。
2. Done で設定完了

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/1fea152f-e50f-4594-bac9-e0b105920918.png)


### 応答の日本語化

初期は英語で応答するので、日本語で話してもらいましょう。 (※ Cline の UI は日本語化出来ません)

1. Cline の設定画面に `Advanced Settings` というボタンがあるので、クリックします
1. 右側に設定画面が出るので `Cline: Preferred Language` を探し、ここの選択項目を `Japanese - 日本語` に変更

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/e750fd58-e1e3-4a1d-bd28-af5e60ea8d5c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/edb6b765-021b-4fae-8649-f32113a492e2.png)


### (やらなくても OK)

ここからは、やりたい人がやればよいです。

<details><summary>追加の設定</summary>

#### extended thinking の有効化 

生成 AI が何考えているのかを出力してもらいます。考える精度が上がります。(人間と一緒ですね)

1. Cline の設定画面から `Enable extend thinking` を選択
2. Budget というスライダーが出るが、そのままで OK

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/5d2bbeca-2537-46d2-b997-0f8047212faa.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/5ef11742-dcaf-4c98-8d96-013147ba803d.png)


#### `.clinerules` ファイルを用意する

プロジェクトごとに、 `.clinerules` というファイルを置くと、 Cline が自動でそれを呼んで従ってくれます。

プログラミングのスタイルとか、その辺指示するのはこのファイルです。

https://docs.cline.bot/improving-your-prompting-skills/prompting#clinerules-file

何書くかについては、 mizchi さんのやつとかが参考になると思います。

https://github.com/mizchi/ailab/blob/main/.clinerules

が、最初は一旦無しで、慣れてきたら書くでも良いと思います。
また、メモリバンクを設定すれば、Cline が作業で覚えたことをどんどんメモリバンクに保存してくれます。最初はとりあえず無しでやってみて、メモリバンクとかから良さそうな物を `.clinerules` に移すで良いと思います。

</details>

## Cline を使ってみる

ということで、 Cline を使う準備が出来ました。ここからは使ってみます。

### 作業フォルダーを開く

まず、Cline が作業するフォルダーを作ります。 Visual Studio Code のメニューから、 `ファイル` → `フォルダーを開く` を選択して、 Cline が作業するフォルダーを (作成して) 開きます。

### Cline を開く

その後 Cline を使います。

1. Cline の画面の `+` アイコンを押して、チャット画面に移動
1. 下の `Type your task here` にやらせたいことを入力して Enter

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/cbab26ae-9dd4-4767-81b8-2316834b7c37.png)


あとは、こんな感じで Cline が考えながら作業を進めてよいかを聞いてくるので、  `Approve` or `Reject` を押したり、返答を直接したりします。

あとは Cline とやり取りしたり、作業の許可を求めてくるのを承認したりしながら作業を進めてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/28dc28e4-fe3c-4996-aa79-fcf8387b6287.png)

## Tips
### とりあえず何をやれば良い？

「AI 触ってみたいが何作らせれば良い？」というのはまあまあある悩みだと思います。

一旦方針としては、

* とりあえず最初は1ページで済むような超簡素なアプリを作らせてみれば OK
    * Web 上で動く TODO アプリを作りたい
    * CSS でアニメーションをする、静的 Web ページなど
        * https://x.com/nemunemu3desu/status/1897589675797135555
* 大体どういうのが作れるかとか分かってきたタイミングでもう少し複雑なことをさせてみる
    * ネタが無ければ「XXX のクローンを作りたい」とかが良いと思います
        * Slack, Devin, Vitest, gh, ...etc

みたいな感じが良いと思います。
やりとりしていると感覚が掴めてくると思うので、とりあえずお試しで簡単なことをやらせてみるのがおすすめです。

### Plan mode を使ってみよう

少し複雑なことをやらせたくなったタイミングで、 [Plan mode](https://docs.cline.bot/exploring-clines-tools/plan-and-act-modes-a-guide-to-effective-ai-development) を使うと良いです。
画面下側にある Plan / Act の切り替えで、Plan mode に切り替えることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/365ec661-ce88-4332-9cde-e0bdd590d8ab.png)

曖昧な指示だと、 Act mode は勝手に仕様を決めてコーディングしてしまうのですが、 Plan mode だと対話的に詳細を聞いてくれます。 Plan mode でやりたいことを明確にして、 Act mode に切り替えて作業を進めるのが Cline の基本的なプラクティスです。

あと、「Cline がハマっていそうだったら、Act mode から Plan mode に戻して計画や修正方針を立て直す」というのが個人的によくやります。

Cline はあまりデバッグが上手くないシーンや、ハルシネーションを見てしまうケースもぼちぼちあるので、こういったケースで Plan mode に戻して一旦作業を止めて、方針を壁打ちしてあげるのが重要だったりします。

### メモリバンクでプロジェクトについて覚えてもらう

とりあえず設定してもらった [メモリバンク](https://docs.cline.bot/improving-your-prompting-skills/cline-memory-bank) ですが、これによって、プロジェクトの進捗、プロジェクトの設計や技術構成などを記録してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/e7fa7ee2-e88f-426a-b0e8-bf5b241f2fa9.png)

これを使っていると、「毎回詳細な指示を渡さなくても、メモリバンクを参照して情報を補ってくれる」というところがあります。
究極、「続きやって」だけで次やることを Plan してくれるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/3e9be4b4-4ec3-4681-aa7a-7a139b70bc2b.png)


あらかじめ渡しているプロンプトで、メモリバンクに書くようにはなっているのですが、意図して記録してほしいものは、作業が終わったタイミングで「メモリバンクに残して」とか明示的に指示するのもありです。
(例えば自動テストを書いてもらったら、以後こういう感じで自動テスト書いてくれ、みたいな感じのことを覚えてもらう)

### MCP を使う

https://modelcontextprotocol.io/introduction

MCP (Model Context Protocol) とは、LLM から、外部サービスやツールを連携するためのプロトコルです。 (すごく大雑把に表現すると、LLM 版ブラウザ拡張、LLM版 Language Server をやるための仕組みです。)

Cline は MCP サーバーの管理機能を持っていて、以下の画面から MCP サーバーを探せたりインストールできたりします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/6dda11f3-9baa-48bc-9fa2-f0b798f80b4e.png)

ちなみにインストールは、 LLM に指示させて、設定ファイルを変更するというやり方でやってます。おもしろい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/fbdf2270-6196-4f73-bb86-43510b88071c.png)

注意として、そのサービスとは別の作者が書いている MCP サーバーが多かったり、外部サービスの token を要求したり、 token が設定ファイルにベタ書きで保存されたり、などのセキュリティ的な懸念事項が結構あります。(ブラウザ拡張などで一般的に注意するのと同じように) 注意したほうが良いでしょう。

黎明期の技術というのもあり、配布されている MCP サーバーを使うのに懸念があれば、いっそのこと自分で使ってみるのもありだと思います。
MCP サーバーを作成する手間は、既存のライブラリを活用すると案外低いです。 (手前味噌ですが、 Ruby を使って実装する例として、以下の記事が参考になると思います。)

https://qiita.com/tomoasleep/items/d8f471914db2bf3a64ee

### ドキュメントの URL を渡す

Cline は URL を渡すと、実際にブラウザを開いて読んでくれます。
比較的新しいライブラリ (例: React Router v7) などを扱う際には、LLM 内の知識として入っていないことがあるので、URL を渡して読んでもらうとよいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7048/aa911531-2790-44f8-be46-30e319de0ed7.png)

ただ、Claude などだと、 computer use という機能を使ってドキュメントを読むのですが、ブラウザを開く → 画像をテキストに変換して解釈、という工程を取るためそこそこ料金がかかります。

https://www.anthropic.com/news/3-5-models-and-computer-use

なので、

* [markdownify](https://github.com/matthewwithanm/python-markdownify) などで markdown 化するか、そういった機能を持った MCP サーバー等を使う
    * [mastra](https://mastra.ai/docs/getting-started/mcp-docs-server) など、ごく一部のライブラリは、自身のドキュメントを MCP サーバー化してるので、そういうの使うのもあり
* 一度ドキュメント化して、リポジトリに追加しておく

などするのが料金節約的におすすめです。