build-on-change — хук для Claude Code: что делает и как установить
Запускает сборку проекта сразу после того, как Claude Code редактирует файл. Распознаёт конфигурации npm, yarn, make, cargo, maven и gradle.
npx claude-code-templates@latest --hook automation/build-on-changeЧто делает build-on-change
Хук срабатывает на событие PostToolUse при вызове инструмента Edit. Как только Claude Code заканчивает редактирование файла, запускается shell-скрипт прямо в каталоге проекта.
Команда последовательно проверяет конфигурацию репозитория. Если в package.json объявлен скрипт build, запускается npm run build или yarn build. При отсутствии манифеста Node.js скрипт ищет Makefile (команда make), Cargo.toml (cargo build), pom.xml (mvn compile) или build.gradle (./gradlew build).
Ошибки компилятора перенаправляются в 2>/dev/null с возвратом true. Из-за этого сбой сборки не прерывает сессию и не передаёт лог ошибки обратно агенту.
Какие задачи решает
- компилировать проект сразу после правок файлов агентом
- собирать Rust-код через cargo без переключения в терминал
- запускать пересборку frontend-бандла после редактирования компонентов
- прогонять make или gradle автоматически при изменении кода
Примеры запросов агенту
- Обнови типы данных в файле
src/index.ts - Добавь обработчик ошибок в модуль
src/main.rs
Как установить build-on-change
1Через claude-code-templates
npx claude-code-templates@latest --hook automation/build-on-change2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о build-on-change
Как установить build-on-change в Claude Code?
Выполните команду npx claude-code-templates@latest --hook automation/build-on-change либо вручную добавьте конфигурацию хука в .claude/settings.json.
Какие инструменты сборки поддерживает хук build-on-change?
Скрипт проверяет наличие package.json (запуск через npm или yarn), Makefile, Cargo.toml, pom.xml и build.gradle.
Что произойдёт, если сборка завершится с ошибкой?
Команда глушит ошибки выводом в /dev/null и завершается с кодом true, поэтому Claude Code продолжит работу без прерывания.
Исходный текст
build-on-change.json · MIT
{
"description": "Automatically trigger build processes when source files change. Detects common build tools and runs appropriate build commands.",
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "if [[ -f package.json ]] && grep -q '\"build\"' package.json; then npm run build 2>/dev/null || yarn build 2>/dev/null || true; elif [[ -f Makefile ]]; then make 2>/dev/null || true; elif [[ -f Cargo.toml ]]; then cargo build 2>/dev/null || true; elif [[ -f pom.xml ]]; then mvn compile 2>/dev/null || true; elif [[ -f build.gradle ]]; then ./gradlew build 2>/dev/null || true; fi"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates