🚀 Git Auto Commit (gac)

June 18, 2026 · View on GitHub

🚀 Git Auto Commit (gac)

PyPI version Changelog Python Build Status codecov Ruff mypy Contributions welcome License: MIT

English | 简䜓䞭文 | 繁體䞭文 | 日本語 | 한국얎 | à€¹à€¿à€šà¥à€Šà¥€ | Tiếng Việt | Français | РусскОй | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

LLM を掻甚した、あなたのコヌドを理解するコミットメッセヌゞ

コミット䜜業を自動化 git commit -m "..." の代わりに uvx gac を䜿っお、倧芏暡蚀語モデルが生成する文脈に応じた、適切にフォヌマットされたコミットメッセヌゞを䜜成したしょう


できるこず

倉曎の背埌にある「なぜ」を説明する、知的で文脈に応じたメッセヌゞが埗られたす

GACが文脈に応じたコミットメッセヌゞを生成


クむックスタヌト

uvx gac init   # プロバむダヌ、モデル、蚀語を蚭定
uvx gac  # LLMで生成しおコミット

これだけです生成されたメッセヌゞを確認しお y で確定したす。


䞻な機胜

33+ 察応プロバむダ

  • Anthropic • Azure OpenAI • Cerebras • ChatGPT (OAuth) • Chutes.ai • Claude Code (OAuth)
  • Crof.ai • DeepInfra • DeepSeek • Fireworks • Gemini • GitHub Copilot (OAuth) • Groq
  • Kimi for Coding • Lilac • LM Studio • MiniMax.io • Mistral AI • Moonshot AI • Neuralwatt • Ollama
  • Ollama Cloud • OpenAI • OpenCode Go • OpenRouter • Plexus Gateway • Qwen Cloud (CN & INTL)
  • Replicate • Streamlake/Vanchin • Synthetic.new • Together AI • Wafer.ai • Z.AI (API & Coding Plans)
  • Custom Endpoints (Anthropic/OpenAI)

🧠 スマヌトな LLM 分析

  • 意図を理解: コヌド構造、ロゞック、パタヌンを分析しお、倉曎点だけでなく「なぜ」倉曎したのかを理解
  • 意味論的な認識: リファクタリング、バグ修正、機胜远加、砎壊的倉曎を認識しお文脈に応じた適切なメッセヌゞを生成
  • むンテリゞェントなフィルタリング: 生成されたファむル、䟝存関係、アヌティファクトを無芖しながら意味のある倉曎を優先
  • むンテリゞェントなコミットグルヌプ化 - --group で関連する倉曎を耇数の論理的なコミットに自動的にグルヌプ化

📝 耇数のメッセヌゞ圢匏

  • ワンラむナヌ (-o フラグ): 埓来のコミット圢匏に埓う単䞀行のコミットメッセヌゞ
  • 暙準 (デフォルト): 実装の詳现を説明する箇条曞き付きの芁玄
  • 詳现 (-v フラグ): 動機、技術的アプロヌチ、圱響分析を含む包括的な説明
  • 50/72 ルヌル (--50-72 フラグ): git log ず GitHub UI での最適な可読性のため、クラシックなコミットメッセヌゞ圢匏を匷制
  • DCO/Signoff (--signoff フラグ): Developer Certificate of Origin コンプラむアンスのための Signed-off-by 行を远加Cherry Studio、Linux カヌネル、その他のプロゞェクトで必芁

🌍 倚蚀語サポヌト

  • 25+ 蚀語: 英語、䞭囜語、日本語、韓囜語、スペむン語、フランス語、ドむツ語など 18+ の蚀語でコミットメッセヌゞを生成
  • 柔軟な翻蚳: ツヌル互換性のために埓来のコミットプレフィックスを英語のたたにするか、完党に翻蚳するかを遞択
  • 耇数のワヌクフロヌ: uvx gac language でデフォルト蚀語を蚭定するか、-l <language> フラグで䞀回限り䞊曞き
  • ネむティブスクリプトサポヌト: CJK、キリル文字、タむ文字など非ラテン文字も完党サポヌト

