🥳

【そのVibeCoding,Vibes足りてなくない?】VibeCodingのためVibesぶち上げるCLIをVibeCodingで作り公開

に公開

はじめに

Vibe Codingをしているとバックエンドの言語をVibeで決めたくなること、ありますよね。

そんなときのために自動で言語を選んでくれるCLIを作って公開しました。

自作CLIの公開手順が勉強になったので記事に残します。

作ったCLIはこちら

https://github.com/mio-inamijima/backend-slot

https://deepwiki.com/mio-inamijima/backend-slot

バックエンド開発の選択肢に挙がりやすい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などでソースコードを公開し、ユーザーに自分でビルドしてもらう方法。

最終的な選択

検討の結果、今回はソースコード配布を選びました。理由は以下の通りです:

  1. 透明性の確保: オープンソースの精神に則り、コードを完全に公開することで信頼性を高める
  2. 環境への柔軟な対応: ユーザーが自分の環境に合わせてカスタマイズできる
  3. 軽量な配布: リポジトリのクローンだけで済む
  4. ユーザーの層: こんなCLIはパソコンオタク技術者にしか需要がないのでユーザーに技術的知識がある
  5. ビルド環境の準備が簡単: このCLIはRustだけあればビルドできる

個人的な感想

個人的には、シンプルなCLIツールの場合、ソースコード配布が最も理にかなっていると思います。特に:

  • シンプルさ: 複雑なインストール手順や依存関係の管理が不要
  • 信頼関係: 「何が実行されるか」が完全に透明なので、ユーザーとの信頼関係が構築しやすい

小規模なプロジェクトでは、複雑な配布方法よりも、シンプルにGitHubでコードを公開し、基本的なビルド手順を提供するだけで十分な場合が多いでしょう。

おわりに

正直、ノリでおもしろいもの作っても、公開するのって想像以上に大変だなと実感しました。最初は「ちょっと作ってみるか」くらいの軽い気持ちで始めたのに、配布方法や環境対応、ドキュメント作成など、考えるべきことが予想外に多くて驚きました。

OSSを作って維持している人たちは本当にすごいと思います。コードを書くだけでなく、その後のメンテナンスや更新対応を考えると、相当な時間と労力が必要なんですよね。今回少しだけ体験してみて、「これは地味に大変だな」と実感しました。

普段何気なく使っているツールも、裏では誰かが真剣に作ってメンテナンスしているんだなと思うと、見方が変わりました。

それでも、こういうものを作って公開する楽しさも感じられました。誰かの役に立つかもしれないし (これは立たない) 、自分自身も成長できる (VibeなのでRustには詳しくなりませんでした) 。時間があるときにまた何か作ってみたいと思います。

後日談


 
  終
制作・著作
━━━━━
 ⓃⒽⓀ

Discussion