Git pre-commit hook предотвращает фиксацию изменений AI-агентами программирования с устаревшей документацией.

Проблема: AI-агенты для написания кода коммитят код с устаревшей документацией
При работе с AI-ассистентами для написания кода, такими как Claude Code, в течение нескольких сессий разработчики сталкиваются с конкретной проблемой: ИИ вносит изменения в код (добавляет маршруты, рефакторит компоненты, переименовывает элементы), но не обновляет файлы документации, такие как ARCHITECTURE.md и README. Это приводит к тому, что последующие сессии начинаются с того, что ИИ читает документацию, описывающую код недельной давности.
Последствия включают:
- Claude галлюцинирует имена функций, которых больше не существует
- Ссылается на API-эндпоинты, которые были переименованы
- Предлагает паттерны, противоречащие текущей архитектуре
Предупреждения не работают, потому что когда Claude делает коммит, никто не видит вывод stderr.
Решение: Блокирующий pre-commit hook
Разработчик создал Git pre-commit hook со следующим рабочим процессом:
- Хук знает, какие изменения файлов должны запускать обновление документации (настраиваемые паттерны для каждого проекта)
- Когда Claude Code делает коммит, хук обнаруживает это через переменные окружения
- Хук пропускает попытки автоматически исправить документацию (что вызвало бы взаимную блокировку из-за запуска Claude внутри Claude)
- Вместо этого он завершает работу с кодом 1 и выводит понятное сообщение: "документация устарела, обновите эти файлы, затем повторите попытку"
- Claude читает ошибку, обновляет документацию, повторяет коммит, и коммит проходит
Для коммитов, сделанных человеком, хук напрямую вызывает API Anthropic и исправляет соответствующие разделы (занимает примерно 20 секунд).
Каждый коммит генерирует файл session-context.md с кратким описанием недавней активности, чтобы следующая сессия имела преемственность.
Детали реализации
Инструмент доступен как npm-пакет: @mossrussell/agent-guard
Ключевые характеристики:
- Работает с Claude Code, Cursor, Windsurf и Copilot
- Нет зависимостей
- Доступен по адресу: https://www.npmjs.com/package/@mossrussell/agent-guard
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

LLMock: HTTP-сервер для мокинга, обеспечивающий детерминированное тестирование LLM между процессами
LLMock — это реальный HTTP-сервер, который мокает API OpenAI, Claude и Gemini, позволяя разработчикам запускать детерминированные тесты в нескольких процессах без обращения к реальным API. Он поддерживает SSE-стриминг, вызовы инструментов, предикатную маршрутизацию и журналирование запросов без зависимостей.

Инструмент Grape Root сокращает использование токенов кода Claude за счет кэширования контекста репозитория.
Бесплатный экспериментальный инструмент под названием Grape Root решает проблему избыточного потребления токенов в Claude Code, поддерживая легковесное состояние о ранее исследованных файлах репозитория, предотвращая ненужные повторные чтения неизмененных файлов при последующих запросах.

OpenObscure: Открытый локальный брандмауэр конфиденциальности для ИИ-агентов
OpenObscure — это открытый межсетевой экран для защиты приватности, работающий на устройстве и располагающийся между ИИ-агентами и провайдерами языковых моделей. Он использует FF1 Format-Preserving Encryption для шифрования персональных данных перед отправкой запроса с вашего устройства. Включает обнаружение PII с полнотой 99,7%, сканирование когнитивного межсетевого экрана и работает на macOS/Linux/Windows с поддержкой iOS/Android.

OpenSwarm: Многозадачный CLI-оркестратор Claude для Linear и GitHub
OpenSwarm координирует несколько экземпляров Claude Code CLI в качестве автономных агентов, которые получают задачи из Linear и запускают конвейеры Worker/Reviewer/Test/Documenter. Он использует LanceDB с мультиязычными эмбеддингами multilingual-e5 для памяти и включает управление через Discord-бота, автоматическое улучшение PR и веб-панель управления.