{"id":32126269,"url":"https://github.com/vizzletf/commitsage","last_synced_at":"2026-02-24T11:11:12.201Z","repository":{"id":254513464,"uuid":"846769268","full_name":"VizzleTF/CommitSage","owner":"VizzleTF","description":"Commit Sage is a VSCode extension that automatically generates commit messages","archived":false,"fork":false,"pushed_at":"2025-10-20T12:26:01.000Z","size":6297,"stargazers_count":23,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T14:28:10.839Z","etag":null,"topics":["ai","gemini","git","git-message","llm","openai","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=VizzleTF.geminicommit","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VizzleTF.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-23T23:19:00.000Z","updated_at":"2025-10-20T12:25:58.000Z","dependencies_parsed_at":"2024-12-15T10:26:18.729Z","dependency_job_id":"aed6f57d-681f-4d51-905c-c8092c2fc7e3","html_url":"https://github.com/VizzleTF/CommitSage","commit_stats":null,"previous_names":["vizzletf/vscode-autommit","vizzletf/geminicommit","vizzletf/commitsage"],"tags_count":107,"template":false,"template_full_name":null,"purl":"pkg:github/VizzleTF/CommitSage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VizzleTF%2FCommitSage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VizzleTF%2FCommitSage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VizzleTF%2FCommitSage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VizzleTF%2FCommitSage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VizzleTF","download_url":"https://codeload.github.com/VizzleTF/CommitSage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VizzleTF%2FCommitSage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280178742,"owners_count":26285952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","gemini","git","git-message","llm","openai","vscode","vscode-extension"],"created_at":"2025-10-20T23:39:57.765Z","updated_at":"2026-02-07T22:12:10.037Z","avatar_url":"https://github.com/VizzleTF.png","language":"TypeScript","readme":"# Commit Sage (formerly GeminiCommit)\n\n\u003cimg alt=\"Visual Studio Marketplace Version\" src=\"https://img.shields.io/visual-studio-marketplace/v/VizzleTF.geminicommit\"\u003e \u003cimg alt=\"Visual Studio Marketplace Last Updated\" src=\"https://img.shields.io/visual-studio-marketplace/last-updated/VizzleTF.geminicommit\"\u003e \u003cimg alt=\"Visual Studio Marketplace Installs\" src=\"https://img.shields.io/visual-studio-marketplace/i/VizzleTF.geminicommit\"\u003e \u003cimg alt=\"Visual Studio Marketplace Rating\" src=\"https://img.shields.io/visual-studio-marketplace/stars/VizzleTF.geminicommit\"\u003e [![Ask DeepWiki](deepwiki.png)](https://deepwiki.com/VizzleTF/CommitSage)\n\nCommit Sage is a VSCode extension that automatically generates commit messages using various AI providers:\n- Gemini (default, requires API key, free)\n- OpenAI (requires API key or compatible provider)\n- Codestral (requires API key, free)\n- Ollama (local, free)\n\n![Commit Sage in action](example.gif)\n\n## Features\n\n- 🤖 AI-powered commit message generation\n- 🔄 Auto model selection for Gemini (tries available models until success)\n- 🌍 Multiple language support (English, Russian, Chinese, Japanese, Spanish)\n- 📝 Various commit formats (Conventional, Angular, Karma, Semantic, Emoji, EmojiKarma)\n- 🔄 Smart handling of staged/unstaged changes\n- 🚀 Auto-commit and auto-push capabilities\n- 🎯 Custom instructions support\n- ⚡ Fast and efficient processing\n\n## Configuration\n\nGet your API key:\n   - For Gemini: Get it from [Google AI Studio](https://makersuite.google.com/app/apikey)\n   - For Codestral: [Mistral AI Console](https://console.mistral.ai/codestral)\n   - For custom endpoint: Use your OpenAI API key or other compatible service\n\n### AI Provider Settings\n\n- **Provider Selection** (`commitSage.provider.type`):\n  - Choose between: `gemini`, `openai`, `codestral`, `ollama`\n  - Default: `gemini`\n\n- **Gemini Settings**:\n  - Model (`commitSage.gemini.model`): \n    - Options: `auto`, `gemini-2.0-pro-exp`, `gemini-2.0-flash`, `gemini-2.0-flash-exp`, `gemini-2.0-flash-thinking-exp`, `gemini-2.0-flash-lite`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite`\n    - Default: `gemini-2.0-flash`\n  - **Auto Mode** (`auto`):\n    - Automatically fetches the list of available Gemini models from the API\n    - Tries each model sequentially until one succeeds\n    - Useful when you don't want to manually update model names or when specific models are unavailable\n    - Provides maximum reliability by automatically switching to working models\n\n- **OpenAI Settings**:\n  - Model (`commitSage.openai.model`): Default `gpt-3.5-turbo`\n  - Base URL (`commitSage.openai.baseUrl`): For custom endpoints/Azure\n\n- **Codestral Settings**:\n  - Model (`commitSage.codestral.model`):\n    - Options: `codestral-2405`, `codestral-latest`\n    - Default: `codestral-latest`\n\n- **Ollama Settings**:\n  - Base URL (`commitSage.ollama.baseUrl`): Default `http://localhost:11434`\n  - Model (`commitSage.ollama.model`): Default `llama3.2`\n\n### Commit Settings\n\n- **Language** (`commitSage.commit.commitLanguage`):\n  - Options: `english`, `russian`, `chinese`, `japanese`, `spanish`\n  - Default: `english`\n\n- **Format** (`commitSage.commit.commitFormat`):\n  - Options: `conventional`, `angular`, `karma`, `semantic`, `emoji`, `emojiKarma`, `google`, `atom`\n  - Default: `conventional`\n\n- **Staged Changes** (`commitSage.commit.onlyStagedChanges`):\n  - When enabled: Only analyzes staged changes\n  - When disabled: \n    - Uses staged changes if present\n    - Uses all changes if no staged changes\n  - Default: `false`\n\n- **Auto Commit** (`commitSage.commit.autoCommit`):\n  - Automatically commits after message generation\n  - Default: `false`\n\n- **Auto Push** (`commitSage.commit.autoPush`):\n  - Automatically pushes after auto-commit\n  - Requires Auto Commit to be enabled\n  - Default: `false`\n\n- **References** (`commitSage.commit.promptForRefs`):\n  - Prompts for issue/PR references\n  - Default: `false`\n\n### Custom Instructions\n\n- **Enable** (`commitSage.commit.useCustomInstructions`):\n  - Default: `false`\n\n- **Instructions** (`commitSage.commit.customInstructions`):\n  - Custom prompt instructions\n  - Used when enabled\n\n### Telemetry\n\n- **Enable** (`commitSage.telemetry.enabled`):\n  - Collects anonymous usage data\n  - Default: `true`\n\n## Project Configuration (.commitsage)\n\nYou 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.\n\n### Creating Project Configuration\n\n1. Open Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`)\n2. Run \"Commit Sage: Create Project Configuration (.commitsage)\"\n3. Edit the generated file with your project-specific settings\n\n### Example .commitsage file:\n\n```json\n{\n  \"provider\": {\n    \"type\": \"gemini\"\n  },\n  \"commit\": {\n    \"commitLanguage\": \"russian\",\n    \"commitFormat\": \"conventional\",\n    \"autoCommit\": false,\n    \"autoPush\": false\n  },\n  \"gemini\": {\n    \"model\": \"auto\"\n  },\n  \"telemetry\": {\n    \"enabled\": false\n  }\n}\n```\n\n### Settings Priority\n\nSettings are loaded in the following order (higher priority overrides lower):\n1. **Project settings** (`.commitsage` file) - Highest priority\n2. **VS Code workspace settings** - Medium priority  \n3. **VS Code global settings** - Lowest priority\n\n### Notes\n\n- The `.commitsage` file is automatically watched for changes\n- Invalid JSON syntax will show an error notification\n- API keys are still managed through VS Code's secure storage (not stored in project files)\n- You can override any setting available in the extension configuration\n\n## Usage\n\n1. Stage your changes in Git\n2. Press `Cmd+G` (Mac) / `Ctrl+G` (Windows/Linux)\n3. Or click the Commit Sage icon in the Source Control view\n4. Wait for the AI to analyze changes and generate a message\n5. Review and edit the message if needed\n6. Commit as usual\n\n## Requirements\n\n- VSCode 1.93.0 or higher\n- Git installed and configured\n- Internet connection (except for Ollama)\n- API key for OpenAI/Codestral (if using those providers)\n\n## License\n\nMIT\n\n## Support\n\nIf you encounter any issues or have suggestions, please [open an issue](https://github.com/VizzleTF/CommitSage/issues).\n\n---\n\n# Commit Sage (на русском)\n\nCommit Sage - расширение VSCode для автоматической генерации сообщений коммитов с использованием Gemini AI от Google, Codestral API или OpenAI API (OpenAI, Ollama, LocalAI и другие).\n\n## Установка\n\n1. Установите из [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=VizzleTF.commitsage)\n2. Получите API ключ:\n   - Для Gemini: [Google AI Studio](https://makersuite.google.com/app/apikey)\n   - Для Codestral: [Mistral AI Console](https://console.mistral.ai/codestral)\n   - Для других: Используйте ключ от OpenAI или другого совместимого сервиса\n3. Настройте ключ в VS Code:\n   - Откройте палитру команд (Ctrl+Shift+P / Cmd+Shift+P)\n   - Введите \"Commit Sage: Set Gemini API Key\", \"Commit Sage: Set Codestral API Key\" или \"Commit Sage: Set Custom API Key\"\n   - Введите ваш API ключ\n\n## Использование\n\n1. Добавьте изменения в Git (git add)\n2. Откройте палитру команд (Ctrl+Shift+P / Cmd+Shift+P)\n3. Введите \"Commit Sage: Generate Commit Message\"\n4. Проверьте и подтвердите сгенерированное сообщение\n\n## Настройка\n\nВсе настройки доступны через:\n- Палитра команд → \"Preferences: Open Settings (UI)\"\n- Поиск \"Commit Sage\"\n\n## Конфигурация проекта (.commitsage)\n\nВы можете переопределить настройки расширения для отдельных проектов, создав файл `.commitsage` в корне проекта. Это позволяет разным проектам иметь разные провайдеры ИИ, форматы коммитов или другие настройки.\n\n### Создание конфигурации проекта\n\n1. Откройте палитру команд (`Ctrl+Shift+P` / `Cmd+Shift+P`)\n2. Выполните \"Commit Sage: Create Project Configuration (.commitsage)\"\n3. Отредактируйте созданный файл с настройками для вашего проекта\n\n### Пример файла .commitsage:\n\n```json\n{\n  \"provider\": {\n    \"type\": \"gemini\"\n  },\n  \"commit\": {\n    \"commitLanguage\": \"russian\",\n    \"commitFormat\": \"conventional\",\n    \"autoCommit\": false,\n    \"autoPush\": false\n  },\n  \"gemini\": {\n    \"model\": \"auto\"\n  },\n  \"telemetry\": {\n    \"enabled\": false\n  }\n}\n```\n\n### Приоритет настроек\n\nНастройки загружаются в следующем порядке (более высокий приоритет переопределяет низкий):\n1. **Настройки проекта** (файл `.commitsage`) - Наивысший приоритет\n2. **Настройки рабочей области VS Code** - Средний приоритет\n3. **Глобальные настройки VS Code** - Низший приоритет\n\n### Примечания\n\n- Файл `.commitsage` автоматически отслеживается на изменения\n- Неверный JSON синтаксис покажет уведомление об ошибке\n- API ключи по-прежнему управляются через защищенное хранилище VS Code (не хранятся в файлах проекта)\n- Вы можете переопределить любую настройку, доступную в конфигурации расширения\n\n## Поддержка\n\n- [Telegram Канал](https://t.me/geminicommit) - Анонсы обновлений\n- [Telegram Группа](https://t.me/gemini_commit) - Обсуждения и поддержка сообщества\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvizzletf%2Fcommitsage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvizzletf%2Fcommitsage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvizzletf%2Fcommitsage/lists"}