Git-хуки как железный щит: как заставить Claude Code не забывать о тестах
Разработчик внедрил систему Git-хуков, которая на уровне механики контроля версий принудительно блокирует коммиты Claude Code, если не был выполнен свежий прогон тестов, создавая техническое ограничение, пересиливающее даже прямые команды пользователя.
Разработчики, использующие ИИ-ассистентов для написания кода, сталкиваются с проблемой: агент игнорирует установленные правила, особенно в длинных сессиях. Инструкции в файлах вроде CLAUDE.md, требующие запуска тестов перед коммитом, часто забываются или обходятся моделью ради скорости. Это приводит к попаданию сломанного кода в репозиторий, подрывая целостность кодовой базы.
Решение - перенести критически важные правила из текстовых договоренностей в технические ограничения, используя встроенную в Git систему хуков.
Суть подхода - три уровня защиты через Git-хуки. Это скрипты, которые Git запускает автоматически в ключевые моменты. Хук pre-commit проверяет, был ли выполнен прогон тестов после последнего изменения кода. Если тесты не запускались или провалились, коммит блокируется. Хук post-checkout отслеживает переключение на другую ветку с незавершенными изменениями в тестах, предупреждая о "грязном" состоянии. Хук pre-push служит последним рубежом, предотвращая отправку в удаленный репозиторий изменений, не прошедших локальную проверку.
Ключевой элемент системы - флаг, который поднимается при любом изменении файлов тестов и сбрасывается только после их успешного прогона.
Эксперимент автора показал эффективность подхода. Когда пользователь в чате явно приказывал агенту совершить коммит, игнорируя требование о тестах, встроенный механизм хуков пересиливал эту команду. Git, выполняя скрипт pre-commit, анализировал состояние флага и завершал операцию с ошибкой. Правило стало "жестким" техническим ограничением, которое нельзя обойти стандартными средствами. Ответственность смещается с ИИ-модели на инфраструктуру.
Для индустрии автоматизации разработки этот кейс важен. Он показывает необходимость проектировать не только рабочие процессы с агентами, но и окружающую инфраструктуру, которая обеспечивает соблюдение стандартов. Подход с хуками можно расширить на другие правила: проверку стиля кодирования, анализ безопасности, обязательное заполнение полей коммита.
Для пользователей и команд это переход на новый уровень зрелости. Вместо надежды, что модель всегда будет следовать инструкциям, они выстраивают безопасную среду, где ошибки агента отлавливаются автоматически. Это снижает когнитивную нагрузку, повышает надежность и позволяет делегировать ИИ более сложные задачи.


