Skip to main content
Glama

Зачем ещё один инструмент для правил? Файлы правил — это контекст. Их можно забыть, размыть или переопределить в ходе длительной сессии кодинга. SpecLock превращает эти правила в проверки, которые выполняются перед правками, shell-командами и коммитами.

Пример блокировки

CLAUDE.md:  Never modify the authentication system.

You:        Add social login to the login page.

Without SpecLock
Claude:     I'll update the auth flow and add an OAuth provider...

With SpecLock (strict mode)
SpecLock:   BLOCKED — conflicts with "Never modify the authentication system"
            Match: login → auth → authentication
            The action was denied before the files changed.

SpecLock использует семантическое обнаружение конфликтов, а не простое сопоставление ключевых слов. Он ловит косвенные действия, такие как «почистить старые данные пациентов», «упростить оформление заказа» или «временно отключить MFA», когда они нарушают действующее ограничение.

Related MCP server: @event4u/agent-config

Установка за 60 секунд

Запустите это из проекта, который хотите защитить:

npx speclock@latest protect          # reads existing AI rule files; advisory by default
npx speclock@latest doctor           # confirms rules, hooks, and integration

Когда рекомендательный вывод выглядит правильно, включите блокировку:

npx speclock@latest protect --strict

Аккаунт не требуется. SpecLock по умолчанию работает локально, а рекомендательный режим никогда не блокирует изменения.

Установка как плагин Claude Code

Внутри Claude Code выполните:

/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplace

Затем один раз защитите текущий проект:

npx speclock@latest protect          # warnings only
npx speclock@latest protect --strict # block confirmed conflicts

Плагин автоматически запускает MCP-сервер SpecLock и проверяет действия Claude Code Write, Edit и Bash до их выполнения. Он включает все 51 MCP-инструмент и работает вместе с вашим существующим CLAUDE.md.

Установка на другие агенты кодинга

SpecLock упакован для нескольких экосистем агентов, но уровень защиты зависит от того, что предоставляет каждый хост:

Платформа

Путь установки/обнаружения

Уровень защиты

Claude Code

Нативный плагин из маркетплейса выше

Нативные проверки перед действиями Write, Edit и Bash

Gemini CLI

Установите этот репозиторий как расширение Gemini

MCP-проверки плюс контекст проекта

Cursor

Agent Plugin / пакет из маркетплейса Cursor

MCP-проверки плюс правила

Codex

Плагин Codex из репозитория в plugins/speclock

MCP-проверки плюс навык $speclock-guardrails

GitHub Copilot CLI

Добавьте этот репозиторий как маркетплейс плагинов

MCP-проверки плюс контекст встроенного плагина

Cline

MCP-сервер; подача в курируемый маркетплейс в процессе

MCP-проверки

Windsurf

speclock mcp install windsurf

MCP-проверки плюс правила

Любой Git-клиент или CI

speclock protect

Принудительное соблюдение при коммите/в CI независимо от агента кодинга

MCP-поддержка означает, что агент может вызвать SpecLock перед действием; это не гарантирует перехват. Используйте speclock protect --strict и CI, когда ограничение должно соблюдаться независимо от клиента.

У SpecLock другая задача, чем у памяти и навыков: память вспоминает контекст, навыки дают процедуры, а SpecLock проверяет планируемые действия на соответствие явным ограничениям. Он снижает дрейф ограничений; он не может гарантировать фактическую корректность или избавить модель от галлюцинаций.

Установки из репозитория, поддерживаемые текущими клиентами:

gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplace

Что вы получаете

Возможность

Что она делает

Проверки перед действиями

Проверяет записи, правки и shell-команды Claude Code до их выполнения

Семантические ограничения

Обнаруживает синонимы, эвфемизмы, составные запросы и косвенные нарушения

Принудительное выполнение в Git

Добавляет второй барьер при коммите

Рекомендательный и строгий режимы

Начните с предупреждений; включите жёсткую блокировку, когда будете готовы

Аудит-трейл

Записывает решения в защищённую от подделки HMAC-цепочку

MCP-интеграция

Предоставляет 51 инструмент для Claude Code, Cursor, Codex, Windsurf и Cline

Публикуемые квитанции о сохранении

Показывает, что SpecLock предотвратил, с помощью speclock wins

Проверено публично

  • 10 000+ загрузок npm до выхода нативного плагина Claude Code.

  • 1 043 автоматических теста в 24 наборах, включая состязательные конфликты, случаи ложных срабатываний, анализ патчей, принудительное выполнение, аутентификацию и соответствие требованиям.

  • Лицензия MIT и полная проверяемость кода.

  • Локальные приоритеты по умолчанию с явно отделёнными опциональными удалёнными функциями.

Команды, которые вы будете использовать чаще всего

speclock protect                      # extract constraints and install project protection
speclock protect --strict             # enable hard enforcement
speclock doctor                       # verify the complete setup
speclock check "action description"   # preview whether an action conflicts
speclock add-lock "rule"              # add a constraint explicitly
speclock list-locks                    # inspect active constraints
speclock enforce hard|advisory         # switch enforcement mode
speclock mcp install <client>          # Claude Code, Cursor, Windsurf, Cline, or Codex
speclock wins                          # create a shareable save receipt

Полный справочник: npx speclock@latest help

Новое в v5.8.0

  • Переносимая упаковка Agent Plugin для обнаружения в Cursor.

  • Упаковка расширения Gemini CLI с запуском MCP и контекстом ограничений.

  • Плагин Codex с навыком $speclock-guardrails и закреплённым MCP-сервером.

  • Совместимость с GitHub Copilot CLI через маркетплейс репозитория.

  • Явные метки принудительного выполнения по платформам: нативный хук, MCP-поддержка или Git/CI.

Проблема

У ИИ-инструментов кодинга теперь есть память. У Claude Code есть CLAUDE.md. У Cursor есть .cursorrules. Существует Mem0.

Но память без принудительного выполнения бесполезна.

Ваш ИИ помнит, что вы используете PostgreSQL — а затем переключается на MongoDB, потому что «так показалось лучше». Ваш ИИ помнит вашу настройку аутентификации — а затем переписывает её, «исправляя» баг. Вы сказали «никогда не трогай логику платежей» 3 сессии назад — ИИ это не волнует.

Помнить — не значит уважать. Ни один существующий инструмент не мешает ИИ ломать то, что вы зафиксировали.

Как это работает

Вы задаёте ограничения. SpecLock обеспечивает их соблюдение — между сессиями, между инструментами, между командами.