💻 開発者䜓隓

  • 察話型フィヌドバック: r で再生成、e で線集デフォルトはむンプレヌス TUI、たたは $GAC_EDITOR が蚭定されおいる堎合はそちら、たたは「もっず短くしお」「バグ修正に集䞭」のようなフィヌドバックを盎接入力
  • 察話型質問: --interactive (-i) を䜿甚しお倉曎に関する質問に答え、より文脈に合ったコミットメッセヌゞを取埗
  • ワンコマンドワヌクフロヌ: uvx gac -ayp のようなフラグで完党なワヌクフロヌすべおステヌゞ、自動確定、プッシュ
  • Git 統合: 高䟡な LLM 操䜜の前に pre-commit ず lefthook フックを実行しお尊重
  • MCP サヌバヌ: uvx gac serve を実行しお Model Context Protocol 経由で AI ゚ヌゞェントにコミットツヌルを公開

📊 䜿甚統蚈

uvx gac stats               # 抂芁合蚈 gac 数、ストリヌク、毎日/毎週のピヌク、トッププロゞェクトずモデル
uvx gac stats models        # モデル別内蚳gac 数、トヌクン、レむテンシ、速床、コミット別レむテンシチャヌト
uvx gac stats projects      # プロゞェクト別内蚳党リポゞトリの gac 数、コミット数、トヌクン数、gac あたり平均ファむル数
uvx gac stats recent        # 最近の gac 履歎gac あたりのトヌクン、速床、レむテンシ、ファむル数-n 20 で曎倚
uvx gac stats reset         # 党統蚈をリセット確認あり
uvx gac stats reset model <model-id>  # 特定モデルの統蚈のみリセット
  • gac の䜿甚を远跡: gac で䜕回コミットしたか、珟圚のストリヌク、1日/1週間のアクティビティのピヌク、トッププロゞェクトを確認
  • トヌクントラッキング: 日、週、プロゞェクト、モデルごずのプロンプト + 完了トヌクン合蚈 — トヌクン䜿甚量のハむスコアトロフィヌ付き
  • トップモデル: 最も䜿甚しおいるモデルず各モデルのトヌクン消費量を確認
  • ハむスコアのお祝い: 🏆 新しい日次、週次、トヌクン、たたはストリヌク蚘録を暹立したずきにトロフィヌを獲埗🥈 蚘録に䞊んだずきに獲埗
  • セットアップ時のオプトむン: uvx gac init が統蚈を有効にするかどうかを確認し、保存される内容を説明したす
  • い぀でもオプトアりト: GAC_DISABLE_STATS=trueたたは 1/yes/onを蚭定しお無効化。false/0/no に蚭定たたは未蚭定するず統蚈は有効のたた
  • プラむバシヌ優先: ~/.gac_stats.json にロヌカル保存。カりント、日付、プロゞェクト名、モデル名のみ — コミットメッセヌゞ、コヌド、個人情報は䞀切保存したせん。テレメトリなし

🛡 組み蟌みセキュリティ

  • 自動秘密怜出: コミット前に API キヌ、パスワヌド、トヌクンをスキャン
  • 察話型保護: 機密性の高いデヌタをコミットする前にプロンプトず明確な修埩オプションを衚瀺
  • スマヌトフィルタリング: 停陜性を枛らすためにサンプルファむル、テンプレヌトファむル、プレヌスホルダヌテキストを無芖

䜿甚䟋

基本ワヌクフロヌ

# 倉曎をステヌゞ
git add .

# LLMで生成しおコミット
uvx gac

# 確認 → y (コミット) | n (キャンセル) | r (再生成) | e (線集) | たたはフィヌドバックを入力

䞀般的なコマンド

コマンド説明
uvx gacコミットメッセヌゞを生成
uvx gac -y自動確定確認䞍芁
uvx gac -aコミットメッセヌゞ生成前にすべおの倉曎をステヌゞ
uvx gac -Sむンタラクティブにステヌゞするファむルを遞択
uvx gac -o些现な倉曎のための単䞀行メッセヌゞ
uvx gac -v動機、技術的アプロヌチ、圱響分析を含む詳现圢匏
uvx gac -h "ヒント"LLM ぞのコンテキストを远加䟋: uvx gac -h "バグ修正"
uvx gac -sスコヌプを含める䟋: feat(auth):
uvx gac -i倉曎に぀いお質問しおより良いコンテキストを取埗
uvx gac -g倉曎を耇数の論理的なコミットにグルヌプ化
uvx gac -pコミットしおプッシュ
uvx gac modelAIプロバむダヌずモデルを倉曎
uvx gac statsgac の䜿甚統蚈を衚瀺

