scope-guard — хук для Claude Code: что делает и как установить
Хук для Claude Code предупреждает о правках файлов, не вошедших в спецификацию задачи.
npx claude-code-templates@latest --hook quality-gates/scope-guardЧто делает scope-guard
Хук отслеживает файлы, которые агент меняет в ходе работы, и сверяет их со спецификацией. Когда в проекте есть файл .spec.md с разделом «Files to Create/Modify», скрипт сопоставляет список правок из Git с объявленным перечнем.
Если Claude Code изменил файлы не из этого списка, хук выдаёт предупреждение. Проверка не блокирует выполнение задач насовсем, а лишь сигнализирует о выходе за границы задачи. Тесты, файлы конфигурации, документацию и инфраструктурные конфиги хук исключает из проверки автоматически.
Скрипт scope-guard.sh срабатывает на событии Stop перед завершением хода. Для работы хука требуется инициализированный Git-репозиторий, потому что иначе скрипт не сможет получить список изменённых файлов.
Какие задачи решает
- удержать ИИ-агента в рамках файлов, описанных в ТЗ
- выявить непреднамеренные правки вне рабочей зоны задачи
- защитить кодовую базу от разрастания скоупа при Spec-Driven Development
Примеры запросов агенту
- Реализуй спецификацию auth.spec.md и не меняй файлы за её пределами
- Проверь, соответствуют ли текущие изменения разделу Files to Create/Modify в task.spec.md
Как установить scope-guard
1Через claude-code-templates
npx claude-code-templates@latest --hook quality-gates/scope-guard2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о scope-guard
Как установить scope-guard в Claude Code?
Выполните команду npx claude-code-templates@latest --hook quality-gates/scope-guard. Она загрузит скрипт в .claude/hooks/scope-guard.sh и обновит .claude/settings.json.
Что делает scope-guard?
Он сверяет изменённые через Git файлы со списком из раздела «Files to Create/Modify» в файле .spec.md. При выходе за рамки хук выводит предупреждение.
Блокирует ли scope-guard работу агента при обнаружении лишних файлов?
Нет, предупреждение не является блокирующим. Хук автоматически пропускает файлы тестов, конфигурации, инфраструктуры и документации.
Исходный текст
scope-guard.json · MIT
{
"description": "Scope guard that detects files modified outside the declared scope of a specification. When a .spec.md file contains a 'Files to Create/Modify' section, this hook compares git-modified files against the declared list. Files outside scope trigger a warning (non-blocking). Automatically excludes test files, config files, infrastructure files, and documentation. Essential for Spec-Driven Development to prevent scope creep during implementation.",
"supportingFiles": [
{
"source": "scope-guard.sh",
"destination": ".claude/hooks/scope-guard.sh",
"executable": true
}
],
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/scope-guard.sh"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates