MCPcopy Index your code
hub / github.com/agentsdance/aigit

github.com/agentsdance/aigit @v0.1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.4 ↗ · + Follow
57 symbols 128 edges 8 files 15 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

aigit

中文文档 (Chinese Documentation) | English Documentation

The most powerful git commit assistant ever!

It's a command-line tool that streamlines the git commit process by automatically generating meaningful and standardized commit messages, including title and body.

aigit commit is as simple as git commit.

Supported 🤖 AI Providers

Provider Default model
OpenAI gpt-5.4-mini
DeepSeek deepseek-v4-flash-260425
Doubao (豆包) - Built-in, you don't need to bring your own key doubao-seed-2-0-lite-260428
Gemini gemini-3.5-flash
Qwen (通义千问) qwen-plus

Getting Started

Installation

Option 1: Homebrew (Recommended)

# Add the repository as a tap (use full URL)
brew tap zzxwill/aigit https://github.com/zzxwill/aigit.git

# Install stable version (from releases)
brew install aigit

# Install development version (from dev branch)
brew install --HEAD aigit

# Alternative: Install from local formula file
# curl -O https://raw.githubusercontent.com/zzxwill/aigit/master/Formula/aigit.rb
# brew install --formula aigit.rb

Option 2: Download Binary

You can install aigit in one of the following ways:

  1. Using go install:
go install github.com/zzxwill/aigit@latest
$ aigit version
v0.0.8
  1. Download from releases:

  2. Go to the releases page and download the binary for your platform.

  3. Rename the binary to aigit and move it to /usr/local/bin/aigit.
chmod +x aigit && sudo mv aigit /usr/local/bin/aigit

Option 3: Build from Source

git clone https://github.com/zzxwill/aigit.git
cd aigit
go build -o aigit main.go
sudo mv aigit /usr/local/bin/aigit

Generate commit message

$ aigit commit

🤖 Generating commit message...

📝 Generated commit message:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
feat(llm): add support for volcengine-go-sdk

This commit adds support for the volcengine-go-sdk for integrating with Doubao LLM service.

The following changes were made:

- Provider type and APIKey field were added to the llm.Config struct.
- generateDoubaoCommitMessage function was updated to use the volcengine-go-sdk.
- The client is initialized with the apiKey and endpointId.
- A prompt is constructed and sent to the CreateChatCompletion API.
- The first choice's message is returned as the commit message.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🤔 What would you like to do?
1. Commit this message (default)
2. Regenerate message

Enter your choice (press Enter for default):

✅ Successfully committed changes!

Generate commit message with your own AI API Key

$ aigit auth add gemini AIzaSyCb56bjWn02e2v4s_TxHMDnHbSJQSx_tu8
Successfully added API key for gemini

$ aigit auth add doubao 6e3e438c-a380-4ed5-b597-e01cb82bc4df
Successfully added API key for doubao

$ aigit auth ls
Configured providers:
  gemini(gemini-3.5-flash) *default
  doubao(doubao-seed-2-0-lite-260428)

$ aigit commit

🤖 Generating commit message...

📝 Generated commit message:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
feat(llm): add support for volcengine-go-sdk

This commit adds support for the volcengine-go-sdk for integrating with Doubao LLM service.

The following changes were made:

- Provider type and APIKey field were added to the llm.Config struct.
- generateDoubaoCommitMessage function was updated to use the volcengine-go-sdk.
- The client is initialized with the apiKey and endpointId.
- A prompt is constructed and sent to the CreateChatCompletion API.
- The first choice's message is returned as the commit message.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🤔 What would you like to do?
1. Commit this message (default)
2. Regenerate message

Enter your choice (press Enter for default): 2

🤖 Regenerating commit message...

📝 Generated commit message:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
feat(llm): add support for volcengine-go-sdk

This commit adds support for the volcengine-go-sdk for integrating with Doubao LLM service.

The following changes were made:

- Provider type and APIKey field were added to the llm.Config struct.
- generateDoubaoCommitMessage function was updated to use the volcengine-go-sdk.
- The client is initialized with the apiKey and endpointId.
- A prompt is constructed and sent to the CreateChatCompletion API.
- The first choice's message is returned as the commit message.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🤔 What would you like to do?
1. Commit this message (default)
2. Regenerate message

Enter your choice (press Enter for default): 1

✅ Successfully committed changes!

For Doubao, the provider uses the built-in default model. You can optionally pass an Ark inference endpoint ID (ep-xxx) or a model ID to override it:

$ aigit auth add doubao <api_key> ep-20250110202503-fdkgq

Update check

aigit checks for new releases in the background (at most once every 24 hours, cached in ~/.aigit/update-check.json). When a newer version is available, it asks after the command finishes whether to upgrade; if you agree, aigit upgrades itself in place (via Homebrew for brew installs, otherwise by building the release from source). Set AIGIT_NO_UPDATE_CHECK=1 to disable the check.

Extension points exported contracts — how you extend this code

MessageGenerator (Interface)
MessageGenerator Define a commit message generator [6 implementers]
llm/model.go

Core symbols most depended-on inside this repo

NewConfig
called by 4
llm/config.go
Load
called by 4
llm/config.go
versionSegments
called by 3
update.go
versionLess
called by 2
update.go
runQuiet
called by 2
upgrade.go
generateMessage
called by 2
main.go
GenerateCommitMessage
called by 2
llm/model.go
NewDefauleGenerator
called by 2
llm/model.go

Shape

Function 30
Method 16
Struct 9
Class 1
Interface 1

Languages

Go95%
Ruby5%

Modules by API surface

llm/model.go25 symbols
llm/config.go11 symbols
update.go10 symbols
upgrade.go3 symbols
Formula/aigit.rb3 symbols
update_test.go2 symbols
main.go2 symbols
llm/model_live_test.go1 symbols

For agents

$ claude mcp add aigit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact