LUMIS scope guard
EN

Scope guard для агента-кодера — бесплатно

Вставьте то, чего продукт НЕ должен делать. Получите хук, который остановит вызов инструмента агента и назовёт границу, с конфигами для Claude Code, Cursor, Codex CLI, Devin Desktop (бывший Windsurf) и GitHub Copilot, конституцию и .cursorrules. Без аккаунта, без модели, за секунду.

Типовые заказы

Стартовый список для типового заказа с фиксированной ценой: один клик добавляет эти границы. Поправьте под договор.

Готовые границы — нажмите, чтобы добавить

Эти границы сверяются как текст: пакеты, пути и фразы. Границы вроде «никаких персональных данных в логах» или «никаких секретов в репозитории» текстом не проверить, поэтому их здесь нет (на секрет в вызове инструмента хук только предупреждает).

Без галочки push, публикация или деплой агента задерживаются для вас: запрос в Claude Code, Cursor и GitHub Copilot (его облачный агент считает запрос отказом), предупреждение в Codex CLI и Devin Desktop (бывший Windsurf). С галочкой хук отклоняет распознанные им команды push, публикации и деплоя (код выхода 2), а не спрашивает.

Для прогонов, за которыми никто не следит. Без галочки новая зависимость, push или запись вне проекта ждут вашего ответа в Claude Code, Cursor и Copilot CLI (ночью агент встаёт до утра), в облачном агенте Copilot отклоняются, а в Codex CLI и Devin Desktop (бывший Windsurf) проходят с предупреждением. С галочкой хук сразу отказывает с причиной во всех клиентах, агент может продолжить остальное, а report утром показывает, что было отклонено вместо вопроса. Вернуть обратно: python scripts/scope_guard.py unattended off.

По одному в строке, до 25 строк.

Что внутри

Что распаковывается в корень репозитория:

  • .lumis/scope_guard.json триггеры: пакеты, пути, ключевые слова, которые блокируют, — и слова, которые только предупреждают
  • .claude/settings.json конфиг хука · Claude Code
  • .cursor/hooks.json конфиг хука · Cursor
  • .codex/hooks.json конфиг хука · Codex CLI
  • .devin/hooks.json конфиг хука · Devin Desktop (ex-Windsurf)
  • .windsurf/hooks.json конфиг хука · Devin Desktop (legacy)
  • .github/hooks/lumis-scope-guard.json конфиг хука · GitHub Copilot
  • .github/workflows/lumis-boundary-check.yml та же проверка на каждый pull request (GitHub Actions)
  • scripts/scope_guard.py сам хук: stdlib, код выхода 2 останавливает вызов
  • .lumis/.gitignore журнал guard остаётся локальным и не уходит в коммиты
  • .lumis/guard.manifest.json состав пакета и контрольные суммы — doctor сверяет их
  • CONSTITUTION.md ваши Non-Goals и инварианты дословно
  • .cursorrules те же границы в формате, который агент читает сам
  • CLAUDE.md те же границы в формате, который агент читает сам
  • AGENTS.md те же границы в формате, который агент читает сам
  • README_SCOPE_GUARD.md шаги установки и проверки
  • SCOPE_ANNEX.md короткое приложение о границах работ к договору с фиксированной ценой: что не входит, как это проверяется, что считается запросом на изменение
Схема: корень репозитория, ветки к файлам пакета, одна из них отмечена амбером

Распакуйте в корень репозитория и запустите python scripts/scope_guard.py doctor — проверит проводку. Каждый агент подхватит свой конфиг со следующей сессии: Claude Code, Cursor, Codex CLI, Devin Desktop (бывший Windsurf) и GitHub Copilot останавливают вызов по коду выхода 2. Потом попросите агента добавить что-то из списка — он должен отказаться или спросить.

Или поставьте как навык агента

Тот же движок без скачивания: навык добавляет команды /lumis-scope-guard init, check и status в вашего агента и пишет те же файлы прямо в ваш репозиторий: конфиги хуков для Claude Code, Cursor, Codex CLI, Devin Desktop (бывший Windsurf) и GitHub Copilot и те же границы текстовыми правилами (CONSTITUTION.md, .cursorrules, CLAUDE.md) для любого другого агента.

npx skills add momonanq/lumis-skills --skill lumis-scope-guard --global

github.com/momonanq/lumis-skills

Спецификации ещё нет? Консилиум соберёт её вокруг этих границ: PRD, архитектура, роадмап, журнал решений, дизайн-конституция и мастер-промпт. Запустить консилиум — 2 бесплатных запуска →