Gitpulse – ターミナルからAI生成のConventional Commit
Gitpulseは、AIを使用してステージングされた変更を分析し、Conventional Commits形式に従ったコミットメッセージを生成するコマンドラインツールです。OpenCode、OpenAI、Ollamaなど複数のAIプロバイダーをサポートし、対話モードと完全自動モードを提供します。Gitフックのインストールも可能です。
Gitpulse は、開発者がコミットメッセージ作成の手間から解放されるためのコマンドラインツールです。Git のステージングエリアにある変更を読み取り、AI モデルに送信して Conventional Commits 形式(例:feat(scope): description)に準拠したメッセージを生成します。タイトルは72文字以内に自動調整されます。このツールは erico964-blip によって開発され、MIT ライセンスで公開されています。
主な機能として、AI がコードの差分を理解し意味のあるメッセージを作成、Conventional Commits 形式の強制、対話モード(確認・編集・中止)と自動モード(--auto オプション)を備えます。また、git pulse init コマンドで prepare-commit-msg フックをインストールでき、以降の git commit で自動的にメッセージが生成され、エディタにプリフィルされます。
対応 AI プロバイダーは、デフォルトの OpenCode(ローカルまたはリモート)のほか、OpenAI(OPENAI_API_KEY 設定)、Ollama(OLLAMA_API_URL 設定)が利用可能です。実行時に --provider、--model、--api-url、--api-key オプションで上書きできます。
インストールは pip install gitpulse-commit で完了。変更をステージング(git add .)した後、git pulse を実行するだけでコミットメッセージが生成されます。CI/CD パイプライン向けに --auto フラグを使えば、確認なしで即座にコミット可能です。また、git pulse init でフックをインストールすると、以降の git commit 時に自動でメッセージが生成されるようになります。
動作の仕組みとしては、git diff --cached の出力を抽出し、注意深く設計されたシステムプロンプトとともに AI エンドポイントに送信。レスポンスを解析し、フォーマットを除去して72文字に切り詰めます。システムプロンプトはコミットメッセージのみを返すように設計されています。開発面では、Python 3.8+ で動作し、依存ライブラリは requests のみと軽量です。リポジトリをクローンし pip install -e . で編集可能インストールできます。テストは近日対応予定です。
Gitpulse は、Conventional Commits に準拠したプロジェクトに特に有用で、AI を活用してコミットメッセージ作成の負担を軽減します。個人開発者からチームまで、幅広く活用できるツールです。