Skip to main content

A CLI tool to generate commit messages using AI models

Project description

Git Commit Message Generator with AI

中文文档

PyPI version License: MIT Python 3.7+

A CLI tool that generates commit messages using AI models based on your git repository changes.

Features

  • 🤖 Wide Model Support:
    • OpenAI
    • Anthropic
    • Google
    • 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

  1. Initialize with your preferred model and API key:
aimsg init
  1. Stage your changes and generate commit message:
git add .
aimsg commit
  1. 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:

  1. Project-level .env file (highest priority)
AIMSG_API_KEY=your_api_key
AIMSG_API_BASE=your_api_base
AIMSG_MODEL=your_model
AIMSG_PROMPT=your_prompt
  1. 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
  1. 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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aimsg-0.2.3-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

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

Hashes for aimsg-0.2.3.tar.gz
Algorithm Hash digest
SHA256 f590da8339060d5911b989fb579c051d87453b8ebd365ebf28505e729cfc759d
MD5 897827857abe1b03da07882e4f1ff673
BLAKE2b-256 6f013b65f85f02c24702f9d567ea8a26b740c094d2eead1e25b215c92ec317a3

See more details on using hashes here.

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

Hashes for aimsg-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 de3f05b029d94221acdd52b5c4b94586c6fbb3e74be15cee92e43a2a34af771a
MD5 f1d99c8c969d636e9fd36d4edff4e4eb
BLAKE2b-256 1f63a998a7c4f8255dcb4c75133a625279b2390367557b3ca0b123dccadcdbb5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page