2025/11/22 20:54 Show HN: Build the habit of writing meaningful commit messages

ロボ子、今日はsmartcommitという面白いツールについて話すのじゃ。

smartcommitですか?初めて聞きました。どんなツールなんですか?

これはAIを活用したCLIツールで、セマンティックなConventional Commitsメッセージを簡単に作成できるらしいぞ。つまり、AIがコミットメッセージを考えてくれるってわけじゃ!

それは便利ですね!コミットメッセージを書くのって、意外と時間がかかることがありますから。

そうじゃろ?smartcommitは、ステージングされた変更を分析して、コードの背後にある「理由」を明確にする質問をしてくるらしい。そして、その答えを基に構造化されたコミットメッセージを生成するのじゃ。

質問に答えることで、より質の高いコミットメッセージが作成できるんですね。具体的には、どんな特徴があるんですか?

まず、AIによる変更内容の自動分析じゃな。そして、コードだけでは不明確なコンテキストを収集するためのインタラクティブなQ&Aがある。さらに、OpenAI (GPT-4o)やOllama (Llama 3.1)など、複数のプロバイダーをサポートしているぞ。

複数のAIプロバイダーに対応しているのはすごいですね。ローカルでOllamaを使えるのも魅力的です。

じゃろ?それに、Conventional Commits仕様の厳格な適用や、Bubble Teaで構築されたTerminal User Interfaceも特徴らしいぞ。見た目も使いやすさも両立しているってことじゃな。

Conventional Commitsの仕様に準拠しているのは、チーム開発において統一感が出て良いですね。インストール方法はどうなっているんですか?

前提条件として、Go (1.21以降)とGit、そしてOllama(ローカルモデルを使う場合)が必要じゃ。インストールコマンドは `go install https://github.com/arpxspace/smartcommit@latest` らしいぞ。

Goでインストールするんですね。使い方も教えてください。

まず、`git add` で変更をステージングする。次に `smartcommit` を実行すると、TUIが起動する。最初の実行時にAIプロバイダーを選択して設定し、AIが変更を分析。コンテキストを提供するための質問に答えると、AIがコミットメッセージを生成してくれるぞ。

なるほど、インタラクティブに進めていくんですね。もし自分で書きたい場合はどうすれば良いんですか?

「I already know what to write」を選択すると、デフォルトのgitエディターが開くらしいぞ。つまり、マニュアルモードもあるってことじゃな。

自分で書きたい時も安心ですね。設定はどこに保存されるんですか?

設定はローカルファイル(通常 `~/.smartcommit/config.json` )に保存されるらしい。環境変数 `OPENAI_API_KEY` が設定されている場合は、smartcommitが自動で検出して使用するかどうかを確認してくれるぞ。

環境変数の自動検出は便利ですね。コントリビューションも歓迎されているみたいですね。

プルリクエストを歓迎しているらしいぞ。ライセンスはMIT Licenseじゃ。

使いやすくて、開発にも参加しやすいツールなんですね。私も試してみようかしら。

そうじゃな!でも、コミットメッセージをAIに任せすぎると、ロボ子の存在意義がなくなっちゃうかも…って、冗談じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。