appleboy/CodeGPT

A CLI written in Go language that writes git commit messages or do a code review brief for you using ChatGPT AI (gpt-4.1, gpt-4o model) and automatically installs a git prepare-commit-msg hook.

CodeGPT – AI駆動のコミットメッセージおよびコードレビュー補助ツール

何であるか – Goで書かれたコマンドラインツールで、大規模言語モデルAPI(OpenAI、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter、LiteLLMプロキシ)と通信します。モデルを使用して以下の作業を実行します:

  • 現在の git diff から従来のコミットメッセージを生成。
  • 短いコードレビュー要約を生成。
  • 生成されたテキストを英語、繁体中国語、簡体中国語、または日本語に翻訳。
  • モデルの出力をストリーミングして、リアルタイムでトークンが表示されるようにします。

なぜ注目すべきか – 良質なコミットメッセージの作成や、迅速なコードレビューのチェックは繰り返し作業です。CodeGPTはLLMを呼び出してこれを自動化し、ターミナルから離れることなく、クリーンなコミット履歴を維持できます。


主な機能(READMEに記載)

  • 複数のバックエンドをサポート:OpenAI(gpt-4o、gpt-4、gpt-5)、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter、LiteLLMプロキシ。
  • Conventional Commits仕様に準拠したメッセージを生成。
  • 自動的に prepare-commit-msg Gitフックをインストール。
  • カスタマイズ可能なdiffコンテキスト行数(デフォルト3行)およびファイル除外パターン。
  • 内蔵の言語翻訳機能(en、zh-tw、zh-cn、ja)。
  • SOCKSまたはHTTPプロキシサポート。
  • 短いコードレビューの生成。
  • ライブトークン表示のためのストリーミング出力。
  • プロンプトテンプレートシステム – コミット、レビューなどに使用するテンプレートを編集可能。

インストール方法

プラットフォーム 方法
macOS brew tap appleboy/tap && brew install codegpt
Windows choco install codegpt
Linux / 任意のOS 提供されたインストールスクリプトを実行(bash <(curl -sSL https://raw.githubusercontent.com/appleboy/CodeGPT/main/install.sh))または リリースページから事前コンパイル済みバイナリをダウンロードし、$HOME/.config/codegpt/bin(または $PATH 内の任意のディレクトリ)に配置。
ソースから go install github.com/appleboy/CodeGPT/cmd/codegpt@latest
VS Code devcontainer devcontainer.json に ghcr.io/kvokka/features/codegpt:1 を追加。

スクリプトは以下の2つの環境変数を尊重します:

  • VERSION – 特定のリリースを選択。
  • INSECURE=1 – SSL検証をスキップ(企業のプロキシ環境で有用)。

クイックスタート / 一般的なワークフロー

  1. APIキーの設定 – 例:OpenAIの場合:
    export OPENAI_API_KEY=sk-xxxxxxx   # またはCLIで保存
    codegpt config set openai.api_key sk-xxxxxxx
    
    ツールは、APIキー補助コマンド を使用してキーを動的に取得することもできます(パスワードマネージャやクラウドシークレットストアと連携する場合に便利)。
  2. Gitフックのインストール(リポジトリごとに1回):
    codegpt hook install   # .git/hooks/prepare-commit-msg を作成
    
  3. 通常通りコミット – git commit を実行すると、フックがCodeGPTを呼び出し、以下の処理を行います:
    • ステージングされた変更に対して git diff を実行。
    • ディフを選択されたLLMに送信。
    • Conventional-Commit形式のメッセージを受信し、コミットエディタに挿入。
  4. オプションのコードレビュー – 次を実行して変更の要約を取得:
    codegpt review
    

設定のハイライト

  • プロバイダ選択 – openai.provider は openai、azure、gemini、anthropic、litellm などに設定可能。
  • モデル選択 – openai.model はデフォルトで gpt-4o ですが、選択したプロバイダがサポートする任意のモデルを指定可能。
  • プロキシ – openai.proxy(HTTP/HTTPS)または openai.socks でSOCKS5をサポート。
  • プロンプトフォルダ – デフォルトは $HOME/.config/codegpt/prompt;codegpt config set prompt.folder /my/prompt で変更可能。
  • 動的キー補助 – openai.api_key_helper にシェルコマンドを設定すると、その出力がキーとして使用され、15分間キャッシュ(カスタマイズ可能)。
  • 出力言語 – output.lang(en、zh-tw、zh-cn、ja)。

例のコマンド

# コミットメッセージを生成(CLIモード、フックなし)
codegpt commit

# ステージングされた変更をレビュー
codegpt review

# バージョンを表示
codegpt version

どの人にとって役立つか?

  • Gitを既に使用しているが、ターミナルから離れずにAI支援のコミットメッセージを望む開発者。
  • Conventional Commitsを強制しているチームで、フォーマットの一貫性を迅速に維持したい人。
  • すばやいコード要約のために軽量でカスタマイズ可能なLLMクライアントを求める人。

ライセンスとコミュニティ

リポジトリには、Lint、テスト、セキュリティスキャン、コードカバレッジのCIバッジが含まれており、活発にメンテナンスされているオープンソースプロジェクトであることを示しています。READMEには中国語ブログ記事とYouTubeデモのリンクが記載されており、追加のコンテキストを提供しています。


結論 – CodeGPTは実用的でGoで作られたCLIツールであり、LLMをGitワークフローに統合し、コミットメッセージの自動生成と簡易なコードレビューを実現しながら、多数のプロバイダ、プロキシサポート、動的資格情報ヘルパー、カスタムプロンプトといった広範な設定オプションを提供しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト