【そのVibeCoding,Vibes足りてなくない?】VibeCodingのためVibesぶち上げるCLIをVibeCodingで作り公開
はじめに
Vibe Codingをしているとバックエンドの言語をVibeで決めたくなること、ありますよね。
そんなときのために自動で言語を選んでくれるCLIを作って公開しました。
自作CLIの公開手順が勉強になったので記事に残します。
作ったCLIはこちら
バックエンド開発の選択肢に挙がりやすい10個の言語の中からランダムで1つを表示してくれます、
作成過程
言語選定
「CLIを作るならRustがいいらしいよ!」という噂を聞いたので、今回はVibeでRustにしました。
確かに最近のCLIツールってRustで作られているものが多いですよね。高速らしいし、メモリ安全らしいし、配布が簡単らしいし。
とりあえず乗りの良さそうな波に乗ってみることにしました。Vibe Codingの精神です(?)。
Vibeでコードを書かせる
まあCursorでClaude 3.7 SonnetくんにゴリゴリYOLOしてもらうわけですが、SonnetくんはRustはあんまり得意じゃないみたいで、特にカーソル移動周りはなかなかうまく実装してくれませんでした。
そこで、難しいところはchatgpt o3にdiffを出力させて、Sonnetにコードを書き換えさせました。o3は出力が遅いのでこの方法にしましたが、多分今時はもっと効率的な方法があると思います...。
公開
配布方法の検討
CLIツールを作ったら、ユーザーが簡単に使えるように配布したくなります。いくつかの方法を検討しました。
バイナリ配布
おそらく最も一般的な方法は、ビルド済みバイナリを配布することです。
パッケージマネージャー経由
Cargo(Rust)、npm、Homebrew などのパッケージマネージャー経由で配布する方法。
ソースコード配布
GitHubなどでソースコードを公開し、ユーザーに自分でビルドしてもらう方法。
最終的な選択
検討の結果、今回はソースコード配布を選びました。理由は以下の通りです:
- 透明性の確保: オープンソースの精神に則り、コードを完全に公開することで信頼性を高める
- 環境への柔軟な対応: ユーザーが自分の環境に合わせてカスタマイズできる
- 軽量な配布: リポジトリのクローンだけで済む
-
ユーザーの層: こんなCLIは
パソコンオタク技術者にしか需要がないのでユーザーに技術的知識がある - ビルド環境の準備が簡単: このCLIはRustだけあればビルドできる
個人的な感想
個人的には、シンプルなCLIツールの場合、ソースコード配布が最も理にかなっていると思います。特に:
- シンプルさ: 複雑なインストール手順や依存関係の管理が不要
- 信頼関係: 「何が実行されるか」が完全に透明なので、ユーザーとの信頼関係が構築しやすい
小規模なプロジェクトでは、複雑な配布方法よりも、シンプルにGitHubでコードを公開し、基本的なビルド手順を提供するだけで十分な場合が多いでしょう。
おわりに
正直、ノリでおもしろいもの作っても、公開するのって想像以上に大変だなと実感しました。最初は「ちょっと作ってみるか」くらいの軽い気持ちで始めたのに、配布方法や環境対応、ドキュメント作成など、考えるべきことが予想外に多くて驚きました。
OSSを作って維持している人たちは本当にすごいと思います。コードを書くだけでなく、その後のメンテナンスや更新対応を考えると、相当な時間と労力が必要なんですよね。今回少しだけ体験してみて、「これは地味に大変だな」と実感しました。
普段何気なく使っているツールも、裏では誰かが真剣に作ってメンテナンスしているんだなと思うと、見方が変わりました。
それでも、こういうものを作って公開する楽しさも感じられました。誰かの役に立つかもしれないし (これは立たない) 、自分自身も成長できる (VibeなのでRustには詳しくなりませんでした) 。時間があるときにまた何か作ってみたいと思います。
後日談
終
制作・著作
━━━━━
ⓃⒽⓀ
Discussion