# Commit-Gen - AI-Powered Git Commit Message Generator
[](https://badge.fury.io/py/commit-gen)
[](https://www.python.org/downloads/)
**Generate intelligent commit messages using AI with support for multiple providers including OpenRouter, Ollama, Google Gemini, and Mistral AI.**
## 🚀 Quick Start
### Installation
```bash
pip install commit-gen
```
### First Time Setup
```bash
# Interactive setup wizard (recommended)
commit-gen --setup
# Or manual setup
commit-gen --set-provider openrouter
commit-gen --set-api-key YOUR_API_KEY
```
### Basic Usage
```bash
# Interactive file selection and commit
commit-gen
# Commit specific files
commit-gen --files src/main.py tests/test_main.py
# Commit all files
commit-gen --all
# Commit and push
commit-gen --push
```
## 🔑 API Key Setup
### OpenRouter
**Step 1: Create Account**
1. Visit [OpenRouter](https://openrouter.ai/)
2. Click "Sign Up" and create an account
3. Verify your email address
**Step 2: Get API Key**
1. Go to [OpenRouter API Keys](https://openrouter.ai/keys)
2. Click "Create Key"
3. Give your key a name (e.g., "commit-gen")
4. Copy the generated API key
**Step 3: Configure**
```bash
commit-gen --set-provider openrouter
commit-gen --set-api-key YOUR_OPENROUTER_API_KEY
```
**💡 Tips:**
- OpenRouter provides access to multiple AI models
- Free tier available with limited usage
- Supports models like GPT-4, Claude, and others
### Google Gemini
**Step 1: Create Google Cloud Project**
1. Visit [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select existing one
3. Enable the Gemini API
**Step 2: Enable Gemini API**
1. Go to [Google AI Studio](https://makersuite.google.com/app/apikey)
2. Click "Get API key"
3. Create a new API key
4. Copy the generated key
**Step 3: Configure**
```bash
commit-gen --set-provider gemini
commit-gen --set-api-key YOUR_GEMINI_API_KEY
```
**💡 Tips:**
- Free tier: 15 requests per minute
- Supports models: gemini-2.5-flash, gemini-2.5-pro
- Requires Google Cloud account
### Mistral AI
**Step 1: Create Account**
1. Visit [Mistral AI](https://console.mistral.ai/)
2. Click "Sign Up" and create an account
3. Verify your email address
**Step 2: Get API Key**
1. Go to [Mistral AI Console](https://console.mistral.ai/api-keys/)
2. Click "Create new API key"
3. Give your key a name (e.g., "commit-gen")
4. Copy the generated API key
**Step 3: Configure**
```bash
commit-gen --set-provider mistral
commit-gen --set-api-key YOUR_MISTRAL_API_KEY
```
**💡 Tips:**
- Free tier: 20 requests per minute
- Supports models: mistral-large-latest, mistral-medium-latest
- High-quality reasoning capabilities
### Ollama (Local - No API Key Required)
**Step 1: Install Ollama**
```bash
# macOS/Linux
curl -fsSL https://ollama.ai/install.sh | sh
# Windows
# Download from https://ollama.ai/download
```
**Step 2: Start Ollama**
```bash
ollama serve
```
**Step 3: Pull Model**
```bash
ollama pull qwen2.5-coder:7b
```
**Step 4: Configure**
```bash
commit-gen --set-provider ollama
# No API key needed for local Ollama
```
**💡 Tips:**
- Runs locally on your machine
- No internet required after model download
- Free to use
- Supports many open-source models
### Custom Provider
**Step 1: Get API Key**
1. Obtain API key from your custom provider
2. Note the base URL for the provider
**Step 2: Configure**
```bash
commit-gen --set-provider custom
commit-gen --set-api-key YOUR_CUSTOM_API_KEY
commit-gen --set-base-url https://your-provider.com/api/v1
```
## ✨ Key Features
- **🤖 AI-Powered**: Generate commit messages using advanced AI models
- **📁 Interactive File Selection**: Choose which files to commit with arrow key navigation
- **🔧 Multiple AI Providers**: Support for OpenRouter, Ollama, Google Gemini, Mistral AI
- **⚙️ Easy Configuration**: Interactive setup wizard and simple CLI commands
- **📝 Smart Review**: Edit and confirm commit messages before committing
- **🚀 Auto Push**: Optional automatic push to remote repository
## 🛠️ Supported AI Providers
| Provider | Type | Default Model | API Key Required | Free Tier |
|----------|------|---------------|------------------|-----------|
| **OpenRouter** | Cloud | moonshotai/kimi-k2:free | ✅ | ✅ |
| **Ollama** | Local | qwen2.5-coder:7b | ❌ | ✅ |
| **Google Gemini** | Cloud | gemini-2.5-flash | ✅ | ✅ |
| **Mistral AI** | Cloud | mistral-large-2411 | ✅ | ✅ |
| **Custom** | Any | Configurable | ✅ | Varies |
## 📖 Usage Examples
### Interactive File Selection
```bash
commit-gen
```
Shows an interactive interface where you can:
- Navigate files with ↑/↓ arrow keys
- Toggle selection with SPACE
- See file status (modified, added, untracked)
### File Selection Interface
When you run `commit-gen` without arguments, you'll see an interactive interface with arrow key navigation:
```
📁 Files to commit:
============================================================
Use ↑/↓ to navigate, SPACE to toggle, ENTER to confirm
a=select all, n=select none, s=skip (stage all), q=quit
📂 CODE:
→ [ ] commit_gen/cli.py (modified, 18KB)
[x] demo_file2.py (added, 13B) ✅
[ ] README.md (modified, 9KB)
[ ] arrow_config.json (untracked, 12B)
Selected: 1/4 files
```
**Navigation Controls:**
- **↑/↓ Arrow Keys**: Navigate through files
- **SPACE**: Toggle file selection (check/uncheck)
- **ENTER**: Confirm selection and proceed
- **a**: Select all files
- **n**: Select none (use only already staged files)
- **s**: Skip selection (stage all files)
- **q**: Quit without committing
**Visual Indicators:**
- **→**: Current cursor position
- **[x]**: Selected file
- **[ ]**: Unselected file
- **✅**: Already staged file
- **Selected: X/Y files**: Shows selection count
**Features:**
- **Status indicators**: Shows if files are modified, added, or untracked
- **Size information**: Displays file sizes
- **Staged markers**: Shows which files are already staged
- **Real-time selection**: See selection count update as you navigate
- **Keyboard navigation**: Intuitive arrow key and spacebar controls
### Commit Confirmation
After selecting files, commit-gen will:
1. **Generate AI commit message**
2. **Show commit message for review**
3. **Allow editing** (with external editor or simple input)
4. **Confirm before committing**
**Commit Review Interface:**
```
🤖 Generating commit message...
📝 Edit commit message:
============================================================
Current commit message:
------------------------------
feat: add interactive file selection with arrow keys
- Implement arrow key navigation for file selection
- Add spacebar toggle for file selection
- Improve UX with visual indicators and real-time feedback
------------------------------
Options:
1. Edit message
2. Use as-is
3. Cancel
```
**Commit Confirmation:**
```
🔍 Commit Review:
============================================================
Commit message:
------------------------------
feat: add interactive file selection with arrow keys
- Implement arrow key navigation for file selection
- Add spacebar toggle for file selection
- Improve UX with visual indicators and real-time feedback
------------------------------
Options:
1. ✅ Yes, commit
2. 🚀 Yes, commit and push
3. ❌ No, go back to editing
4. 🚪 Cancel
```
**Confirmation Options:**
- **Yes, commit**: Commit only
- **Yes, commit and push**: Commit and push to remote
- **No, go back to editing**: Return to edit commit message
- **Cancel**: Exit without committing
**Editing Options:**
- **External Editor**: Uses `$EDITOR` (default: nano)
- **Simple Input**: Fallback if editor not available
- **Validation**: Ensures commit message is not empty
### Quick Commits
```bash
# Commit specific files
commit-gen --files src/main.py tests/test_main.py
# Commit all modified files
commit-gen --all
# Commit and push automatically
commit-gen --push
```
### Provider Configuration
```bash
# Set provider
commit-gen --set-provider gemini
# Set API key
commit-gen --set-api-key YOUR_API_KEY
# Set custom model
commit-gen --set-model gemini-2.5-pro
# View current config
commit-gen --config
```
## 🔧 Configuration
### Interactive Setup (Recommended)
```bash
commit-gen --setup
```
Guides you through:
- Provider selection
- API key configuration
- Model selection
- Connection testing
### Manual Configuration
```bash
# Show available providers
commit-gen --providers
# Configure OpenRouter
commit-gen --set-provider openrouter
commit-gen --set-api-key YOUR_OPENROUTER_KEY
# Configure Ollama (local)
commit-gen --set-provider ollama
# No API key needed for Ollama
# Configure Google Gemini
commit-gen --set-provider gemini
commit-gen --set-api-key YOUR_GEMINI_KEY
# Configure Mistral AI
commit-gen --set-provider mistral
commit-gen --set-api-key YOUR_MISTRAL_KEY
```
## 🎯 Advanced Features
### Custom Prompts
```bash
# Inline prompt
commit-gen --prompt "Generate a conventional commit message: {changes}"
# Load prompt from file
commit-gen --prompt-file my_prompt.txt
# Save current prompt to file
commit-gen --save-prompt-file my_prompt.txt
```
**Example prompt file (`my_prompt.txt`):**
```
You are an expert developer. Generate a clear, concise commit message based on the following changes:
{changes}
Requirements:
- Use conventional commit format (type: description)
- Keep it under 50 characters for the first line
- Add detailed description if needed
- Focus on what changed and why
- Use present tense ("add" not "added")
- Be specific but concise
Examples:
- feat: add user authentication system
- fix: resolve memory leak in data processing
- docs: update API documentation
- refactor: simplify database query logic
```
### Changelog Generation
```bash
commit-gen --changelog
commit-gen --changelog --compare-branch develop
```
### Debug Mode
```bash
commit-gen --debug
```
### Troubleshooting
### Issue: Command not found after installation
If `commit-gen` command is not found after installation:
1. **Check if symlink exists:**
```bash
ls -la /usr/local/bin/commit-gen
```
2. **If symlink is broken, recreate it:**
```bash
sudo ln -s /path/to/your/project/commit-gen.py /usr/local/bin/commit-gen
```
3. **For pip installation, check PATH:**
```bash
which commit-gen
echo $PATH
```
### Issue: Configuration files not cleaned up
If configuration files remain after uninstallation:
```bash
rm -rf ~/.config/git-commit-ai/
```
### Issue: API Key Authentication Failed
**Common Solutions:**
1. **Check API Key Format:**
- Ensure no extra spaces or characters
- Copy the entire key from provider dashboard
2. **Verify Provider Configuration:**
```bash
commit-gen --config
```
3. **Test with Different Model:**
```bash
commit-gen --set-model gpt-4o-mini # For OpenRouter
commit-gen --set-model gemini-2.5-flash # For Gemini
```
4. **Check API Key Permissions:**
- Ensure key has proper permissions
- Check if key is active in provider dashboard
### Issue: Rate Limiting
**Solutions:**
- **OpenRouter**: Upgrade to paid plan for higher limits
- **Gemini**: Wait for rate limit reset (usually 1 minute)
- **Mistral**: Check usage in Mistral console
- **Ollama**: No rate limits (local usage)
## 📋 Requirements
- **Python**: 3.8 or higher
- **Git**: Working git repository
- **AI Provider**: At least one AI provider configured
## 🙏 Acknowledgments
- Powered by various AI providers
- Inspired by the need for better commit messages
Raw data
{
"_id": null,
"home_page": "https://github.com/mobiovn",
"name": "commit-gen-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": "Mobio Company <contact@mobio.vn>",
"keywords": "git, commit, ai, automation, development",
"author": "MOBIO",
"author_email": "Mobio Company <contact@mobio.vn>",
"download_url": "https://files.pythonhosted.org/packages/f3/16/9e390455c91e9f28dc147d1481967a7027adc32c1340c7eeb6227ad258f2/commit_gen_cli-1.1.3.tar.gz",
"platform": null,
"description": " # Commit-Gen - AI-Powered Git Commit Message Generator\n\n[](https://badge.fury.io/py/commit-gen)\n[](https://www.python.org/downloads/)\n\n**Generate intelligent commit messages using AI with support for multiple providers including OpenRouter, Ollama, Google Gemini, and Mistral AI.**\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install commit-gen\n```\n\n### First Time Setup\n\n```bash\n# Interactive setup wizard (recommended)\ncommit-gen --setup\n\n# Or manual setup\ncommit-gen --set-provider openrouter\ncommit-gen --set-api-key YOUR_API_KEY\n```\n\n### Basic Usage\n\n```bash\n# Interactive file selection and commit\ncommit-gen\n\n# Commit specific files\ncommit-gen --files src/main.py tests/test_main.py\n\n# Commit all files\ncommit-gen --all\n\n# Commit and push\ncommit-gen --push\n```\n\n## \ud83d\udd11 API Key Setup\n\n### OpenRouter\n\n**Step 1: Create Account**\n1. Visit [OpenRouter](https://openrouter.ai/)\n2. Click \"Sign Up\" and create an account\n3. Verify your email address\n\n**Step 2: Get API Key**\n1. Go to [OpenRouter API Keys](https://openrouter.ai/keys)\n2. Click \"Create Key\"\n3. Give your key a name (e.g., \"commit-gen\")\n4. Copy the generated API key\n\n**Step 3: Configure**\n```bash\ncommit-gen --set-provider openrouter\ncommit-gen --set-api-key YOUR_OPENROUTER_API_KEY\n```\n\n**\ud83d\udca1 Tips:**\n- OpenRouter provides access to multiple AI models\n- Free tier available with limited usage\n- Supports models like GPT-4, Claude, and others\n\n### Google Gemini\n\n**Step 1: Create Google Cloud Project**\n1. Visit [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project or select existing one\n3. Enable the Gemini API\n\n**Step 2: Enable Gemini API**\n1. Go to [Google AI Studio](https://makersuite.google.com/app/apikey)\n2. Click \"Get API key\"\n3. Create a new API key\n4. Copy the generated key\n\n**Step 3: Configure**\n```bash\ncommit-gen --set-provider gemini\ncommit-gen --set-api-key YOUR_GEMINI_API_KEY\n```\n\n**\ud83d\udca1 Tips:**\n- Free tier: 15 requests per minute\n- Supports models: gemini-2.5-flash, gemini-2.5-pro\n- Requires Google Cloud account\n\n### Mistral AI\n\n**Step 1: Create Account**\n1. Visit [Mistral AI](https://console.mistral.ai/)\n2. Click \"Sign Up\" and create an account\n3. Verify your email address\n\n**Step 2: Get API Key**\n1. Go to [Mistral AI Console](https://console.mistral.ai/api-keys/)\n2. Click \"Create new API key\"\n3. Give your key a name (e.g., \"commit-gen\")\n4. Copy the generated API key\n\n**Step 3: Configure**\n```bash\ncommit-gen --set-provider mistral\ncommit-gen --set-api-key YOUR_MISTRAL_API_KEY\n```\n\n**\ud83d\udca1 Tips:**\n- Free tier: 20 requests per minute\n- Supports models: mistral-large-latest, mistral-medium-latest\n- High-quality reasoning capabilities\n\n### Ollama (Local - No API Key Required)\n\n**Step 1: Install Ollama**\n```bash\n# macOS/Linux\ncurl -fsSL https://ollama.ai/install.sh | sh\n\n# Windows\n# Download from https://ollama.ai/download\n```\n\n**Step 2: Start Ollama**\n```bash\nollama serve\n```\n\n**Step 3: Pull Model**\n```bash\nollama pull qwen2.5-coder:7b\n```\n\n**Step 4: Configure**\n```bash\ncommit-gen --set-provider ollama\n# No API key needed for local Ollama\n```\n\n**\ud83d\udca1 Tips:**\n- Runs locally on your machine\n- No internet required after model download\n- Free to use\n- Supports many open-source models\n\n### Custom Provider\n\n**Step 1: Get API Key**\n1. Obtain API key from your custom provider\n2. Note the base URL for the provider\n\n**Step 2: Configure**\n```bash\ncommit-gen --set-provider custom\ncommit-gen --set-api-key YOUR_CUSTOM_API_KEY\ncommit-gen --set-base-url https://your-provider.com/api/v1\n```\n\n## \u2728 Key Features\n\n- **\ud83e\udd16 AI-Powered**: Generate commit messages using advanced AI models\n- **\ud83d\udcc1 Interactive File Selection**: Choose which files to commit with arrow key navigation\n- **\ud83d\udd27 Multiple AI Providers**: Support for OpenRouter, Ollama, Google Gemini, Mistral AI\n- **\u2699\ufe0f Easy Configuration**: Interactive setup wizard and simple CLI commands\n- **\ud83d\udcdd Smart Review**: Edit and confirm commit messages before committing\n- **\ud83d\ude80 Auto Push**: Optional automatic push to remote repository\n\n## \ud83d\udee0\ufe0f Supported AI Providers\n\n| Provider | Type | Default Model | API Key Required | Free Tier |\n|----------|------|---------------|------------------|-----------|\n| **OpenRouter** | Cloud | moonshotai/kimi-k2:free | \u2705 | \u2705 |\n| **Ollama** | Local | qwen2.5-coder:7b | \u274c | \u2705 |\n| **Google Gemini** | Cloud | gemini-2.5-flash | \u2705 | \u2705 |\n| **Mistral AI** | Cloud | mistral-large-2411 | \u2705 | \u2705 |\n| **Custom** | Any | Configurable | \u2705 | Varies |\n\n## \ud83d\udcd6 Usage Examples\n\n### Interactive File Selection\n\n```bash\ncommit-gen\n```\n\nShows an interactive interface where you can:\n- Navigate files with \u2191/\u2193 arrow keys\n- Toggle selection with SPACE\n- See file status (modified, added, untracked)\n\n### File Selection Interface\n\nWhen you run `commit-gen` without arguments, you'll see an interactive interface with arrow key navigation:\n\n```\n\ud83d\udcc1 Files to commit:\n============================================================\nUse \u2191/\u2193 to navigate, SPACE to toggle, ENTER to confirm\na=select all, n=select none, s=skip (stage all), q=quit\n\n\ud83d\udcc2 CODE:\n\u2192 [ ] commit_gen/cli.py (modified, 18KB)\n [x] demo_file2.py (added, 13B) \u2705\n [ ] README.md (modified, 9KB)\n [ ] arrow_config.json (untracked, 12B)\n\nSelected: 1/4 files\n```\n\n**Navigation Controls:**\n- **\u2191/\u2193 Arrow Keys**: Navigate through files\n- **SPACE**: Toggle file selection (check/uncheck)\n- **ENTER**: Confirm selection and proceed\n- **a**: Select all files\n- **n**: Select none (use only already staged files)\n- **s**: Skip selection (stage all files)\n- **q**: Quit without committing\n\n**Visual Indicators:**\n- **\u2192**: Current cursor position\n- **[x]**: Selected file\n- **[ ]**: Unselected file\n- **\u2705**: Already staged file\n- **Selected: X/Y files**: Shows selection count\n\n**Features:**\n- **Status indicators**: Shows if files are modified, added, or untracked\n- **Size information**: Displays file sizes\n- **Staged markers**: Shows which files are already staged\n- **Real-time selection**: See selection count update as you navigate\n- **Keyboard navigation**: Intuitive arrow key and spacebar controls\n\n### Commit Confirmation\n\nAfter selecting files, commit-gen will:\n\n1. **Generate AI commit message**\n2. **Show commit message for review**\n3. **Allow editing** (with external editor or simple input)\n4. **Confirm before committing**\n\n**Commit Review Interface:**\n```\n\ud83e\udd16 Generating commit message...\n\n\ud83d\udcdd Edit commit message:\n============================================================\nCurrent commit message:\n------------------------------\nfeat: add interactive file selection with arrow keys\n\n- Implement arrow key navigation for file selection\n- Add spacebar toggle for file selection\n- Improve UX with visual indicators and real-time feedback\n------------------------------\n\nOptions:\n1. Edit message\n2. Use as-is\n3. Cancel\n```\n\n**Commit Confirmation:**\n```\n\ud83d\udd0d Commit Review:\n============================================================\nCommit message:\n------------------------------\nfeat: add interactive file selection with arrow keys\n\n- Implement arrow key navigation for file selection\n- Add spacebar toggle for file selection\n- Improve UX with visual indicators and real-time feedback\n------------------------------\n\nOptions:\n1. \u2705 Yes, commit\n2. \ud83d\ude80 Yes, commit and push\n3. \u274c No, go back to editing\n4. \ud83d\udeaa Cancel\n```\n\n**Confirmation Options:**\n- **Yes, commit**: Commit only\n- **Yes, commit and push**: Commit and push to remote\n- **No, go back to editing**: Return to edit commit message\n- **Cancel**: Exit without committing\n\n**Editing Options:**\n- **External Editor**: Uses `$EDITOR` (default: nano)\n- **Simple Input**: Fallback if editor not available\n- **Validation**: Ensures commit message is not empty\n\n### Quick Commits\n\n```bash\n# Commit specific files\ncommit-gen --files src/main.py tests/test_main.py\n\n# Commit all modified files\ncommit-gen --all\n\n# Commit and push automatically\ncommit-gen --push\n```\n\n### Provider Configuration\n\n```bash\n# Set provider\ncommit-gen --set-provider gemini\n\n# Set API key\ncommit-gen --set-api-key YOUR_API_KEY\n\n# Set custom model\ncommit-gen --set-model gemini-2.5-pro\n\n# View current config\ncommit-gen --config\n```\n\n## \ud83d\udd27 Configuration\n\n### Interactive Setup (Recommended)\n\n```bash\ncommit-gen --setup\n```\n\nGuides you through:\n- Provider selection\n- API key configuration\n- Model selection\n- Connection testing\n\n### Manual Configuration\n\n```bash\n# Show available providers\ncommit-gen --providers\n\n# Configure OpenRouter\ncommit-gen --set-provider openrouter\ncommit-gen --set-api-key YOUR_OPENROUTER_KEY\n\n# Configure Ollama (local)\ncommit-gen --set-provider ollama\n# No API key needed for Ollama\n\n# Configure Google Gemini\ncommit-gen --set-provider gemini\ncommit-gen --set-api-key YOUR_GEMINI_KEY\n\n# Configure Mistral AI\ncommit-gen --set-provider mistral\ncommit-gen --set-api-key YOUR_MISTRAL_KEY\n```\n\n## \ud83c\udfaf Advanced Features\n\n### Custom Prompts\n\n```bash\n# Inline prompt\ncommit-gen --prompt \"Generate a conventional commit message: {changes}\"\n\n# Load prompt from file\ncommit-gen --prompt-file my_prompt.txt\n\n# Save current prompt to file\ncommit-gen --save-prompt-file my_prompt.txt\n```\n\n**Example prompt file (`my_prompt.txt`):**\n```\nYou are an expert developer. Generate a clear, concise commit message based on the following changes:\n\n{changes}\n\nRequirements:\n- Use conventional commit format (type: description)\n- Keep it under 50 characters for the first line\n- Add detailed description if needed\n- Focus on what changed and why\n- Use present tense (\"add\" not \"added\")\n- Be specific but concise\n\nExamples:\n- feat: add user authentication system\n- fix: resolve memory leak in data processing\n- docs: update API documentation\n- refactor: simplify database query logic\n```\n\n### Changelog Generation\n\n```bash\ncommit-gen --changelog\ncommit-gen --changelog --compare-branch develop\n```\n\n### Debug Mode\n\n```bash\ncommit-gen --debug\n```\n\n### Troubleshooting\n\n### Issue: Command not found after installation\n\nIf `commit-gen` command is not found after installation:\n\n1. **Check if symlink exists:**\n ```bash\n ls -la /usr/local/bin/commit-gen\n ```\n\n2. **If symlink is broken, recreate it:**\n ```bash\n sudo ln -s /path/to/your/project/commit-gen.py /usr/local/bin/commit-gen\n ```\n\n3. **For pip installation, check PATH:**\n ```bash\n which commit-gen\n echo $PATH\n ```\n\n### Issue: Configuration files not cleaned up\n\nIf configuration files remain after uninstallation:\n\n```bash\nrm -rf ~/.config/git-commit-ai/\n```\n\n### Issue: API Key Authentication Failed\n\n**Common Solutions:**\n\n1. **Check API Key Format:**\n - Ensure no extra spaces or characters\n - Copy the entire key from provider dashboard\n\n2. **Verify Provider Configuration:**\n ```bash\n commit-gen --config\n ```\n\n3. **Test with Different Model:**\n ```bash\n commit-gen --set-model gpt-4o-mini # For OpenRouter\n commit-gen --set-model gemini-2.5-flash # For Gemini\n ```\n\n4. **Check API Key Permissions:**\n - Ensure key has proper permissions\n - Check if key is active in provider dashboard\n\n### Issue: Rate Limiting\n\n**Solutions:**\n- **OpenRouter**: Upgrade to paid plan for higher limits\n- **Gemini**: Wait for rate limit reset (usually 1 minute)\n- **Mistral**: Check usage in Mistral console\n- **Ollama**: No rate limits (local usage)\n\n## \ud83d\udccb Requirements\n\n- **Python**: 3.8 or higher\n- **Git**: Working git repository\n- **AI Provider**: At least one AI provider configured\n\n## \ud83d\ude4f Acknowledgments\n- Powered by various AI providers\n- Inspired by the need for better commit messages\n",
"bugtrack_url": null,
"license": null,
"summary": "AI-Powered Git Commit Message Generator",
"version": "1.1.3",
"project_urls": {
"Homepage": "https://github.com/mobiovn"
},
"split_keywords": [
"git",
" commit",
" ai",
" automation",
" development"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "487b3e1b02320e6e102defe25f0135ad4d9868a216610bc5aa270f8859bd6bef",
"md5": "6893271aea19ef3a9740ed84debb596e",
"sha256": "66736f7f27c10e06d5deb283b44f61f4d444a9f03fe7c911b48cb06b996cb6a8"
},
"downloads": -1,
"filename": "commit_gen_cli-1.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6893271aea19ef3a9740ed84debb596e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 29699,
"upload_time": "2025-08-01T07:45:55",
"upload_time_iso_8601": "2025-08-01T07:45:55.776806Z",
"url": "https://files.pythonhosted.org/packages/48/7b/3e1b02320e6e102defe25f0135ad4d9868a216610bc5aa270f8859bd6bef/commit_gen_cli-1.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f3169e390455c91e9f28dc147d1481967a7027adc32c1340c7eeb6227ad258f2",
"md5": "5ba4122772a71a87d39986036c5e7bf1",
"sha256": "fcfd0abeb1532cd04d2dd9e070109ef35c94ab91d2771c13ae100c46c5a33073"
},
"downloads": -1,
"filename": "commit_gen_cli-1.1.3.tar.gz",
"has_sig": false,
"md5_digest": "5ba4122772a71a87d39986036c5e7bf1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 36721,
"upload_time": "2025-08-01T07:45:56",
"upload_time_iso_8601": "2025-08-01T07:45:56.867832Z",
"url": "https://files.pythonhosted.org/packages/f3/16/9e390455c91e9f28dc147d1481967a7027adc32c1340c7eeb6227ad258f2/commit_gen_cli-1.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 07:45:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "commit-gen-cli"
}