run-tests-after-changes — хук для Claude Code: что делает и установка
Хук запускает быстрые тесты через npm run test:quick сразу после того, как Claude Code редактирует файл в проекте. Помогает поймать поломки до коммита.
npx claude-code-templates@latest --hook post-tool/run-tests-after-changesЧто делает run-tests-after-changes
Хук перехватывает событие PostToolUse для инструмента Edit. Как только агент заканчивает правку файла, хук проверяет корень проекта. Ему нужен package.json. Если файл на месте, хук в фоновом режиме запускает команду npm run test:quick --silent >/dev/null 2>&1.
Результат выводится прямо в терминал. Успешный прогон возвращает сообщение ✅ Tests passed. Если тесты упали или завершились с ошибкой, агент выведет предупреждение ⚠️ Tests may need attention. Хук скрывает стандартный вывод npm, чтобы не забивать контекст лишним текстом.
Если в репозитории нет файла package.json или в нём отсутствует скрипт test:quick, хук сразу выдаст предупреждение. Поэтому перед добавлением хука важно прописать быструю команду запуска тестов в скриптах проекта.
Какие задачи решает
- проверять целостность кодовой базы после каждого изменения файлов
- отлавливать регрессии во время генерации кода
- запускать быстрые тесты без ручного ввода команды в консоли
- экономить контекст агента за счёт скрытия стандартного вывода тестов
Примеры запросов агенту
- Исправь валидацию email в файле
src/auth.tsи сохрани изменения - Отрефактори функцию расчёта скидки в
src/pricing.js - Добавь обработку пустых значений в
src/parser.ts
Как установить run-tests-after-changes
1Через claude-code-templates
npx claude-code-templates@latest --hook post-tool/run-tests-after-changes2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о run-tests-after-changes
Как установить run-tests-after-changes в Claude Code?
Выполните команду npx claude-code-templates@latest --hook post-tool/run-tests-after-changes в терминале. Также конфигурацию хука можно сохранить в файл .claude/settings.json.
Что делает хук run-tests-after-changes?
Хук отслеживает вызовы инструмента Edit и сразу выполняет команду npm run test:quick. После этого он сообщает, прошли тесты успешно (✅ Tests passed) или требуют внимания (⚠️ Tests may need attention).
Какой скрипт должен быть в package.json для работы хука?
В секции scripts файла package.json должен быть определён скрипт test:quick. Если этого скрипта нет или проект не содержит манифеста, хук всегда будет выводить предупреждение.
Исходный текст
run-tests-after-changes.json · MIT
{
"description": "Automatically run quick tests after code modifications to ensure nothing breaks. This hook executes 'npm run test:quick' silently after any Edit operation and provides feedback on test status. Helps catch breaking changes immediately during development. Only runs if package.json exists and the test:quick script is available.",
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "if [[ -f package.json ]] && npm run test:quick --silent >/dev/null 2>&1; then echo '✅ Tests passed'; else echo '⚠️ Tests may need attention'; fi"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates