Перейти к содержанию

Claude Code

config-drift-checker тестирует настройки Claude Code

4 мин чтения

Текст написан ИИ-моделью по источникам, на которые ведут ссылки, и сверен с ними второй моделью. Как мы работаем

Всё о теме: Claude Code: версии и изменения →

Автор под ником jameskomo выложил config-drift-checker, открытый плагин для Claude Code. Плагин прогоняет CLAUDE.md, навыки и хуки проекта на каждой новой версии Claude Code и делает проверку в CI красной, как только что-то из этого перестаёт работать. В первом же прогоне на небольшом сервисе на Spring Boot он показал, сколько на самом деле стоит каждая часть настройки: без защитного хука опасная команда блокировалась с оценкой 0,33, с хуком - 1,00.

Инструмент описан на странице проекта на Github от 31 августа. Исходная мысль автора: «Ваша настройка Claude Code - это код. Никто её не тестирует». Работает всё в вашем собственном GitHub Actions и на вашем API-ключе, из репозитория ничего не уходит.

Как устроен прогон

Ставится плагин двумя командами: claude plugin marketplace add jameskomo/config-drift-checker и claude plugin install config-drift-checker@jameskomo. Дальше внутри Claude Code вызывается /config-drift-checker:setup, и плагин читает то, что у вас уже есть: CLAUDE.md, навыки и хуки.

Из них он пишет первые тестовые сценарии. В наборе по умолчанию три типа: реальная правка вашего кода, запрос, который не должен будить навык, и команда, которую обязан заблокировать защитный хук. Каждый сценарий выполняется несколько раз в одноразовой копии репозитория с загруженным плагином, причём запускается настоящий агент. Каждый проверяющий модуль записывает вердикт и причину, а модель-судья объясняет словами, что увидела.

За релизами следит небольшая задача, которая раз в шесть часов проверяет npm. Когда выходит новая версия Claude Code, набор прогоняется на ней и сравнивается с эталонным прогоном. Если результат сдвинулся, проверка краснеет; уведомление можно отправлять и в Slack. В демо это выглядит как пул-реквест после Claude Code 2.1.248, где один сценарий откатился относительно эталона, а полный отчёт лежит в артефакте eval-report: каждый прогон, каждый проверяющий, вызовы инструментов и ответ модели.

Двигаться есть чему. Позже, 16 октября, версия 2.1.301 изменила поведение хуков: prompt- и agent-хуки теперь выполняются не больше 12 на одно событие одновременно, остальные ждут очереди, следует из журнала изменений Claude Code. Такое обновление ставится само, и сценарии с хуками на нём бы перезапустились.

Если сценарии уже есть или нужна только проверка в существующем пайплайне, хватает одного шага: uses: jameskomo/config-drift-checker/action@v0. Сценарии пишутся в формате самой Anthropic, claude plugin eval, поэтому, по словам автора, учить чужое нечего и мигрировать потом тоже не с чего.

Платная обвязка

Плагин и Action остаются бесплатными. Хостинг предназначен командам, у которых много репозиториев: история по всем репозиториям и версиям Claude Code, график оценок по релизам, слежение за релизами без GitHub Actions и тот же набор на Codex и Cursor. Прогоны агентов при этом всё равно списываются с вашего API-ключа. «Вы платите нам за цикл вокруг них, но никогда за модель», - формулирует автор.

  • Starter, 49 долларов в месяц: один репозиторий, история за 90 дней, только Claude Code, отчёт по каждому прогону, вход через GitHub.
  • Team, 149 долларов: 10 репозиториев, история за год, Claude Code, Codex и Cursor, плюс абляционный отчёт о том, сколько стоит каждый навык, доступ для GitHub-организации.
  • Business, 399 долларов: без лимита на репозитории и историю, проверка релизов чаще, меньше чем за час, вместо шести часов, экспорт аудита по срабатыванию хуков, SAML и приватный раннер.

Первым командам набор сценариев обещают написать вместе с ними, а бету дают по цене Starter.

Что нашлось в первый день

Таблицу с Spring Boot автор строит на сравнении: одни и те же сценарии запускались с подключённой настройкой команды и без неё, по три прогона на сценарий. Разница и показывает, что именно делает каждая часть настройки. В хостинге такой разбор, абляция, начинается только с тарифа Team.

  • Хук должен заблокировать git reset --hard: 1,00 с настройкой против 0,33 без неё. Без хука команда обычно выполняется, так что хук реально работает.
  • Добавить эндпоинт через сервис, DTO и контроллер: 1,00 против 0,50. Навык с соглашениями команды меняет то, каким выходит код, и его советуют оставить.
  • Запрос про Dockerfile не должен будить навык для бэкенда: 1,00 в обоих случаях. Лишних срабатываний нет, чинить нечего.

Отчёт показывает каждый прогон, каждый проверяющий модуль и объяснение судьи, поэтому сама оценка остаётся лишь началом разбора. Зачем это нужно, автор объясняет на раннем случае: тест хука однажды прошёл, потому что модель сама отказалась выполнять команду ещё до того, как хук сработал. «Оценка та же, причина другая», - пишет он. С тех пор отчёт хранит причины.

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите, чтобы оставить комментарий. Он появится после модерации.