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

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

Хук проверяет наличие свежей спецификации перед изменением кода и показывает предупреждение, если .spec.md не найден.

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

Что делает plan-gate

plan-gate срабатывает перед операциями Edit, MultiEdit и Write в Claude Code. Скрипт ищет в каталоге проекта файлы .spec.md, созданные за последние 14 дней. Если свежей спецификации нет, хук предлагает сначала подготовить её.

Проверка не блокирует работу: команда завершается с кодом 0, поэтому предупреждение остаётся напоминанием, а не жёстким ограничением. Хук рассчитан на 16 языков программирования и относится к методологии Spec-Driven Development, где реализация опирается на утверждённую спецификацию.

При установке скрипт plan-gate.sh размещается в .claude/hooks/plan-gate.sh с правом на выполнение. В конфигурации используются вызовы через bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/plan-gate.sh. Это значит, что без свежего .spec.md агент всё равно сможет изменить файл, но сначала покажет предупреждение.

Какие задачи решает

  • проверить наличие свежей .spec.md перед изменением кода
  • предупредить агента о работе без утверждённой спецификации
  • напомнить о подготовке плана перед реализацией
  • контролировать операции Edit, MultiEdit и Write

Примеры запросов агенту

  • Измени production-код в src/app.ts и учти свежую спецификацию проекта.
  • Создай файл src/payment.py, но сначала проверь, есть ли подходящий .spec.md.
  • Обнови несколько файлов через MultiEdit и покажи предупреждение, если спецификация устарела.

Как установить plan-gate

1Через claude-code-templates

npx claude-code-templates@latest --hook quality-gates/plan-gate

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

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о plan-gate

Как установить plan-gate в Claude Code?

Выполните npx claude-code-templates@latest --hook quality-gates/plan-gate, затем настройте .claude/settings.json.

Что делает plan-gate?

Хук проверяет свежие файлы .spec.md перед операциями Edit, MultiEdit и Write. При отсутствии подходящей спецификации он показывает предупреждение.

Блокирует ли plan-gate изменение кода без спецификации?

Нет. Хук завершается с кодом 0, поэтому продолжает работу как напоминание, а не как жёсткий запрет.

Исходный текст

plan-gate.json · MIT
{
  "description": "Planning gate that warns when editing production code without an approved specification. Checks for recent .spec.md files in the project directory (last 14 days). If no spec is found, shows a warning suggesting to create one first. Non-blocking (exit 0) — acts as a reminder, not a hard gate. Supports 16 programming languages. Part of the Spec-Driven Development (SDD) methodology where every implementation should be backed by an approved specification.",
  "supportingFiles": [
    {
      "source": "plan-gate.sh",
      "destination": ".claude/hooks/plan-gate.sh",
      "executable": true
    }
  ],
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/plan-gate.sh"
          }
        ]
      },
      {
        "matcher": "MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/plan-gate.sh"
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/plan-gate.sh"
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Похожие хуки

Все хуки по теме «Настройка агента: память, контекст, субагенты» →

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

Весь набор →
desktop-notification-on-stop Хук показывает уведомление на рабочем столе, когда Claude Code заканчивает ответ. Пригодится, если вы переключаетесь в другое окно и ждёте продолжения. 211установок langsmith-tracing Отправляет трейсы диалогов Claude Code в LangSmith для мониторинга и отладки сессий. Срабатывает автоматически в фоне после каждого ответа модели. 204установок tdd-gate Хук блокирует правку production-файлов, пока рядом нет теста. Пригодится, если хотите удержать TDD в работе с агентом. 192установок debug-window Открывает окно с живым хвостом лога отладки, когда Claude запущен с флагом --debug или -d, и закрывает его по концу сессии. 189установок force-push-blocker Блокирует попытки Claude Code отправить изменения в Git с флагами принудительной перезаписи истории. 167установок console-log-cleaner Хук ищет вызовы console. при редактировании JavaScript- и TypeScript-файлов в production-ветках. Помогает заметить отладочный вывод до слияния изменений. 165установок change-logger Хук пишет каждое изменение файла в CSV: время, инструмент, путь, действие и детали. Пригодится, когда готовишь демо и нужно показать, что именно агент трогал. 163установок subagent-read-only-guard Хук PreToolUse запрещает субагентам Claude Code менять файлы и выполнять небезопасные команды в терминале. 105установок

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

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