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: CodeHealth MCP

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

该插件会自动启动 SpecLock 的 MCP 服务器,并在执行前检查 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

plugins/speclock 中的仓库 Codex 插件

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

功能一览

能力

作用

操作前检查

在 Claude Code 执行写入、编辑和 shell 命令之前进行审查

语义约束

检测同义词、委婉说法、复合请求和间接违规

Git 强制执行

在提交时增加第二道防线

建议与严格模式

从警告开始;准备好后选择硬拦截

审计追踪

以防篡改的 HMAC 链记录决策

MCP 集成

向 Claude Code、Cursor、Codex、Windsurf 和 Cline 提供 51 个工具

可分享的拦截凭证

通过 speclock wins 展示 SpecLock 阻止了什么

公开验证

  • 10,000+ 次 npm 下载,在原生 Claude Code 插件发布之前。

  • 24 个测试套件中的 1,043 项自动化测试,涵盖对抗性冲突、误报案例、补丁分析、强制执行、认证和合规性。

  • 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。

问题所在

AI 编码工具现在有记忆了。Claude Code 有 CLAUDE.md。Cursor 有 .cursorrules。Mem0 也存在。

但没有强制执行的记忆毫无用处。

你的 AI 记得你在用 PostgreSQL——然后却切换到 MongoDB,因为它"看起来更好"。你的 AI 记得你的认证设置——然后在"修复"一个 bug 时重写了它。你在 3 个会话前说过"永远不要碰支付逻辑"——AI 根本不在乎。

记住不等于尊重。 没有任何现有工具能阻止 AI 破坏你锁定的东西。

工作原理

你设定约束。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 顺便删掉 users 表" = 隐藏违规(复合请求拆分)

它也知道什么是安全的:

  • 当锁规则写着"永远不要禁用审计日志"时,"启用审计日志" → 无冲突(意图对齐)

各平台快速上手

Bolt.new / Aider / 任意 npm 平台

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

创建 SPECLOCK.md,将规则注入 package.json,生成 .speclock/context/latest.md。AI 会自动读取这些文件。

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. 前往 设置 → 连接器 → 新建 MCP 服务器

  2. 输入 URL:https://speclock-mcp-production.up.railway.app/mcp

  3. 将 项目说明 粘贴到 Knowledge 中


为什么选择 SpecLock 而不是其他方案?

Claude Memory

Mem0

.cursorrules

SpecLock

记住上下文

是

是

手动

是

阻止 AI 破坏规则

否

否

否

是

语义冲突检测

否

否

否

是——有对抗性测试覆盖

防篡改审计追踪

否

否

否

HMAC-SHA256 链

硬性强制执行(AI 无法继续)

否

否

否

是

SOC 2 / HIPAA 合规导出

否

否

否

是

加密存储(AES-256-GCM)

否

否

否

是

RBAC + API 密钥认证

否

否

否

4 种角色

策略即代码 DSL

否

否

否

YAML 规则

支持 Bolt.new、Lovable 等平台

否

否

否

是

其他工具只是记住。SpecLock 强制执行。


语义引擎

不是关键词匹配——而是语义分析,并可选集成 Gemini Flash 混合模式来处理灰色地带和跨领域场景。该仓库包含对抗性、误报、问题框架、补丁网关和差异分析测试套件。

