Комментарии 6
так то хуки существуют наравне с гитом - сам всю сознательную жизнь их юзаю, сначала по работе а потом как то втянулся везде
а в рамках AI - как по мне позволять комиттить агенту это худшее решение. Он сделал, ты сам просмотрел, проверил и знакомитил проконтролировал что ушло и что изменилось.
агенты иногда такую чушь порят что в процессе вычитки еше на столько же времени правок уйдет что бы уменьшить итоговое количество изменений в половину. А ведь они еще и херни сотворить могут - скажешь ему не меняй ничего дальше конкретной папки и конкретного коммита, а он возьмёт и ребайзнет изменения прошлым числом. И именно такой кейс отследить можно только читая поток процесса что он пишет внимательно (понимая что он пишет) или если коммитов не много, ветка одна и ты понимаешь что ранее тут не было такого функционала.
относительно текста коммитов - так же сомнительно. Хотя для задач где вообще плевать и красивый коммит будет плюсом то неронка спасет, но в остальном комитты в первую очередь для себя самого пишутся, а не какая-то глупая обязаловка на работе.
скил не коммитит и не пушит — он генерирует строку текста которую вы вставляете сами, контроль полностью ваш
относительно текста коммитов - так же сомнительно. Хотя для задач где вообще плевать и красивый коммит будет плюсом то неронка спасет, но в остальном комитты в первую очередь для себя самого пишутся, а не какая-то глупая обязаловка на работе.
Коммиты для себя — окей, пока ты один и помнишь что делал. Но приходишь через полгода, смотришь git blame и видишь fix: fixed. Что фиксил? Зачем? Уже не помнишь. Идёшь копать Jira.
Или онбординг: новый человек читает историю чтобы понять как рос модуль — видит feat: wip, feat: wip 2, fix: fix. Это не история, это мусор. Нормальные коммиты — это документация которую не надо писать отдельно.
Ну и git bisect — ищешь где сломалось, бинарный поиск по истории. С осмысленными коммитами понимаешь что смотреть. С fix: bug — чекаутишь вслепую и угадываешь.
«Для себя» — это и есть аргумент за хорошие коммиты, а не против. Себе через полгода тоже скажешь спасиб
вот про это я и говорю что для себя. Сначала пишется fix: fixed а потом "кто ж так коммиты пишет что ничего не понятно"
за копипаст - есть прям плагины для jetbrains что добавляют кнопку в окно коммита и можно даже без копипастом генерить нажатием по фактическим измененниям только
юмор в том что вы сами в моменте знаете что это был фикс проблемы которая вылезла при расширении диапазона, а нейронка вам напишет что был расширен диапазон, включая зависимости. То есть через пол года другая команда придет с вопросом почему у них падает и вы по коммитам не сможете увидеть что была такая проблема.
Согласен — нейронка видит diff, но не знает что за ним стоит. Баг в проде, звонок от клиента, edge case который три часа искали — этот контекст есть только у вас в голове. Она напишет «расширен диапазон», а не «исправлена ошибка при выходе за границы диапазона». И коммит с неправильным «почему» через полгода введёт в заблуждение так же как отсутствие коммита вообще.
Но в статье есть пример именно про это, просто он подан не так явно.
> перефразируй, акцент на том что mock только для dev-окружения
DEV-1676/feat(auth): добавить JWT с автоматическим mock-режимом вне productionИтерация перефразирет, акцент на том что mock только для dev-окружения — это не про красоту формулировки. Это про то что вы даёте контекст который не видно из diff, а инструмент упаковывает его в нужный формат. Схема не «нейронка угадывает почему» — а «вы знаете почему, говорите это одной фразой, получаете готовый коммит». Понимание остаётся у вас, рутина уходит.
Скил не заменяет мышление — он убирает механику. Тикет из ветки, правильный тип, строчная буква, без точки — это то что неудобно держать в голове каждый раз именно потому что вы в этот момент думаете о содержании, а не о синтаксисе.
Про плагины JetBrains — справедливо, они тоже закрывают часть задачи. Но встроенный плагин не знает ваш формат с тикетом в префиксе — и не научишь без кастомного промпта который надо прописывать на каждой машине отдельно. Скил живёт в репозитории, подхватывается при клоне, работает одинаково у всей команды и переносится на любой инструмент — Cursor, хук, API-вызов — из коробки.
Спасибо за наводку! Попробую у себя поиспользовать.

Как научить AI писать коммиты по правилам вашего проекта, а не Conventional Commits по умолчанию