
Как научить AI писать коммиты по правилам вашего проекта, а не Conventional Commits по умолчанию
zzzkorn 2 часа назад Как научить AI писать коммиты по правилам вашего проекта, а не Conventional Commits по умолчанию Средний 10 мин 4.6K Git * Туториал Любой AI-инструмент умеет генерировать commit message. Проблема в...
GPT-5.6 31 Temmuz 2026'da yayınlanacak mı?
В сфере искусственного интеллекта произошло заметное событие. zzzkorn 2 часа назад Как научить AI писать коммиты по правилам вашего проекта, а не Conventional Commits по умолчанию Средний 10 мин 4. 6K Git * Туториал Любой AI-инструмент умеет генерировать commit message. Проблема в том, что он генерирует что-то разумное — но не то, что принято в вашем проекте: не знает ваш формат с тикетами, не вытаскивает номер задачи из ветки, не учитывает какие типы у вас разрешены.
В этой статье я покажу как один раз описать правила своего проекта так, чтобы AI следовал им предсказуемо — каждый раз. Основной пример на Claude Code, но паттерн и готовый скрипт переносятся на любой инструмент: Cursor, Copilot Chat, git hook с API-вызовом. Проблема, которую не решает commitlintCommitlint — отличный инструмент.
Технические детали
Он ловит коммиты неправильного формата и не даст смержить ветку с wip или асдф в истории. Но он не помогает их написать. Он говорит «неправильно» — и возвращает тебя к пустой строке.
Сформулировать правильное сообщение всё равно надо самому. В конце рабочего дня, когда ты только что пофиксил хитрый баг в маппере — это отдельная мыслительная задача после нескольких часов другой мыслительной работы. Поэтому даже в проектах с commitlint история нередко выглядит так:git log --oneline a3f1c2e fix: fixed 9bd04a1 feat: wip c782d3f refactor: changes 4e910bb fix: bug 2a33f0c chore: updateФормат формально соблюдён.
Вместо того что должно быть:git log --oneline a3f1c2e DEV-1677/feat(discrepancies): реализовать полнотекстовый поиск ТОРГ-2 9bd04a1 DEV-1676/feat(auth): добавить JWT-аутентификацию с mock-режимом для разработки c782d3f DEV-1704/fix(delivery): исправить фильтрацию поставок по статусу 4e910bb DEV-1698/refactor(etrn): упростить маппер статусов электронной накладной 2a33f0c DEV-1690/test(acceptance): добавить интеграционные тесты приёмкиКак я к этому пришёлПроблема не новая, решений много. Я прошёл через несколько:commitizen — первое что попробовал. Интерактивный wizard в консоли задаёт вопросы: тип?
Отраслевые последствия
Звучит удобно, но на практике замедляет: ты и так знаешь что хочешь написать, просто не хочешь думать о синтаксисе. Плюс под наш нестандартный формат с тикетом в префиксе он не гнётся без плясок с конфигом. Git hook + локальная LLM — видел статью на Хабре, попробовал.
Работает, но требует настройки на каждой машине и зависит от того, какая модель стоит локально. При смене ноутбука надо всё поднимать заново. IDE плагины (JetBrains AI, GitLens) — кнопка "Generate commit message" есть.
Жмёшь — получаешь что-то вроде feat: update delivery service. Формат проекта не знает, тикет не вытаскивает, каждый раз дописываешь руками.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