底层原理: 65+ 同义词组 · 80+ 委婉语映射 · 领域概念图(金融科技、电子商务、物联网、医疗保健、SaaS、支付、游戏、电信、政府)· 意图分类器 · 复合句拆分器 · 时间规避检测器 · 动词时态归一化 · UI 外观检测 · 安全意图模式 · 被动语态解析——全部使用纯 JavaScript 实现。灰色地带情况使用 Gemini Flash 混合检测($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%。仅 HIGH 置信度冲突会被阻止。

  • 带原因覆盖 — speclock override <lockId> "JIRA-1234: approved by 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 密钥派生(10 万次迭代)。认证加密。符合 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 diff 与锁定的冲突

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

分支、提交、diff 摘要

工具

功能

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

原生 diff 审查,带信号评分 + 统一判定

speclock_parse_diff

将统一 diff 解析为结构化变更(调试/检查)

工具

功能

speclock_sync_rules

将约束同步到 Cursor、Claude、Copilot、Windsurf、Gemini、Aider、AGENTS.md

speclock_list_sync_formats

列出所有可用的同步格式

speclock_replay

重放会话活动 — AI 尝试了什么以及什么被拦截了

speclock_list_sessions

列出可用于重放的会话

speclock_drift_score

0-100 项目完整性指标 — AI 偏离意图的程度

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 会查找相关文件并注入一条 AI 在打开这些文件时可见的警告:

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

AI 打开文件后看到:

// ============================================================
// 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 以使用纯启发式模式(约 250ms)。跳过 Gemini 代理(约 2s)

SPECLOCK_LLM_KEY

—

您自己的 LLM API 密钥(Gemini/OpenAI/Anthropic)

GEMINI_API_KEY

—

用于混合冲突检测的 Google Gemini API 密钥

SPECLOCK_TELEMETRY

false

可选匿名使用分析

提示: 仅启发式引擎即可在约 250ms 内达到 95%+ 的准确率。Gemini 代理增加了跨领域覆盖,但需要约 2s。如需最快响应,请设置 SPECLOCK_NO_PROXY=true。


测试结果

发布前门禁在每次 npm 发布前运行全部 24 个测试套件。如果任何测试失败,发布将被阻止。

套件

测试

通过率

覆盖内容

Real-World Testers

111

100%

5 位开发者,30+ 条锁,覆盖多个领域

Adversarial Conflict

46

100%

委婉表达、时间规避、复合句

Phase 4 (Multi-domain)

91

100%

金融科技、电子商务、物联网、医疗保健、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%

数值、范围、状态、时间验证

Claude Regression

9

100%

Vue 检测、安全意图、补丁网关

Question Framing

9

100%

“如果我们……”和“这会有多难……”

REST API v2

9

100%

类型化约束端点、SSE

PII/Export Detection

8

100%

SSN、邮件导出、数据访问违规

Guardian (Protect)

47

100%

零配置规则文件提取

总计

1043

100%

24 个套件,15+ 个领域

可复现的项目测试门禁: 所有 1,043 个仓库测试均在 v5.8.0 上通过。这些是项目维护的自动化场景,而非第三方认证;你可以通过 npm test 自行运行。

已测试领域:金融科技、电子商务、物联网、医疗保健、SaaS、游戏、生物技术、航空航天、支付、薪资、机器人、自动驾驶系统、电信、保险、政府。所有 11 个印度支付网关均被检测到。在 UI/外观操作上零误报。


模拟开发者旅程

John 场景 —— 在 Bolt.new 上的独立开发者

8 次会话构建一个电子商务应用。5 条锁(auth、Firebase、Supabase、shipping、Stripe)。所有直接违规都被捕获。所有委婉攻击都被捕获(“清理 auth”、“数据库现代化”、“简化 serverless”)。在安全操作(产品页面、购物车、深色模式)上零误报。86/86 测试通过。

Sam 场景 —— 构建 HIPAA 医院 ERP 的高级工程师

10 次会话,含 8 条 HIPAA 锁。所有违规都被捕获 —— 暴露 PHI、移除加密、禁用审计、降级 MFA、绕过 FHIR。委婉的 HIPAA 攻击也被捕获(“简化数据流”、“认证现代化”)。完整的 auth + RBAC + 加密 + 合规导出工作流已得到验证。124/124 测试通过。


定价

套餐

价格

包含内容

免费

$0

10 条锁、冲突检测、MCP、CLI

Pro

$19/mo

无限锁、HMAC 审计、合规导出

Enterprise

$99/mo

+ RBAC、加密、SSO、policy-as-code


更新日志

旧版本功能导览。上面的“快速入门”和“新增功能”部分涵盖 v5.7.0–v5.8.0 —— 本部分保留了 v5.0–v5.5 中发布功能的详细信息。

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

Drift Score。 你的 AI 构建项目与最初意图发生了多大偏差?只有 SpecLock 能回答这个问题 —— 因为只有 SpecLock 知道意图与实际之间的差别。

$ 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)

