A CLI tool to generate commit messages using AI models
Project description
Git Commit Message Generator with AI
A CLI tool that generates commit messages using AI models based on your git repository changes.
Features
- 🤖 Wide Model Support:
- OpenAI
- Anthropic
- DeepSeek
- Aliyun
- iFlytek
- Zhipu
- Baidu
- Moonshot
- Tencent
- ByteDance
- Replicate
- Together AI
- 🔧 Custom API base
- 🔧 Custom Model Integration
- 📝 Conventional Commits Format
- 🎯 Customizable Prompt Templates
- 🔑 Secure Configuration Management
Installation
Using pipx (Recommended)
# Install pipx if you haven't
brew install pipx
pipx ensurepath
# Install aimsg
pipx install aimsg
# Upgrade aimsg
pipx upgrade aimsg
Using pip
pip install aimsg
Quick Start
- Initialize with your preferred model and API key:
aimsg init
- Stage your changes and generate commit message:
git add .
aimsg commit
- Get help or version information:
# Show version
aimsg --version
# Show all available commands
aimsg --help
# Show help for a specific command
aimsg model --help
aimsg commit --help
# Show current configuration
aimsg current
Configuration
Configure aimsg in order of priority:
- Project-level
.envfile (highest priority)
AIMSG_API_KEY=your_api_key
AIMSG_API_BASE=your_api_base
AIMSG_MODEL=your_model
AIMSG_PROMPT=your_prompt
- Environment variables(Secondary priority)
export AIMSG_API_KEY=your_api_key
export AIMSG_API_BASE=your_api_base
export AIMSG_MODEL=your_model
export AIMSG_PROMPT=your_prompt
- Global configuration via
aimsg init(lowest priority, default)
aimsg init
# Creates ~/.config/aimsg/config.json with default settings:
# - model: your_model
# - api_base: your_api_base
# - api_key: your_api_key
# - prompt: default prompt template
# - custom_models: custom model list
Model Management
# List available models
aimsg model list
# Add custom model
aimsg model add my-model https://api.example.com/v1
# Remove custom model
aimsg model remove my-model
Prompt Management
# Customize commit message prompt template
aimsg prompt
# Reset to default prompt template
aimsg reset-prompt
Default prompt template:
Based on the following git diff, generate a concise and descriptive commit message that follows conventional commits format.
Focus on the "what" and "why" of the changes.
Start with a type (feat, fix, docs, style, refactor, perf, test, build, ci, chore).
Do not include scope.
Limit the first line to 72 characters.
Add a blank line followed by a more detailed description if necessary.
The default prompt template guides the AI to:
- Follow conventional commits format
- Focus on the "what" and "why" of changes
- Keep the first line under 72 characters
- Add detailed description when necessary
Default API Providers
- OpenAI:
https://api.openai.com/v1 - Anthropic:
https://api.anthropic.com/v1 - Google:
https://generativelanguage.googleapis.com/v1 - DeepSeek:
https://api.deepseek.com/v1 - Aliyun:
https://dashscope.aliyuncs.com/api/v1 - iFlytek:
https://spark-api.xf-yun.com/v3.1 - Zhipu:
https://open.bigmodel.cn/api/v1 - Baidu:
https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop - Moonshot:
https://api.moonshot.cn/v1 - Tencent:
https://hunyuan.cloud.tencent.com/hyllm/v1 - ByteDance:
https://api.doubao.com/v1 - Replicate:
https://api.replicate.com/v1 - Together AI:
https://api.together.xyz/v1
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aimsg-0.2.3.tar.gz
(13.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
aimsg-0.2.3-py3-none-any.whl
(13.9 kB
view details)
File details
Details for the file aimsg-0.2.3.tar.gz.
File metadata
- Download URL: aimsg-0.2.3.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f590da8339060d5911b989fb579c051d87453b8ebd365ebf28505e729cfc759d
|
|
| MD5 |
897827857abe1b03da07882e4f1ff673
|
|
| BLAKE2b-256 |
6f013b65f85f02c24702f9d567ea8a26b740c094d2eead1e25b215c92ec317a3
|
File details
Details for the file aimsg-0.2.3-py3-none-any.whl.
File metadata
- Download URL: aimsg-0.2.3-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3f05b029d94221acdd52b5c4b94586c6fbb3e74be15cee92e43a2a34af771a
|
|
| MD5 |
f1d99c8c969d636e9fd36d4edff4e4eb
|
|
| BLAKE2b-256 |
1f63a998a7c4f8255dcb4c75133a625279b2390367557b3ca0b123dccadcdbb5
|