
Commit Sage is a VSCode extension that automatically generates commit messages using various AI providers:
- Gemini (default, requires API key, free)
- OpenAI (requires API key or compatible provider)
- Codestral (requires API key, free)
- Ollama (local, free)

Features
- 🤖 AI-powered commit message generation
- 🌍 Multiple language support (English, Russian, Chinese, Japanese, Spanish)
- 📝 Various commit formats (Conventional, Angular, Karma, Semantic, Emoji, EmojiKarma)
- 🔄 Smart handling of staged/unstaged changes
- 🚀 Auto-commit and auto-push capabilities
- 🎯 Custom instructions support
- ⚡ Fast and efficient processing
Configuration
Get your API key:
AI Provider Settings
Commit Settings
Language (commitSage.commit.commitLanguage
):
- Options:
english
, russian
, chinese
, japanese
, spanish
- Default:
english
Format (commitSage.commit.commitFormat
):
- Options:
conventional
, angular
, karma
, semantic
, emoji
, emojiKarma
- Default:
conventional
Staged Changes (commitSage.commit.onlyStagedChanges
):
- When enabled: Only analyzes staged changes
- When disabled:
- Uses staged changes if present
- Uses all changes if no staged changes
- Default:
false
Auto Commit (commitSage.commit.autoCommit
):
- Automatically commits after message generation
- Default:
false
Auto Push (commitSage.commit.autoPush
):
- Automatically pushes after auto-commit
- Requires Auto Commit to be enabled
- Default:
false
References (commitSage.commit.promptForRefs
):
- Prompts for issue/PR references
- Default:
false
Custom Instructions
Telemetry
- Enable (
commitSage.telemetry.enabled
):
- Collects anonymous usage data
- Default:
true
Project Configuration (.commitsage)
You can override extension settings for individual projects by creating a .commitsage
file in your project root. This allows different projects to have different AI providers, commit formats, or other settings.
Creating Project Configuration
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Run "Commit Sage: Create Project Configuration (.commitsage)"
- Edit the generated file with your project-specific settings
Example .commitsage file:
{
"provider": {
"type": "gemini"
},
"commit": {
"commitLanguage": "russian",
"commitFormat": "conventional",
"autoCommit": false,
"autoPush": false
},
"gemini": {
"model": "gemini-1.5-flash"
},
"telemetry": {
"enabled": false
}
}
Settings Priority
Settings are loaded in the following order (higher priority overrides lower):
- Project settings (
.commitsage
file) - Highest priority
- VS Code workspace settings - Medium priority
- VS Code global settings - Lowest priority
Notes
- The
.commitsage
file is automatically watched for changes
- Invalid JSON syntax will show an error notification
- API keys are still managed through VS Code's secure storage (not stored in project files)
- You can override any setting available in the extension configuration
Usage
- Stage your changes in Git
- Press
Cmd+G
(Mac) / Ctrl+G
(Windows/Linux)
- Or click the Commit Sage icon in the Source Control view
- Wait for the AI to analyze changes and generate a message
- Review and edit the message if needed
- Commit as usual
Requirements
- VSCode 1.93.0 or higher
- Git installed and configured
- Internet connection (except for Ollama)
- API key for OpenAI/Codestral (if using those providers)
License
MIT
Support
If you encounter any issues or have suggestions, please open an issue.
Commit Sage (на русском)
Commit Sage - расширение VSCode для автоматической генерации сообщений коммитов с использованием Gemini AI от Google, Codestral API или OpenAI API (OpenAI, Ollama, LocalAI и другие).
Установка
- Установите из VS Code Marketplace
- Получите API ключ:
- Настройте ключ в VS Code:
- Откройте палитру команд (Ctrl+Shift+P / Cmd+Shift+P)
- Введите "Commit Sage: Set Gemini API Key", "Commit Sage: Set Codestral API Key" или "Commit Sage: Set Custom API Key"
- Введите ваш API ключ
Использование
- Добавьте изменения в Git (git add)
- Откройте палитру команд (Ctrl+Shift+P / Cmd+Shift+P)
- Введите "Commit Sage: Generate Commit Message"
- Проверьте и подтвердите сгенерированное сообщение
Настройка
Все настройки доступны через:
- Палитра команд → "Preferences: Open Settings (UI)"
- Поиск "Commit Sage"
Конфигурация проекта (.commitsage)
Вы можете переопределить настройки расширения для отдельных проектов, создав файл .commitsage
в корне проекта. Это позволяет разным проектам иметь разные провайдеры ИИ, форматы коммитов или другие настройки.
Создание конфигурации проекта
- Откройте палитру команд (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Выполните "Commit Sage: Create Project Configuration (.commitsage)"
- Отредактируйте созданный файл с настройками для вашего проекта
Пример файла .commitsage:
{
"provider": {
"type": "gemini"
},
"commit": {
"commitLanguage": "russian",
"commitFormat": "conventional",
"autoCommit": false,
"autoPush": false
},
"gemini": {
"model": "gemini-1.5-flash"
},
"telemetry": {
"enabled": false
}
}
Приоритет настроек
Настройки загружаются в следующем порядке (более высокий приоритет переопределяет низкий):
- Настройки проекта (файл
.commitsage
) - Наивысший приоритет
- Настройки рабочей области VS Code - Средний приоритет
- Глобальные настройки VS Code - Низший приоритет
Примечания
- Файл
.commitsage
автоматически отслеживается на изменения
- Неверный JSON синтаксис покажет уведомление об ошибке
- API ключи по-прежнему управляются через защищенное хранилище VS Code (не хранятся в файлах проекта)
- Вы можете переопределить любую настройку, доступную в конфигурации расширения
Поддержка