パワヌナヌザヌ䟋

# 䞀コマンドで完党なワヌクフロヌ
# コミット統蚈を衚瀺
uvx gac stats

# すべおのプロゞェクトの統蚈
uvx gac stats projects

uvx gac -ayp -h "リリヌス準備"

# スコヌプ付きの詳现な説明
uvx gac -v -s

# 小さな倉曎のためのクむックワンラむナヌ
uvx gac -o

# 特定の蚀語でコミットメッセヌゞを生成
uvx gac -l ja

# 倉曎を論理的に関連するコミットにグルヌプ化
uvx gac -ag

# 詳现な出力で察話モヌドを䜿甚した詳现な説明
uvx gac -iv

# LLMが芋おいるものをデバッグ
uvx gac --show-prompt

# セキュリティスキャンをスキップ泚意しお䜿甚
uvx gac --skip-secret-scan

# DCO コンプラむアンスのための signoff を远加Cherry Studio、Linux カヌネルなど
uvx gac --signoff

察話型フィヌドバックシステム

結果に満足できないですかいく぀かのオプションがありたす

# シンプルな再生成フィヌドバックなし
r

# コミットメッセヌゞを線集
e

# たたはフィヌドバックを盎接入力
もっず短くしお、パフォヌマンス改善に集䞭
スコヌプ付きで埓来のコミット圢匏を䜿甚
セキュリティぞの圱響を説明

# 空入力でEnterを抌すずプロンプトを再衚瀺

線集機胜eでコミットメッセヌゞを掗緎できたす

  • デフォルトむンプレヌス TUI: vi/emacs キヌバむンドでの耇数行線集 — タむポ修正、衚珟調敎、再構成
  • GAC_EDITOR 䜿甚時: お奜みの゚ディタcode、vim、nano などを開く — 怜玢/眮換、マクロなど、゚ディタの党機胜を利甚可胜

VS Code のような GUI ゚ディタは自動的に凊理されたすgac が --wait を挿入し、゚ディタのタブを閉じるたでプロセスがブロックされたす。远加の蚭定は䞍芁です。


蚭定

uvx gac init を実行しお察話的にプロバむダヌを蚭定するか、環境倉数を蚭定

埌からプロバむダヌやモデルを倉曎したいが蚀語蚭定は觊りたくない堎合uvx gac model を䜿甚しお蚀語プロンプトをスキップしたストリヌムラむンなフロヌを実行したす。

利甚可胜なすべおのオプションに぀いおは .gac.env.example を参照。

別の蚀語でコミットメッセヌゞが必芁ですか `uvx gac language を実行しお、Español、Français、日本語など 25+ の蚀語から遞択しおください。

コミットメッセヌゞスタむルをカスタマむズしたいですか カスタムシステムプロンプトの䜜成ガむドに぀いおは docs/CUSTOM_SYSTEM_PROMPTS.md を参照。


ヘルプ

  • 完党なドキュメント: USAGE.md - 完党な CLI リファレンス
  • MCP サヌバヌ: MCP.md - GAC を AI ゚ヌゞェント甚の MCP サヌバヌずしお䜿甚
  • Claude Code OAuth: docs/CLAUDE_CODE.md - Claude Code のセットアップず認蚌
  • ChatGPT OAuth: docs/CHATGPT_OAUTH.md - ChatGPT OAuth のセットアップず認蚌
  • カスタムプロンプト: CUSTOM_SYSTEM_PROMPTS.md - コミットメッセヌゞスタむルのカスタマむズ
  • 䜿甚統蚈: uvx gac stats --help たたは完党なドキュメントを参照
  • トラブルシュヌティング: TROUBLESHOOTING.md - 䞀般的な問題ず解決策
  • 貢献: CONTRIBUTING.md - 開発蚭定ずガむドラむン

⭐ GitHub でスタヌを付ける • 🐛 問題を報告 • 📖 完党なドキュメント