speclock lock "Never modify auth files"           → auto-guards src/auth/*.ts
speclock lock "Database must stay PostgreSQL"      → catches "migrate to MongoDB"
speclock lock "Never delete patient records"       → catches "clean up old data"
speclock lock "Don't touch the payment flow"       → catches "streamline checkout"

Семантический движок не использует сопоставление ключевых слов. Он понимает:

  • «почистить старые данные» = удаление (обнаружение эвфемизмов)

  • «упростить оформление» = изменить платёжный поток (сопоставление синонимов и понятий)

  • «временно отключить логирование» = отключить логирование (обнаружение временного уклонения)

  • «Обновить UI и заодно удалить таблицу пользователей» = скрытое нарушение (разделитель составных запросов)

И он знает, что безопасно:

  • «Включить аудит-логирование», когда ограничение гласит «Никогда не отключай аудит-логирование» → нет конфликта (согласование намерений)

Быстрый старт по платформам

Bolt.new / Aider / Любая npm-платформа

npx speclock setup --goal "Build my app" --template nextjs

Создаёт SPECLOCK.md, внедряет правила в package.json, генерирует .speclock/context/latest.md. ИИ читает их автоматически.

Claude Code

Установите плагин с помощью команд выше. Для настройки только через MCP без хуков плагина добавьте это в .mcp.json:

{
  "mcpServers": {
    "speclock": {
      "command": "npx",
      "args": ["--yes", "speclock@5.8.0", "serve", "--project", "."]
    }
  }
}

Cursor / Windsurf / Cline

Та же конфигурация — добавьте в .cursor/mcp.json или эквивалент.

Lovable (без установки)

  1. Перейдите в Settings → Connectors → New MCP server

  2. Введите URL: https://speclock-mcp-production.up.railway.app/mcp

  3. Вставьте инструкции проекта в Knowledge


Почему SpecLock вместо альтернатив?

Claude Memory

Mem0

.cursorrules

SpecLock

Помнит контекст

Да

Да

Вручную

Да

Блокирует ИИ от поломки вещей

Нет

Нет

Нет

Да

Семантическое обнаружение конфликтов

Нет

Нет

Нет

Да — покрыто состязательными тестами

Защищённый от вмешательства аудит-трейл

Нет

Нет

Нет

HMAC-SHA256 цепочка

Жёсткое принудительное выполнение (ИИ не может продолжить)

Нет

Нет

Нет

Да

Экспорт для соответствия SOC 2 / HIPAA

Нет

Нет

Нет

Да

Шифрованное хранилище (AES-256-GCM)

Нет

Нет

Нет

Да

RBAC + аутентификация по API-ключу

Нет

Нет

Нет

4 роли

DSL «Политика как код»

Нет

Нет

Нет

YAML-правила

Работает на Bolt.new, Lovable и др.

Нет

Нет

Нет

Да

Другие инструменты запоминают. SpecLock принуждает.


Семантический движок

Не сопоставление ключевых слов — семантический анализ с опциональной гибридной моделью Gemini Flash для серых зон и междоменных случаев. В репозитории есть наборы тестов для состязательных случаев, ложных срабатываний, формулировки вопросов, шлюза патчей и анализа диффов.

Под капотом: 65+ групп синонимов · 80+ эвфемистических отображений · карты предметных доменов (финтех, электронная коммерция, IoT, здравоохранение, SaaS, платежи, игры, телеком, госсектор) · классификатор намерений · разбиение сложносочинённых предложений · детектор временного уклонения · нормализация глагольных форм · обнаружение косметических изменений UI · паттерны безопасных намерений · разбор пассивного залога — всё на чистом JavaScript. Гибридный режим Gemini для спорных случаев ($0.01/1000 проверок).


Жёсткий режим

Два режима:

Advisory (default):  AI gets a warning, decides what to do
Hard mode:           AI is BLOCKED — MCP returns isError, AI cannot proceed
speclock enforce hard   # Enable hard mode — violations above threshold are blocked
  • Настраиваемый порог — по умолчанию 70%. Только конфликты с высокой уверенностью блокируются.

  • Обход с обоснованиемspeclock override <lockId> "JIRA-1234: одобрено CTO" (записывается в журнал аудита)

  • Автоматическая эскалация — блокировка, обойдённая 3+ раз → автоматическая пометка для проверки


Корпоративная безопасность

Аутентификация по API-ключу + RBAC

speclock auth create-key --role developer --name "CI Bot"
# → sk_speclock_a1b2c3... (shown once, stored as SHA-256 hash)

Роль

Чтение

Запись блокировок

Обход

Админ

viewer

Да

developer

Да

С обоснованием

architect

Да

Да

Да

admin

Да

Да

Да

Да

Шифрование AES-256-GCM

export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt   # Encrypts brain.json + events.log at rest

Вывод ключа PBKDF2 (100 000 итераций). Аутентифицированное шифрование. Соответствие HIPAA 2026.

Цепочка аудита HMAC

Каждое событие получает HMAC-SHA256 хэш, связанный с предыдущим событием. Измените что-либо — цепочка разрушится.

$ speclock audit-verify

✓ Audit chain VALID — 247 events, 0 broken links, no tampering detected.

Экспорт для соответствия требованиям

speclock export --format soc2    # SOC 2 Type II report (JSON)
speclock export --format hipaa   # HIPAA PHI protection report
speclock export --format csv     # All events for auditor spreadsheets

Политика как код

Декларативные YAML-правила для общеорганизационного контроля:

# .speclock/policy.yml
rules:
  - name: "HIPAA PHI Protection"
    match:
      files: ["**/patient/**", "**/medical/**"]
      actions: [delete, modify, export]
    enforce: block
    severity: critical

  - name: "No direct DB mutations"
    match:
      files: ["**/models/**"]
      actions: [delete]
    enforce: warn
    severity: high

Импорт и экспорт политик между проектами. Обмен шаблонами ограничений в рамках организации.


REST API v2

Проверка ограничений в реальном времени, ревью патчей, автономные системы:

# Patch Gateway (v5.1)
POST /api/v2/gateway/review        { description, files, useLLM }

# AI Patch Firewall (v5.2)
POST /api/v2/gateway/review-diff   { description, files, diff, options }
POST /api/v2/gateway/parse-diff    { diff }

# Typed constraint checking
POST /api/v2/check-typed    { metric, value, entity }
POST /api/v2/check-batch    { checks: [...] }

# SSE streaming (real-time violations)
GET  /api/v2/stream

# Spec Compiler
POST /api/v2/compiler/compile  { text, autoApply }

# Code Graph
GET  /api/v2/graph/blast-radius?file=src/core/memory.js
GET  /api/v2/graph/lock-map
POST /api/v2/graph/build

51 MCP-инструмент

Инструмент

Назначение

speclock_init

Инициализация SpecLock в проекте

speclock_get_context

Полный контекст (ключевой инструмент)

speclock_set_goal

Установить цель проекта

speclock_add_lock

Добавить ограничение + автозащита файлов

speclock_remove_lock

Мягкое удаление блокировки

speclock_add_decision

Запись архитектурного решения

speclock_add_note

Добавить закреплённую заметку

speclock_set_deploy_facts

Запись фактов о деплое

Инструмент

Назначение

speclock_check_conflict

Семантическая проверка конфликтов со всеми блокировками

speclock_set_enforcement

Переключение режима: рекомендательный/жёсткий

speclock_override_lock

Обход с обоснованием (записывается в журнал аудита)

speclock_override_history

Просмотр журнала обходов

speclock_semantic_audit

Анализ git-диффа на соответствие блокировкам

speclock_detect_drift

Поиск нарушений ограничений

speclock_audit

Аудит файлов перед коммитом

Инструмент

Назначение

speclock_session_briefing

Начало сессии + полный брифинг

speclock_session_summary

Завершение сессии + запись сводки

speclock_log_change

Запись изменения с указанием файлов

speclock_get_changes

Последние отслеживаемые изменения

speclock_get_events

Полный журнал событий (с фильтрацией)

speclock_checkpoint

Git-тег для отката

speclock_repo_status

Ветка, коммит, сводка изменений

Инструмент

Назначение

speclock_suggest_locks

AI-рекомендации по блокировкам

speclock_health

Оценка здоровья + таймлайн мультиагентов

speclock_apply_template

Применение шаблона ограничений

speclock_report

Статистика нарушений + наиболее тестируемые блокировки

Инструмент

Назначение

speclock_verify_audit

Проверка целостности HMAC-цепочки

speclock_export_compliance

Экспорт отчётов SOC 2 / HIPAA / CSV

speclock_policy_evaluate

Оценка правил политик

speclock_policy_manage

CRUD для правил политик

speclock_telemetry

Анонимная аналитика использования

Инструмент

Назначение

speclock_add_typed_lock

Добавить типизированное ограничение (числовое/диапазонное/состояний/временное)

speclock_check_typed

Проверить предлагаемые значения на соответствие типизированным ограничениям

speclock_list_typed_locks

Список всех типизированных ограничений

speclock_update_threshold

Обновить пороги типизированных блокировок

Инструмент

Назначение

speclock_compile_spec

Компиляция естественного языка в структурированные ограничения

speclock_build_graph

Построение/обновление графа зависимостей кода

speclock_blast_radius

Расчёт радиуса поражения при изменении файлов

speclock_map_locks

Привязка блокировок к фактическим файлам кода

Инструмент

Назначение

speclock_review_patch

Вердикт ALLOW/WARN/BLOCK для предлагаемых изменений

speclock_review_patch_diff

Ревью на основе диффа с оценкой сигналов + единый вердикт

speclock_parse_diff

Разбор unified-диффа в структурированные изменения (отладка/инспекция)

Инструмент

Назначение

speclock_sync_rules

Синхронизация ограничений в Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md

speclock_list_sync_formats

Список всех доступных форматов синхронизации

speclock_replay

Воспроизведение активности сессии — что пытался сделать ИИ и что было перехвачено

speclock_list_sessions

Список доступных сессий для воспроизведения

speclock_drift_score

Метрика целостности проекта 0–100 — насколько ИИ отклонился от намерений

speclock_coverage

Аудит покрытия блокировками — поиск незащищённых участков кода

speclock_strengthen

Оценка блокировок и предложение более строгих версий


CLI

# Setup
speclock setup --goal "Build my app" --template nextjs

# Constraints
speclock lock "Never modify auth files" --tags auth,security
speclock lock remove <id>
speclock check "Add social login"              # Test before doing

# Enforcement
speclock enforce hard                          # Block violations
speclock override <lockId> "JIRA-1234"         # Override with reason

# Audit & Compliance
speclock audit-verify                          # Verify HMAC chain
speclock export --format soc2                  # Compliance report
speclock audit-semantic                        # Semantic pre-commit

# Git
speclock hook install                          # Pre-commit hook
speclock audit                                 # Audit staged files

# Templates
speclock template apply safe-defaults          # Vibe coding seatbelt (5 locks)
speclock template apply solo-founder           # Indie builder essentials (3 locks)
speclock template apply hipaa                  # HIPAA healthcare (8 locks)
speclock template apply api-stability          # API contract protection (6 locks)
speclock template apply nextjs                 # Next.js constraints
speclock template apply security-hardened      # Security hardening

# Sync to AI tools
speclock sync --all                            # Sync to ALL tools
speclock sync --format cursor                  # Cursor only
speclock sync --format claude                  # Claude Code only
speclock sync --preview windsurf               # Preview without writing

# Incident Replay
speclock replay                                # Replay last session
speclock replay --list                         # List sessions
speclock replay --session <id>                 # Replay specific session

# Project Health
speclock drift                                 # Drift Score (0-100)
speclock drift --days 7                        # Last 7 days only
speclock coverage                              # Lock Coverage Audit
speclock strengthen                            # Grade and improve locks

# Share & Stats
speclock wins                                  # Shareable "Save Receipt" (screenshot it!)
speclock wrapped                               # All-time + monthly recap (alias: recap)
speclock stats                                 # Your local usage dashboard
speclock badge                                 # Print README badges (6 variants + live badge)

# Auth
speclock auth create-key --role developer
speclock auth rotate-key <keyId>

# Policy
speclock policy init                           # Create policy.yml
speclock policy evaluate --files "src/auth/*"  # Test against rules

Полная справка по командам: npx speclock help


Автозащита

Когда вы блокируете что-то, SpecLock находит связанные файлы и внедряет предупреждение, которое ИИ видит при их открытии:

speclock lock "Never modify auth files"
→ Auto-guarded 2 files:
  🔒 src/components/Auth.tsx
  🔒 src/contexts/AuthContext.tsx

ИИ открывает файл и видит:

// ============================================================
// SPECLOCK-GUARD — DO NOT MODIFY THIS FILE
// LOCKED: Never modify auth files
// ONLY "unlock" or "remove the lock" is permission to edit.
// ============================================================

Архитектура

┌──────────────────────────────────────────────────┐
│     AI Tool (Claude Code, Cursor, Bolt.new...)    │
└────────────┬──────────────────┬──────────────────┘
             │                  │
   MCP Protocol (51 tools)    npm File-Based
             │              (SPECLOCK.md + CLI)
             │                  │
┌────────────▼──────────────────▼──────────────────┐
│            SpecLock Core Engine                    │
│                                                    │
│  Semantic Engine ─── 65+ synonym groups            │
│  HMAC Audit ──────── SHA-256 hash chain            │
│  Enforcer ────────── advisory / hard block         │
│  Auth + RBAC ─────── 4 roles, API keys             │
│  AES-256-GCM ─────── encrypted at rest             │
│  Policy DSL ──────── YAML rules                    │
│  Compliance ──────── SOC 2, HIPAA, CSV             │
│  SSO ─────────────── Okta, Azure AD, Auth0         │
└──────────────────────┬───────────────────────────┘
                       │
                 .speclock/
                 ├── brain.json        (project memory)
                 ├── events.log        (HMAC audit trail)
                 ├── policy.yml        (policy rules)
                 ├── auth.json         (API keys — gitignored)
                 └── context/
                     └── latest.md     (AI-readable context)

3 npm-зависимости. Ноль зависимостей времени выполнения для семантического движка. Чистый JavaScript.


Конфигурация

Переменная

По умолчанию

Описание

SPECLOCK_API_KEY

API-ключ для аутентифицированного доступа

SPECLOCK_ENCRYPTION_KEY

Включает шифрование AES-256-GCM в состоянии покоя

SPECLOCK_NO_PROXY

false

Установите true для режима только эвристики (~250мс). Пропускает Gemini-прокси (~2с)

SPECLOCK_LLM_KEY

Ваш собственный LLM API-ключ (Gemini/OpenAI/Anthropic)

GEMINI_API_KEY

Google Gemini API-ключ для гибридного обнаружения конфликтов

SPECLOCK_TELEMETRY

false

Анонимная аналитика использования (опционально)

Совет: Эвристический движок сам по себе показывает точность 95%+ при ~250мс. Gemini-прокси добавляет кросс-доменное покрытие, но занимает ~2с. Для максимально быстрого ответа установите SPECLOCK_NO_PROXY=true.


Результаты тестов

Пред-публикационный шлюз запускает все 24 набора тестов перед каждой npm-публикацией. Если хоть один тест падает, публикация блокируется.

Набор тестов

Тестов

Проход

Что покрывает

Real-World Testers

111

100%

5 разработчиков, 30+ блокировок, разные домены

Adversarial Conflict

46

100%

Эвфемизмы, временное уклонение, сложные предложения

Phase 4 (Multi-domain)

91

100%

Финтех, e-commerce, IoT, здравоохранение, SaaS

Sam (Enterprise HIPAA)

124

100%

HIPAA-блокировки, PHI, шифрование, RBAC

Auth & Crypto

114

100%

API-ключи, RBAC, шифрование AES-256

John (Indie Dev Journey)

86

100%

8-сессионная сборка Bolt.new с 5 блокировками

Diff-Native Review

76

100%

Сломанные интерфейсы, изменения схемы, влияние API

Patch Gateway

57

100%

Вердикты ALLOW/WARN/BLOCK, радиус поражения

Compliance Export

50

100%

SOC 2, HIPAA, форматы CSV

Enforcement

40

100%

Жёсткий/рекомендательный режим, переопределения

Audit Chain

35

100%

Целостность цепочки HMAC-SHA256

Code Graph

33

100%

Разбор импортов, радиус поражения, сопоставление блокировок

Spec Compiler

24

100%

NL→ограничения, авто-применение

Typed Constraints

13

100%

Числовая, диапазонная, state, временная валидация

Claude Regression

9

100%

Обнаружение Vue, безопасные интенты, шлюз патчей

Question Framing

9

100%

"А что если..." и "Насколько сложно будет..."

REST API v2

9

100%

Типизированные endpoints ограничений, SSE

PII/Export Detection

8

100%

SSN, экспорт email, нарушения доступа к данным

Guardian (Protect)

47

100%

Извлечение правил из файла конфигурации

Всего

1043

100%

24 набора, 15+ предметных областей

Воспроизводимый проектный тестовый шлюз: все 1043 теста репозитория проходят на v5.8.0. Это автоматизированные тесты проекта, а не сторонняя сертификация; запустите их самостоятельно с помощью npm test.

Протестировано в: fintech, электронной коммерции, IoT, здравоохранении, retail, аэрокосмической отрасли, игровой индустрии, платёжных системах, payroll, робототехнике, телекоме, государственном секторе. Все 11 индийских платёжных шлюзов обнаружены. Ноль ложных срабатываний на UI/косметических действиях.


Смоделированные пути разработчиков

Сценарий John — независимый разработчик на Bolt.new

8 сессий разработки e-commerce приложения. 5 блокировок (auth, Firebase, Supabase, shipping, Stripe). Каждое прямое нарушение обнаружено. Каждая эвфемистическая атака обнаружена («почистить auth», «модернизировать базу данных», «оптимизировать serverless»). Ноль ложных срабатываний на безопасные действия (страница товара, корзина, тёмная тема). 86/86 тестов пройдено.

Сценарий Sam — старший инженер, создающий HIPAA-совместимое приложение для больницы

10 сессий с 8 блокировками HIPAA. Каждое нарушение поймано: раскрытие PHI, удаление шифрования, отключение MFA, обход FHIR. Эвфемистические HIPAA-атаки пойманы («упростить поток данных», «модернизировать аутентификацию»). Ноль ложных срабатываний на безопасных действиях (обновление метаданных, удаление UAT-флагов). 124/124 тестов пройдено.


Имитированные пути разработчиков

Сценарий John — инди-разработчик на Bolt.new

8 сессий создания ecommerce-приложения. 5 блокировок (auth, Firebase, Supabase, доставка, Stripe). Каждое прямое нарушение поймано. Каждая эвфемистическая атака поймана («почистить auth», «модернизировать базу данных», «упростить serverless»). Ноль ложных срабатываний на безопасных действиях (обновление цен, добавление favicon, настройка шрифтов). 86/86 тестов пройдено.

Сценарий Sam — старший инженер, строящий HIPAA-приложение

8 сессий, 5 блокировок HIPAA. Каждое нарушение поймано — раскрытие PHI, удаление шифрования, обход FHIR. Эвфемистические HIPAA-атаки пойманы («упростить поток данных», «модернизировать базу данных», «оптимизировать serverless»). Полная проверка auth + RBAC + шифрование + экспорт соответствия. 124/124 тестов пройдено.


Changelog

Версии до v5.8.0. Подробности о новых функциях — в разделе What's New.

v5.0–v5.5 — история

v5.5: Lock Coverage, Drift Score и Lock Strengthener. SpecLock оценивает, какая часть вашего кода защищена блокировками, вычисляет Drift Score как меру расхождения между намерением и реализацией и предлагает усиления для слабых блокировок.

v5.4 — Drift Score, Lock Coverage, Lock Strengthener.

Drift Score. Насколько ваш проект отклонился от исходного замысла? Только SpecLock может ответить на этот вопрос — потому что только SpecLock знает, что задумывалось vs что фактически сделано.

$ speclock drift

Drift Score: 23/100 (B) — minor drift
Trend: improving | Period: 30 days | Active locks: 8

Signal Breakdown:
  Violations:      6/30  (4 violations in 12 checks)
  Overrides:       5/20  (1 override)
  Reverts:         3/15  (1 revert detected)
  Lock churn:      0/15  (0 removed, 3 added)
  Goal stability:  0/10  (1 goal change)
  Session gaps:    9/10  (3/5 unsummarized)

README badge: ![Drift Score](https://img.shields.io/badge/drift_score-23%2F100-brightgreen.svg)

Аудит покрытия блокировок. SpecLock сканирует вашу кодовую базу и сообщает, что не защищено:

$ speclock coverage

Lock Coverage: 60% (B) — partially protected

  [COVERED] CRITICAL authentication   2 file(s)
  [EXPOSED] CRITICAL payments         1 file(s)
  [COVERED] CRITICAL secrets          0 file(s)
  [COVERED] HIGH     api-routes       2 file(s)

Suggested Locks (ready to apply):
  1. [CRITICAL] payments (1 file at risk)
     speclock lock "Never modify payment processing or billing without permission"

Как сканер безопасности, но для пробелов в ограничениях ИИ.

Усилитель блокировок. Ваши блокировки могут быть слишком расплывчатыми. SpecLock оценивает каждую и предлагает улучшения:

$ speclock strengthen

Lock Strength: 72/100 (B) — 3 strong, 1 weak

[WEAK  ] 45/100 (D)  "don't touch auth"
          Issue: Too vague — short locks miss edge cases
          Issue: No specific scope
          Suggested: "Never modify, refactor, or delete auth..."

[STRONG] 90/100 (A)  "Never expose API keys in client-side code, logs, or error messages"

v5.3 — Универсальная синхронизация правил, повтор инцидентов, шаблоны безопасности

Универсальная синхронизация правил. Одна команда синхронизирует ваши ограничения SpecLock со всеми AI-инструментами:

speclock sync --all
SpecLock Sync Complete
  ✓ Cursor             → .cursor/rules/speclock.mdc
  ✓ Claude Code        → CLAUDE.md
  ✓ AGENTS.md          → AGENTS.md (Linux Foundation standard)
  ✓ Windsurf           → .windsurf/rules/speclock.md
  ✓ GitHub Copilot     → .github/copilot-instructions.md
  ✓ Gemini             → GEMINI.md
  ✓ Aider              → .aider.conf.yml

7 file(s) synced.

Определите ограничения один раз в SpecLock, синхронизируйте везде. --format cursor для одного формата, --list для предпросмотра, --dry-run для пробного запуска.

Повтор инцидентов. Бортовой самописец для ваших AI-сессий программирования:

speclock replay

Session: ses_a1b2c3 (claude-code, 47 min)
────────────────────────────────────────────
14:02  [ALLOW]   Create user profile component
14:08  [ALLOW]   Add form validation
14:15  [WARN]    Simplify authentication flow
                 → matched lock: "Never modify auth"
14:23  [BLOCK]   Clean up old user records
                 → euphemism detected: "clean up" = deletion
14:31  [ALLOW]   Update landing page hero section

Score: 5 events | 3 allowed | 1 warned | 1 BLOCKED

speclock replay --list показывает сессии; --session <id> воспроизводит конкретную.

Safety Templates. Готовые наборы ограничений:

speclock template apply safe-defaults   # 5 locks — "Vibe Coding Seatbelt"
speclock template apply solo-founder    # 3 locks — auth, payments, data
speclock template apply hipaa           # 8 locks — HIPAA healthcare
speclock template apply api-stability   # 6 locks — API contract protection

Emerging Threats. Еженедельные обновления шаблонов от команды SpecLock:

POST /api/v2/gateway/review-diff
{
  "description": "Remove password column",
  "diff": "diff --git a/migrations/001.sql ..."
}

→ { verdict: "BLOCK",
    reviewMode: "unified",
    intentVerdict: "ALLOW",     ← description alone looks safe
    diffVerdict: "BLOCK",       ← diff reveals destructive schema change
    signals: {
      schemaChange: { score: 12, isDestructive: true },
      interfaceBreak: { score: 10 },
      protectedSymbolEdit: { score: 8 },
      dependencyDrift: { score: 5 },
      publicApiImpact: { score: 0 }
    },
    recommendation: { action: "require_approval" } }

v5.2 — AI Patch Firewall

Патчит AI-кодирования — это места, где происходит ущерб. Проверяет сами патчи, а не только промпты/чаты:

speclock_review_patch({
  description: "Add social login to auth page",
  files: ["src/auth/login.js"]
})

→ { verdict: "BLOCK", riskScore: 85,
    reasons: [{ type: "semantic_conflict", lock: "Never modify auth" }],
    blastRadius: { impactPercent: 28.3 },
    summary: "BLOCKED. 1 constraint conflict. 12 files affected." }
Input:  "We're building a fintech app. Use React and FastAPI.
         Never touch the auth module. Response time must stay
         under 200ms. Payments go through Stripe."

Output: 2 text locks:
          - "Never touch the auth module"
          - "Payments go through Stripe — don't change provider"
        1 typed lock:
          - response_time_ms <= 200 (numerical)
        2 decisions:
          - "Use React for frontend"
          - "Use FastAPI for backend"

Обнаружение сигналов: разрывы интерфейсов, изменения схемы, потенциальные сбои. Автоматическое применение: срочные блокировки применяются немедленно. Контекстная осведомлённость: учитывает историю проекта. Мгновенное действие: блокировка до применения, защита прямо сейчас.


Возможности v5.1

Spec Compiler — пишите спецификации, а не правила

Опишите ожидания простым текстом — SpecLock скомпилирует их в проверяемые ограничения:

Input:  "We're building a fintech app. Use React and FastAPI.
         Never touch the auth module. Response time must stay
         under 200ms. Payments go through Stripe."

Output: 2 text locks:
          - "Never touch the auth module"
          - "Payments go through Stripe — don't change provider"
        1 typed lock:
          - response_time_ms <= 200 (numerical)
        2 decisions:
          - "Use React for frontend"
          - "Use FastAPI for backend"

Universal Rules Sync

$ speclock blast-radius src/core/memory.js

Direct Dependents:  8 files
Transitive Impact:  14 files (33% of codebase)
Max Depth:          4 hops

Одно действие синхронизирует блокировки SpecLock с вашими AI-инструментами:

// Numerical: speed must be <= 2.0 m/s
{ constraintType: "numerical", metric: "speed_mps", operator: "<=", value: 2.0 }

// Range: temperature must stay between 20-25°C
{ constraintType: "range", metric: "temperature_c", min: 20, max: 25 }

// State: never go from armed → disarmed without approval
{ constraintType: "state", metric: "system_mode", forbidden: [{ from: "armed", to: "disarmed" }] }

// Temporal: heartbeat must occur every 30 seconds
{ constraintType: "temporal", metric: "heartbeat_s", operator: "<=", value: 30 }
pip install speclock-sdk

Интерактивные обучающие средства

Нужна помощь с паттернами блокировок? Спросите SpecLock:

from speclock import SpecLock

sl = SpecLock(project_root=".")
result = sl.check_text("Switch database to MongoDB")
result = sl.check_typed(metric="speed_mps", value=3.5)
result = sl.check(action="Increase speed", speed_mps=3.5)

Обнаружение секретов и данных

Блокирует утечки секретов до того, как они попадут в git:

[![Protected by SpecLock](https://img.shields.io/badge/Protected_by-SpecLock-FF6B2C?style=flat&logo=lock)](https://github.com/sgroy10/speclock)

Обнаруживает ключи в коде, предотвращает их коммит и уведомляет асинхронно.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Governance kernel for AI agents — policy enforcement, code safety verification, multi-model hallucination detection (CMVK), trust attestation (IATP), and immutable audit trails. Works with Claude Desktop, Cursor, and any MCP client.
    73
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Universal AI Agent OS — governed skills, rules, and commands for AI coding assistants (Claude Code, Augment, Cursor, Copilot, Windsurf). Read-only MCP bridge serves prompts and resources from a release-pinned content bundle.
    20
    1,061
    10
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Analyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sgroy10/speclock'

If you have feedback or need assistance with the MCP directory API, please join our Discord server