AICommit2 — Ваш личный AI-ассистент для идеальных коммитов
Когда в последний раз вам приходилось ломать голову над формулировкой сообщения коммита? Согласитесь, описывать изменения — не самая творческая часть работы разработчика. AICommit2 решает эту проблему, превращая рутину в одно простое действие. Давайте разберёмся, почему этот инструмент стоит попробовать каждому, кто работает с Git или Jujutsu.
Что под капотом?
AICommit2 — это CLI-утилита на Node.js, которая анализирует изменения в вашем репозитории (через git diff или jj describe), отправляет их в выбранную AI-модель и получает осмысленное описание изменений. Поддерживаются:
- Git (основной вариант)
- Jujutsu (альтернативная система контроля версий)
Фишка проекта — поддержка множества AI-провайдеров:
# Пример настройки нескольких провайдеров
aicommit2 config set \
OPENAI.key="sk-..." \
ANTHROPIC.key="sk-..." \
GEMINI.key="your-key"
5 причин попробовать AICommit2
- Поддержка всех популярных AI — от ChatGPT и Claude до локальных моделей через Ollama
- Гибкая настройка — можно выбрать стиль сообщений (Conventional Commits или Gitmoji), язык и длину
- Интеграция с гитом — работает как через CLI, так и через prepare-commit-msg hook
- Параллельные запросы — можно одновременно опрашивать несколько моделей и выбирать лучший вариант
- Локализация — поддерживает сообщения на разных языках (включая русский через настройку locale)

Как это использовать?
Базовый сценарий предельно прост:
# Установка
npm install -g aicommit2
# Настройка API-ключа (хотя бы одного провайдера)
aicommit2 config set OPENAI.key=<your-key>
# Использование
git add .
aicommit2
Но настоящая магия начинается с продвинутых возможностей:
- Генерация нескольких вариантов — можно получить 3-5 разных формулировок и выбрать лучшую
- Кастомизация промптов — через systemPromptPath можно задать свои шаблоны для генерации
- Автоматический анализ кода — экспериментальная функция codeReview даёт рекомендации по улучшению
Особенности для Jujutsu
Для поклонников Jujutsu (jj) — приятная новость: AICommit2 автоматически определяет .jj репозитории и использует их API. Причём работает даже в смешанных репозиториях (где есть и .git, и .jj):
# Принудительное использование Git в смешанном репозитории
FORCE_GIT=true aicommit2
Под капотом: как это устроено
- Утилита анализирует изменения через
git diff --cachedилиjj describe - Отправляет diff в выбранные AI-модели (можно несколько параллельно)
- Получает ответ в строгом JSON-формате:
[{ "subject": "fix: исправление бага в аутентификации", "body": "- Обновлён механизм проверки токенов\n- Добавлены тесты для edge cases", "footer": "" }] - Показывает варианты пользователю (или автоматически выбирает, если модель одна)
- При подтверждении — создаёт коммит
Для кого это?
- Индивидуальные разработчики — сэкономит время на рутинных коммитах
- Команды — обеспечит единый стиль сообщений (особенно с Conventional Commits)
- Любители новых технологий — возможность экспериментировать с разными AI-моделями
- Поклонники Jujutsu — редкий инструмент с поддержкой этой VCS
Вывод: стоит ли пробовать?
AICommit2 — не революция, а продуманный инструмент для повседневных задач. Он особенно полезен:
- Если делаете много мелких коммитов
- Работаете в команде с требованиями к оформлению
- Хотите унифицировать стиль сообщений
- Любите экспериментировать с разными AI
Проект активно развивается (362 звезды на GitHub), имеет MIT-лицензию и поддерживается сообществом.
Попробуйте — и возможно, вопрос "Как назвать этот коммит?" навсегда исчезнет из вашей практики.
P.S. Для максимального эффекта рекомендую подключить через prepare-commit-msg hook — тогда AICommit2 будет запускаться автоматически при каждом
git commit.
