SpecLock
为什么还需要另一个规则工具? 规则文件只是上下文。在长时间的编码会话中,它们可能被遗忘、稀释或被覆盖。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 | 上述原生市场插件 | 对 |
Gemini CLI | 将此仓库安装为 Gemini 扩展 | MCP 辅助检查加项目上下文 |
Cursor | Agent Plugin / Cursor 市场包 | MCP 辅助检查 + 规则 |
Codex |
| MCP 辅助检查 + |
GitHub Copilot CLI | 将此仓库添加为插件市场 | MCP 辅助检查 + 内置插件上下文 |
Cline | MCP 服务器;精选市场提交进行中 | MCP 辅助检查 |
Windsurf |
| MCP 辅助检查 + 规则 |
任意 Git 客户端或 CI |
| 独立于编码代理的提交/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 个工具 |
可分享的拦截凭证 | 通过 |
公开验证
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(无需安装)
前往 设置 → 连接器 → 新建 MCP 服务器
输入 URL:
https://speclock-mcp-production.up.railway.app/mcp将 项目说明 粘贴到 Knowledge 中
为什么选择 SpecLock 而不是其他方案?
Claude Memory | Mem0 |
| 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 proceedspeclock 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)角色 | 读取 | 写入锁定 | 覆盖 | 管理员 |
| 是 | — | — | — |
| 是 | — | 带原因 | — |
| 是 | 是 | 是 | — |
| 是 | 是 | 是 | 是 |
AES-256-GCM 加密
export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt # Encrypts brain.json + events.log at restPBKDF2 密钥派生(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/build51 个 MCP 工具
工具 | 功能 |
| 在项目中初始化 SpecLock |
| 完整上下文包(关键工具) |
| 设置项目目标 |
| 添加约束 + 自动保护文件 |
| 软删除锁定 |
| 记录架构决策 |
| 添加固定备注 |
| 记录部署配置 |
工具 | 功能 |
| 针对所有锁定进行语义冲突检查 |
| 切换建议/硬性模式 |
| 带原因覆盖(记录审计日志) |
| 查看覆盖审计跟踪 |
| 分析 git diff 与锁定的冲突 |
| 扫描约束违规 |
| 提交前审计暂存文件 |
工具 | 功能 |
| 开始会话 + 完整简报 |
| 结束会话 + 记录摘要 |
| 记录带文件的变更 |
| 最近的跟踪变更 |
| 完整事件日志(可过滤) |
| 用于回滚的 Git 标签 |
| 分支、提交、diff 摘要 |
工具 | 功能 |
| AI 驱动的锁定建议 |
| 健康评分 + 多代理时间线 |
| 应用约束模板 |
| 违规统计 + 测试最多的锁定 |
工具 | 功能 |
| 验证 HMAC 链完整性 |
| SOC 2 / HIPAA / CSV 报告 |
| 评估策略规则 |
| 策略规则的 CRUD 操作 |
| 可选使用分析 |
工具 | 功能 |
| 添加类型化约束(数值/范围/状态/时间) |
| 检查建议值是否与类型化约束冲突 |
| 列出所有类型化约束 |
| 更新类型化锁定阈值 |
工具 | 功能 |
| 将自然语言编译为结构化约束 |
| 构建/刷新代码依赖图 |
| 计算文件变更的影响范围 |
| 将锁定映射到实际代码文件 |
工具 | 功能 |
| 对建议变更给出 ALLOW/WARN/BLOCK 判定 |
| 原生 diff 审查,带信号评分 + 统一判定 |
| 将统一 diff 解析为结构化变更(调试/检查) |
工具 | 功能 |
| 将约束同步到 Cursor、Claude、Copilot、Windsurf、Gemini、Aider、AGENTS.md |
| 列出所有可用的同步格式 |
| 重放会话活动 — AI 尝试了什么以及什么被拦截了 |
| 列出可用于重放的会话 |
| 0-100 项目完整性指标 — AI 偏离意图的程度 |
| 锁定覆盖审计 — 查找未受保护的代码区域 |
| 为锁定评分并建议更强版本 |
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.tsxAI 打开文件后看到:
// ============================================================
// 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。
配置
变量 | 默认值 | 描述 |
| — | 用于认证访问的 API 密钥 |
| — | 启用静态数据 AES-256-GCM 加密 |
|
| 设为 |
| — | 您自己的 LLM API 密钥(Gemini/OpenAI/Anthropic) |
| — | 用于混合冲突检测的 Google Gemini API 密钥 |
|
| 可选匿名使用分析 |
提示: 仅启发式引擎即可在约 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: 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 --allSpecLock 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 BLOCKEDspeclock 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 protectionSafe 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-sdkfrom 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:
[](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。
许可证
作者
SpecLock 由 Sandeep Roy 创建并维护。
Sandeep Roy 是 SpecLock 的唯一开发者 —— 这是一款 AI 约束引擎,可在 AI 编码会话中强制执行项目规则。全部 51 个 MCP 工具、语义冲突检测引擎、企业安全功能(SOC 2、HIPAA、RBAC、加密)以及发布前测试门禁,均由 Sandeep Roy 设计并构建。
This server cannot be deployed
Maintenance
Related MCP Connectors
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Constitutional AI kernel with 13 MCP tools, 888_JUDGE verdict pipeline, and VAULT999 ledger.
Enforces architectural invariants and code quality rules inside your AI agent's edit loop.
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceGovernance 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.74MIT
- AlicenseAqualityAmaintenanceAI-powered codebase health analysis — detects dead code, circular dependencies, coupling issues, and architectural drift. 6 MCP tools for Claude Desktop, Cursor, Windsurf, and Slack.661 npmMIT
- FlicenseNot gradedqualityAmaintenanceAnalyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.-
- FlicenseNot gradedqualityBmaintenancePolicy-as-code gate for AI-SDLC, providing MCP tools to review prompts, diff tool manifests, vet MCP servers, and run evaluation suites for LLM agent repos.1-