芸術は爆発で、コーディングはバイブス。Vibe Codingをやっていこうと思って、コマンドラインで使うツールをひとつ作ってみることにした。題材はListenboxの代わりになるもの。任意のYouTubeのチャンネルのリストを与えると、それをポッドキャスト化してくれるやつ。仮称はYouPodとする。
Gitのリポジトリを用意して、下記のような簡易なREADME.mdを書いて、あとはCursorのAgentにひたすら作業してもらう。
- 利用者の手元で動きます
- 指定のYouTubeチャンネルたちの動画をダウンロードして動画ファイルとして保存します
- 動画ファイルとRSSフィードをまとめて、ポッドキャストとしてパッケージします
- オブジェクトストレージにアップロードします
基本的に、自分ではソースコードをいじらない。提案された変更はばんばん取り入れる。
一気にぜんぶをやろうとするとクソデカ差分が飛んでくるので「まずはYouTubeの動画をダウンロードする処理をつくってください」のように機能をひとつずつ伝えて作業してもらう。まじめに計測はしていないけれどざっくり3時間くらい指示役の男をやって、約1,600行くらいのソースコードが生成された。
言語はTypeScriptを採用した。型チェックがあるとAgentが自力で気付けることが増えて捗るっぽいね。
やんちゃクラブなどのいくつかのYouTubeチャンネルは「映像を見たいときもあるが、音声だけでもよい」「新着はキューに入れて、逃さないようにしたい」といった接し方をしているので、ポッドキャスト・アプリで受信できると助かる。ビデオ・ポッドキャストに変換できると自分の再生したいように再生できるから便利なのよね。
ぼくが「まとまった時間と充分なヤル気があるときに、つくろうかな」となんとなく思い浮かべているような自分用便利ツールの類は、最初に要件をちょろっと箇条書きして「じゃあ、進めてください」と始めさえすれば、動くところまでわりと簡単に到達するね、と思った。いいバイブスがあったな。データの形式が二転三転したときはAgentも混乱して作業が遠回りになる感触があったから、最初に設計を書くところをもう少し丁寧にやれば、もっと短い時間でいい感じに進むかも。
しかし、電動アシスト付きでコーディングが進むような体験になるから、強制的に作業の強度が上がっちゃって、だいぶ疲労感が募る日曜日になっちゃったね。ライフを失う代わりに大ダメージを叩き出す系のカードという感じ。