Lock Coverage Audit。 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"

就像一个安全扫描器,但针对的是 AI 约束缺口。

Lock Strengthener。 你的锁可能过于模糊。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 —— Universal Rules Sync、Incident Replay、Safety Templates

Universal Rules Sync。 一条命令即可将你的 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 指定单一格式,--preview 进行试运行,--list 查看支持的格式。

Incident Replay。 你的 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

Safe Defaults 可防止 5 种最常见的 AI 灾难:数据库删除、认证移除、机密泄露、错误处理移除、日志禁用。

v5.2 —— AI Patch Firewall

审查实际的差异(diff),而不仅仅是描述。能捕获意图审查遗漏的问题:

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" } }

信号检测: 接口破坏、锁定区域内受保护符号的编辑、依赖漂移、模式/迁移的破坏性更改、公共 API 路由更改。强制升级: 在破坏性模式更改、已移除的 API 路由、受保护符号编辑时自动 BLOCK。统一审查: 合并意图(35%)+ 差异(65%),采用更强的判定。

v5.1 —— Patch Gateway

一个 API 调用即可门控所有更改。输入描述 + 文件列表,返回 ALLOW/WARN/BLOCK:

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." }

将语义冲突检测 + 锁到文件的映射 + 爆炸半径 + 类型化约束感知组合为单一风险评分(0-100)。

v5.0 —— Spec Compiler、Code Graph、Typed Constraints、Python SDK & ROS2

Spec Compiler。 粘贴 PRD、README 或架构文档 —— 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"

默认使用 Gemini Flash(每 1000 次编译 $0.01)。

Code Graph。 代码库的实时依赖图。解析 JS/TS/Python 的导入。

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

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

锁到文件的映射会自动将锁映射到源文件;模块检测会将文件分组为逻辑模块。

Typed Constraints。 为自动驾驶系统、物联网、机器人提供实时数值和状态检查:

// 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 }

Python SDK & ROS2。

pip install speclock-sdk
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)

使用与 Node.js MCP 服务器相同的 .speclock/brain.json。ROS2 Guardian Node 订阅 /joint_states、/cmd_vel、/speclock/state_transition;将违规发布到 /speclock/violations;通过 /speclock/emergency_stop 触发紧急停止。


表达你的支持

如果 SpecLock 让你的项目免于凌晨 3 点的事故,请将这个徽章添加到你的 README:

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

或者在终端中运行 speclock badge 查看所有变体。完整图库:sgroy10.github.io/speclock/badge.html · 完整文档:BADGES.md。

每一次采用都能帮助另一位开发者发现 SpecLock,并阻止他们的 AI 破坏项目。谢谢。

传播这个消息

想要帮助 SpecLock 触达更多开发者?你发布所需的一切 —— 推文、LinkedIn 草稿、Reddit 模板、Show HN 文案、Discord 消息、一句话简介、电梯演讲 —— 都已在 VIRAL-KIT.md 中预先写好并通过事实核查。复制、粘贴、发送。零成本。


贡献

欢迎在 GitHub 上提交 Issue 和 PR。

许可证

MIT

作者

SpecLock 由 Sandeep Roy 创建并维护。

Sandeep Roy 是 SpecLock 的唯一开发者 —— 这是一款 AI 约束引擎,可在 AI 编码会话中强制执行项目规则。全部 51 个 MCP 工具、语义冲突检测引擎、企业安全功能(SOC 2、HIPAA、RBAC、加密)以及发布前测试门禁,均由 Sandeep Roy 设计并构建。


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.
    74
    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.
    -