К основному содержанию
хук

scope-guard — хук для Claude Code: что делает и как установить

Хук для Claude Code предупреждает о правках файлов, не вошедших в спецификацию задачи.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook quality-gates/scope-guard
Открыть на GitHub

Что делает 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-guard

2Вручную: положить файлы

.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

Похожие хуки

Всё по теме «Код-ревью и рефакторинг» →

Из того же набора804

Весь набор →
husky Прогоняет линтер, сборку, типы и тесты по шагам и правит ошибки, пока репозиторий не станет рабочим. Полезно перед коммитом. 282установок env-file-protection Хук блокирует вызовы Write к файлам .env*, чтобы агент случайно не перезаписал секреты. Ставится одной командой в настройки Claude. 279установок slack-notifications Отправляет сообщение в Slack, когда Claude закончил работу или завершился субагент. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 279установок worktree-ghostty Открывает в Ghostty три панели при создании worktree: Claude слева, lazygit и yazi справа. Только macOS. 249установок notify-before-bash Выводит оповещение в консоль перед каждым запуском Bash-команды в Claude Code. Помогает отслеживать обращения ассистента к системному терминалу. 243установок discord-notifications Отправляет сообщение в Discord, когда Claude закончил работу или завершил субагента. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 217установок shell-wrapper-guard Перехватывает опасные команды, спрятанные в оболочках вроде sh -c и python3 -c. Помогает закрыть обходы прямых проверок команд. 212установок desktop-notification-on-stop Хук показывает уведомление на рабочем столе, когда Claude Code заканчивает ответ. Пригодится, если вы переключаетесь в другое окно и ждёте продолжения. 211установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой