WORKS ON BOLT.NEW, LOVABLE, CLAUDE CODE, CURSOR

AI Remembers.
SpecLock Enforces.

Memory alone isn't enough — AI tools forget constraints, ignore decisions, and break what works. SpecLock is the AI Constraint Engine that gives your AI memory + active enforcement.

Bolt.new Setup All Platforms ⭐ Star on GitHub
42
MCP Tools
11
Platforms
1073
Tests Passing
Free
Open Source
TESTED ON BOLT.NEW

Proof: SpecLock stops Bolt from breaking your code.

Real tests on a live Bolt.new project. Auth files locked, database locked to Supabase. Here's what happens when Bolt tries to violate constraints.

Test 1 — Locked Change Blocked

"Add social media login to auth page"

User: "Add social media login to auth page" Bolt: I cannot add social media login to the auth page. The auth files are locked with the constraint "Never modify auth files." SpecLock detected a HIGH conflict: - Direct keyword match on "auth" - Auth.tsx and AuthContext.tsx are guarded - Say "unlock" to remove the lock
Test 2 — Unlocked Feature Works

"Add dark theme to the app"

User: "Ok add dark theme to the app" Bolt: Checked SpecLock — no conflicts found. ✓ Created theme context with dark mode ✓ Added toggle button to Dashboard ✓ Updated color classes ✓ Build verified SpecLock blocks locked things. Everything else works normally.
Test 3 — Database Constraint Enforced

"Change the database to Firebase"

User: "Change the database to Firebase" Bolt: I cannot change the database to Firebase. This project has SpecLock constraints. Lock: "Database must always be Supabase — never change to another database" To use Firebase, you need to explicitly say "unlock" to remove the database lock.
Test 4 — File-Level Guard

Bolt reads the guard inside the file

User: "Add social media login to auth" Bolt reads Auth.tsx and sees (lines 2-7): // SPECLOCK-GUARD — DO NOT MODIFY THIS FILE // LOCKED: Never modify auth files Bolt: I cannot add social media login to the Auth component. This file is locked by SpecLock. "A request for features is not permission to edit."
Locked things? Blocked. Unlocked things? Work normally. One prompt to install: "Install speclock and set up project memory"
v5.4 — NEW

Project Health Dashboard — Three Numbers That Tell Your Story

Only SpecLock knows what was intended vs what was done. Drift Score, Lock Coverage, Lock Strengthener — metrics no other tool can provide. Plus: Universal Rules Sync, Incident Replay, 10 safety templates. 51 MCP tools. 991 tests.

Drift Score (0-100)

How much has your AI deviated from your architecture? Analyzes violations, overrides, reverts, lock churn, goal changes, and session gaps. The only real-time integrity metric for AI-built projects.

$ speclock drift Drift Score: 12/100 (A) — healthy Trend: stable | 6 signals analyzed Badge: ![drift](https://img.shields.io/badge/drift-12-green)

Lock Coverage Audit

Scans your codebase for high-risk patterns — auth, payments, database, secrets, API routes, security — and tells you what has no lock. Auto-suggests the missing constraints.

$ speclock coverage Lock Coverage: 83% (A) [COVERED] auth, secrets, API [EXPOSED] payments — 1 file at risk Suggested: speclock lock "Never modify payments"

Lock Strengthener

Grades each lock’s specificity and detection power. Catches vague locks, missing enforcement verbs, ambiguous scope. Suggests stronger versions that block more violations.

$ speclock strengthen [WEAK ] 30/100 "dont break things" → "Never modify, refactor, or delete..." [STRONG] 90/100 "Never expose API keys"

Universal Rules Sync

One command syncs constraints to Cursor, Claude Code, Copilot, Windsurf, Gemini, Aider, AGENTS.md. Stop maintaining 3 separate rules files.

$ speclock sync --all → 7 files synced

Incident Replay

Flight recorder for AI sessions. See exactly what your agent tried and what SpecLock caught. ALLOW / WARN / BLOCK for every action.

$ speclock replay → session activity log

10 Safety Templates

Pre-built lock packs: safe-defaults (vibe coding seatbelt), hipaa (healthcare), api-stability, solo-founder, Next.js, React, Express, Supabase, Stripe, security.

$ speclock template apply safe-defaults

v5.4 is live on npm and GitHub. Update with: npx speclock@latest

v5.2 — NEW

AI Patch Firewall — Every Change Gets a Verdict

Patch Gateway (v5.1) + diff-native AI Patch Firewall (v5.2). Intent review + actual diff analysis. 10 scored signals. Hard escalation rules. ALLOW / WARN / BLOCK on every change. 51 MCP tools. 991 tests across 19 suites.

🛡

Patch Gateway (v5.1)

One API call gates every change. Combines semantic conflict + lock-to-file mapping + blast radius + typed constraints into a single ALLOW/WARN/BLOCK verdict with risk score 0-100.

Input: { description: "Add social login", files: ["src/auth/login.js"] } Output: { verdict: "BLOCK", riskScore: 85 } reasons: ["Semantic conflict with auth lock", "File in locked zone (blast: 12)"]
🔥

AI Patch Firewall (v5.2)

Reviews actual git diffs. 10 scored signals: interface breaks, protected symbol edits, dependency drift, schema changes, API route removals. Hard escalation auto-BLOCKs destructive changes.

POST /api/v2/gateway/review-diff diff: "--- a/schema.sql\n+++ b/schema.sql\n-DROP TABLE users;" verdict: "BLOCK" (hard escalation) reason: "Destructive schema change"
📜

Spec Compiler

Paste a PRD, README, or architecture doc. Gemini Flash extracts locks, typed constraints, decisions, and notes automatically. Turn messy human text into machine-enforceable constraints.

$ speclock_compile_spec text: "Use React. Never touch auth. <200ms" ✓ 1 lock: "Never touch auth" ✓ 1 typed: response_time <= 200ms ✓ 1 decision: "Use React"
🕸

Code Graph & Blast Radius

Builds a live dependency graph from imports (JS/TS/Python). Maps locks to actual files. Calculates blast radius — transitive dependents, impact %, critical paths.

$ speclock_blast_radius file: "src/db/users.js" directDependents: 3 transitiveDependents: 8 impactPercent: 19% depth: 4 | blastRadius: 8/42 files
📏

Typed Constraints

Numerical, range, state, and temporal constraints with operator enforcement. "Response time ≤ 200ms", "Uptime ≥ 99.9%", "State must be production." REST API v2 + 4 MCP tools.

$ speclock_add_typed_lock type: "numerical" metric: "response_time" operator: "<=" value: 200 unit: "ms" ✓ Typed lock added: response_time <= 200ms

1073 Tests · 15 Suites

133 new tests for Patch Gateway (57) and Diff Review (76). Plus Python SDK (62), ROS2 Guardian (26), Spec Compiler (24), Code Graph (33). All 19 suites green.

✓ Patch Gateway: 57/57 ✓ Diff Review: 76/76 ✓ Spec Compiler: 24/24 ✓ Code Graph: 33/33 ✓ Python SDK: 62/62 ✓ ROS2 Guardian: 26/26

v5.5.2 is live on npm and GitHub now. Update with: npx speclock@latest

v4.5

Semantic Engine v4 — Real Conflict Detection

99.4% detection rate, 0% false positives across 15 domains. 65+ synonym groups, 80+ euphemism mappings, intent classifier, domain concept maps, Gemini Flash LLM hybrid.

📦

Constraint Templates

Pre-built lock packs for popular frameworks. One command adds 5-6 locks + decisions instantly. Like ESLint configs for AI constraints.

$ npx speclock template apply nextjs ✓ Applied 5 locks + 2 decisions Locks: routing, API routes, middleware, auth system, server components
Next.js React Express Supabase Stripe Security
📊

Violation Report

Every blocked change is tracked. See stats on how many times SpecLock protected your project. Screenshot-worthy proof that enforcement works.

$ npx speclock report Total blocked: 12 Most tested locks: 5x — "Never modify auth files" 4x — "Database must be Supabase" 3x — "No raw SQL queries"
🚨

Git Pre-commit Hook

True git-level enforcement. Staged files are checked against locks before every commit. Violations = commit blocked. No competitor does this.

$ npx speclock hook install ✓ Pre-commit hook installed $ git commit -m "update auth" AUDIT FAILED: auth.tsx has SPECLOCK-GUARD Commit blocked. Unlock or unstage.

Included in v5.5.2 on npm and GitHub. Update with: npx speclock@latest

v4.5

Enterprise & Compliance — Production-Grade Enforcement

HMAC audit chains, SOC 2 & HIPAA compliance exports, license tiers, HTTP hardening, GitHub Actions CI/CD, and 2 new MCP tools.

🛡

HMAC Audit Chain

Every event gets HMAC-SHA256 hash chained to previous event. Tamper-proof, SOC 2 compliant. Cryptographic proof your constraints were never bypassed.

$ npx speclock audit-verify ✓ 247 events verified ✓ HMAC chain intact No tampering detected
📋

Compliance Exports

Generate SOC 2 Type II, HIPAA, and CSV audit reports on demand. Hand them to auditors. Prove your AI development process is compliant.

$ npx speclock export --format soc2 ✓ SOC 2 Type II report generated .speclock/exports/soc2-report.json $ npx speclock export --format hipaa ✓ HIPAA audit report generated
🔑

License Tiers

Scale from hobby to enterprise. Free tier (10 locks), Pro at $19/mo (unlimited + LLM + compliance), Enterprise at $99/mo (RBAC + encryption + SSO).

$ npx speclock license Current: Free (10 locks) Pro — $19/mo: unlimited + LLM + compliance Enterprise — $99/mo: RBAC + encryption + SSO
🌐

HTTP Server Hardening

Rate limiting (100 req/min), CORS configuration, and /health endpoint. Production-ready HTTP transport for MCP server deployments.

GET /health { "status": "ok", "version": "5.5.2" } Rate limit: 100 req/min CORS: configurable origins

GitHub Actions

CI/CD constraint enforcement via composite action. Block merges that violate locks. SpecLock in your pipeline, not just your editor.

# .github/workflows/speclock.yml - uses: sgroy10/speclock-action@v1 with: command: audit ✓ All constraints satisfied
🔧

2 New MCP Tools + 3 CLI Commands

speclock_verify_audit and speclock_export_compliance MCP tools. Plus CLI: audit-verify, export --format, license.

$ npx speclock audit-verify $ npx speclock export --format csv $ npx speclock license ✓ 51 MCP tools · Spec Compiler · Code Graph

Included in v5.5.2 on npm and GitHub. Update with: npx speclock@latest

v4.5

Hard Enforcement — AI Can't Ignore Your Rules

SpecLock moves from advisory (warnings) to hard enforcement (blocking). When hard mode is active, the AI physically cannot proceed past a lock violation — MCP returns isError: true.

🛑

Hard Mode

Advisory warns. Hard mode blocks. MCP returns isError:true, CLI exits with code 1, HTTP returns 409. The AI cannot proceed.

🔍

Semantic Pre-Commit

Parses actual git diff content — not just filenames. Runs semantic analysis on every changed line against your locks.

🔑

Override with Reason

Locks can be overridden with justification. Every override is logged to the HMAC audit trail. Full accountability.

⚠️

Auto-Escalation

Lock overridden 3+ times? SpecLock auto-creates a pinned review note. Patterns of rule-breaking get flagged.

⚙️

Configurable Threshold

Block threshold: 0–100%. Default 70%. Only high-confidence conflicts trigger hard blocks. Low-confidence = advisory warning.

🧩

Modular Architecture

Engine refactored into focused modules: memory.js, tracking.js, conflict.js, sessions.js, enforcer.js. Clean separation of concerns.

# Enable hard enforcement npx speclock enforce hard --threshold 70 # Now conflicts are BLOCKED, not just warned npx speclock check "Delete patient records" BLOCKED — Hard enforcement active. This action cannot proceed. # Override with justification (logged to audit trail) npx speclock override lock_abc123 "Data retention policy approved by PM" # Semantic pre-commit — analyzes code changes, not filenames npx speclock audit-semantic

Included in v5.5.3 on npm. 51 MCP tools. 991 tests passing. Hard enforcement is here.

v4.5

Security & Access Control — Enterprise-Grade Protection

SpecLock includes API key authentication, role-based access control, and AES-256-GCM encryption. 991 tests passing across 15 suites. Built for HIPAA-compliant environments.

🔑

API Key Authentication

SHA-256 hashed API keys with sl_key_ prefix. Create, rotate, and revoke keys instantly. Only hashes are stored — keys are never persisted in plaintext.

👥

RBAC — 4 Roles

viewer (read-only) · developer (add notes, check conflicts) · architect (manage locks & decisions) · admin (full control, key management, encryption config).

🔐

AES-256-GCM Encryption

Transparent at-rest encryption for all SpecLock data. HIPAA-compliant by default. Encryption is automatic — no workflow changes required. Keys managed via environment variables.

1073 Tests · 15 Suites

Comprehensive test coverage across security, RBAC, encryption, API auth, policy-as-code, patch gateway, diff review, spec compiler, code graph, Python SDK, ROS2, and core functionality.

# Create an API key (admin only) npx speclock auth create-key --name "ci-pipeline" --role developer → sl_key_a1b2c3... (shown once, SHA-256 hash stored) # Rotate a compromised key npx speclock auth rotate-key --name "ci-pipeline" # Enable at-rest encryption SPECLOCK_ENCRYPTION_KEY=your-256-bit-key npx speclock init ✓ AES-256-GCM encryption active · HIPAA-ready

Included in v5.5.3 on npm. 51 MCP tools. 991 tests passing across 19 suites. Enterprise security is here.

Live Demo

See it in action

Memory + enforcement in action. The AI remembers your constraints and actively blocks violations.

# Session 1 — Setting up the project $ speclock_session_briefing > Project memory active. No previous context found. $ speclock_set_goal "Build a SaaS dashboard with Stripe billing" > Goal set. $ speclock_add_lock "Never modify auth files without permission" > 🔒 Locked: "Never modify auth files without permission" $ speclock_add_decision "Use Supabase for auth, Stripe for payments" > Decision recorded. $ speclock_session_summary "Set up project structure and core constraints" > Session saved. 1 lock, 1 decision tracked. # Session 2 — AI remembers everything $ speclock_session_briefing > 🔒 Memory loaded — 1 lock, 1 decision, 1 session tracked. > Goal: Build a SaaS dashboard with Stripe billing > Lock: Never modify auth files without permission $ speclock_check_conflict "Adding social login to auth page" > ⚠️ CONFLICT (HIGH confidence): Violates lock "Never modify auth files" > Action blocked. Ask user for permission before proceeding.
The Problem

Memory without enforcement is dangerous.

Some AI tools now have memory. But remembering is not the same as respecting.

💥

AI Breaks What You Locked

You said "never touch auth files." The AI remembers — and rewrites them anyway while "fixing a bug."

🔄

Decisions Get Overridden

You chose PostgreSQL. Three sessions later, the AI switches to MongoDB because it "seemed better."

🚫

No Constraint Enforcement

Claude's native memory, Mem0, CLAUDE.md — none of them stop the AI when it's about to violate a rule.

🧠

Bolt.new Has Nothing

Millions of vibe coders on Bolt.new have zero memory and zero protection between sessions. Every chat starts from scratch.

🤖

Multi-Agent Chaos

Agent A locks the API. Agent B doesn't know and rewrites it. No tool tracks constraints across agents — except SpecLock.

🔁

Passive Memory = False Safety

Your AI "remembers" your rules in a text file. But when the context is long, it ignores them. You need active enforcement, not passive notes.

Why SpecLock

How SpecLock compares to alternatives

Memory tools exist. But none of them enforce constraints or work on Bolt.new.

Feature Claude Native Memory Mem0 CLAUDE.md / .cursorrules SpecLock
Stops AI from breaking locks No No No Yes — active enforcement
Semantic conflict detection No No No Yes — synonyms + negation
Works on Bolt.new No (Claude only) No No Yes — npm file-based
Works on Lovable No No No Yes — MCP remote
Remembers context Yes Yes Manual Yes
Structured decisions/locks Flat text Tags only Flat text Goals, locks, decisions
Git-aware (checkpoints) No No No Yes
Constraint templates No No No Yes — 6 built-in
Violation tracking & reports No No No Yes — stats + timeline
Git pre-commit enforcement No No No Yes — blocks commits
Cross-platform Claude only MCP only Tool-specific MCP + npm (universal)
Price Free (Claude only) Free tier / $249/mo Free (manual) Free & open source

Other tools remember. SpecLock enforces.

How It Works

SpecLock in real life

Connect once. The AI handles everything automatically. Here's what happens:

Lock

You lock something important

You: "Don't ever touch the auth files" AI: 🔒 Locked: "Never modify auth files"
Protect

AI checks before every change

You: "Add social login" AI: ⚠️ This conflicts with your lock: "Never modify auth files" Proceed or find another way?
Remember

New session, full memory

You: "Let's work on the dashboard" AI: 🔒 Memory loaded — 5 locks, 3 decisions, 2 sessions tracked. Ready to continue.
Unlock

You change your mind

You: "Unlock the auth files" AI: You locked: "Never modify auth files". Want me to unlock? You: "Yes" AI: 🔓 Unlocked. Proceeding.
Setup

Connect in 2 minutes

Choose your platform. Follow the steps. Done.

Lovable — Custom MCP Server

Easy — 3 min
1

Connect SpecLock MCP

Go to Settings → Connectors → Personal connectors → New MCP server

Server name: SpecLock Server URL: https://speclock-mcp-production.up.railway.app/mcp Auth: No authentication
2

Add Project Instructions (REQUIRED)

Go to Project Settings → Knowledge and paste the SpecLock rules. This makes the AI use SpecLock automatically on every message. Copy the rules below ↓

3

Start Building

That's it! Every chat now auto-loads your memory, checks constraints, and logs decisions. Say "Initialize SpecLock" in your first chat to get started.

Requires Lovable paid plan (Pro $25/mo) for custom MCP servers.

Claude Code

Easy — 1 min
1

Install via Smithery

npx @anthropic-ai/smithery-cli install sgroy10/speclock --client claude-code
2

Or add to ~/.claude.json manually

{ "mcpServers": { "speclock": { "command": "npx", "args": ["-y", "speclock", "serve", "--project", "."] } } }
3

Done — Zero Config Needed

Claude Code follows MCP server instructions automatically. No extra setup. SpecLock works the moment you connect it.

Cursor

Easy — 2 min
1

Add to .cursor/mcp.json

{ "mcpServers": { "speclock": { "command": "npx", "args": ["-y", "speclock", "serve", "--project", "."] } } }
2

Add Project Instructions (RECOMMENDED)

Add the SpecLock rules to .cursorrules in your project root for best results. Copy the rules below ↓

Windsurf

Easy — 2 min
1

Add to MCP config

Add to ~/.codeium/windsurf/mcp_config.json:

{ "mcpServers": { "speclock": { "command": "npx", "args": ["-y", "speclock", "serve", "--project", "."] } } }
2

Add Project Instructions (RECOMMENDED)

Add the SpecLock rules to .windsurfrules in your project root. Copy the rules below ↓

Cline (VS Code Extension)

Easy — 2 min
1

Add to Cline MCP Settings

Click MCP Servers icon in the Cline sidebar → Configure MCP Servers

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

OpenAI Codex

Easy — 2 min
1

Via Smithery

Visit smithery.ai/servers/sgroy10/speclock → click Codex and follow the auto-generated configuration.

bolt.diy (Open Source Bolt)

Medium — 5 min
1

Add Remote MCP Server

In bolt.diy, go to Settings → MCP and add:

{ "speclock": { "type": "streamable-http", "url": "https://speclock-mcp-production.up.railway.app/mcp" } }

Bolt.new — npm File-Based Mode

Easy — 1 min
1

Just tell Bolt to install it

In any Bolt.new project, type this in the chat:

Install speclock and set up project memory for my app

Pro tip: Use a template for instant constraints:

npx speclock setup --goal "My app" --template nextjs
2

That's it. Bolt does the rest.

Bolt will run npx speclock setup, read the generated SPECLOCK.md rules file, and start using SpecLock automatically. It will add locks when you say "never/always/don't touch", check constraints before changes, and log what it builds. No MCP needed. No config. No paste.

Works on Bolt.new free and paid plans. No MCP support required — uses npm file-based mode.

Project Instructions

The rules that make SpecLock automatic

Copy these rules and paste them into your platform's project instructions. This tells the AI to use SpecLock on every message — no commands needed.

🔒 SpecLock Project Instructions — Copy & Paste

Where to paste (one-time setup):

PlatformWhere to PasteAuto from MCP?
LovableProject Settings → KnowledgeNo — paste required
Claude CodeCLAUDE.md in project rootYes — works without paste
Cursor.cursorrules in project rootPartial — paste recommended
Windsurf.windsurfrules in project rootPartial — paste recommended
ClineCustom Instructions in settingsPartial — paste recommended
bolt.diySystem prompt settingsNo — paste required

The rules to copy:

## SpecLock Rules (MANDATORY — follow on every message) 1. START OF EVERY CONVERSATION: Call speclock_session_briefing FIRST. Read all locks, decisions, and goals before doing anything else. Show a brief summary: "🔒 Memory loaded — X locks, Y decisions." 2. BEFORE WRITING OR MODIFYING ANY CODE: Call speclock_check_conflict with a description of what you're about to change (e.g., "Adding payment page" or "Modifying the auth login flow"). If a conflict is found with HIGH confidence, STOP and tell me which lock would be violated. Do NOT proceed unless I explicitly say to override it. 3. WHEN I SAY "lock this", "never touch this", "don't ever change this", "this is critical", or similar: Immediately call speclock_add_lock with my exact constraint. Confirm with: "🔒 Locked: [constraint]" 4. AFTER COMPLETING ANY FEATURE OR SIGNIFICANT CHANGE: Call speclock_log_change with a summary of what was built/changed and which files were affected. Also call speclock_add_decision if an architectural choice was made. 5. WHEN I ASK TO REMOVE OR CHANGE SOMETHING THAT WAS LOCKED: Warn me first: "⚠️ You locked this: [constraint]. Want me to unlock it and proceed?" Only proceed if I confirm. 6. END OF CONVERSATION: Call speclock_session_summary with what was accomplished.

That's it. Paste once, and every chat after that will automatically use SpecLock. The AI will load your memory at the start, check constraints before changes, and log what it builds. You never have to type a SpecLock command.

51 MCP Tools

Everything SpecLock can do

Memory management, change tracking, constraint enforcement, git integration, and AI-powered intelligence.

Memory
speclock_init
Initialize SpecLock in project
Memory
speclock_get_context
Full structured context pack
Memory
speclock_set_goal
Set or update project goal
Memory
speclock_add_lock
Add non-negotiable constraint
Memory
speclock_remove_lock
Deactivate a lock by ID
Memory
speclock_add_decision
Record architectural decision
Memory
speclock_add_note
Add a pinned note
Memory
speclock_set_deploy_facts
Record deploy configuration
Tracking
speclock_log_change
Log a significant change
Tracking
speclock_get_changes
Get recent tracked changes
Tracking
speclock_get_events
Get event log (filterable)
Protection
speclock_check_conflict
Check action against locks
Protection
speclock_session_briefing
Start session + full briefing
Protection
speclock_session_summary
End session + record summary
Git
speclock_checkpoint
Create named git tag
Git
speclock_repo_status
Branch, commit, diff info
Intelligence
speclock_suggest_locks
AI-powered lock suggestions
Intelligence
speclock_detect_drift
Scan for constraint violations
Intelligence
speclock_health
Health score + agent timeline
Templates
speclock_apply_template
Apply constraint templates
Reports
speclock_report
Violation report + stats
Enforcement
speclock_audit
Audit staged files vs locks
Compliance
speclock_verify_audit
Verify HMAC audit chain integrity
Compliance
speclock_export_compliance
Export SOC 2 / HIPAA / CSV reports
Enforcement
speclock_set_enforcement
Set advisory or hard mode
Enforcement
speclock_override_lock
Override lock with justification
Enforcement
speclock_semantic_audit
Semantic pre-commit analysis
Enforcement
speclock_override_history
View override audit trail
Platform
speclock_policy_evaluate
Evaluate policy rules vs actions
Platform
speclock_policy_manage
Policy CRUD: list, add, remove
Platform
speclock_telemetry
Opt-in usage analytics summary
Typed
speclock_add_typed_lock
Add numerical/range/state/temporal constraint
Typed
speclock_check_typed
Check values against typed constraints
Typed
speclock_list_typed_locks
List all typed constraints
Typed
speclock_update_threshold
Update typed lock thresholds
Compiler
speclock_compile_spec
NL → constraints via Gemini Flash
Graph
speclock_build_graph
Build code dependency graph
Graph
speclock_blast_radius
Transitive dependents + impact %
Graph
speclock_map_locks
Map locks to actual code files
Firewall
speclock_review_patch
ALLOW/WARN/BLOCK verdict
Firewall
speclock_review_patch_diff
Diff-native review (10 signals)
Firewall
speclock_parse_diff
Parse unified diff into structure
Platform Matrix

Where SpecLock works today

Platform MCP Support SpecLock Status Instructions Needed?
Lovable Custom MCP (Paid) Ready Yes — paste into Knowledge
Claude Code Native MCP Ready No — auto from MCP
Cursor Native MCP Ready Recommended — .cursorrules
Windsurf Native MCP Ready Recommended — .windsurfrules
Cline Native MCP Ready Recommended
Codex (OpenAI) Via Smithery Ready TBD
bolt.diy MCP Support Ready Yes — paste into system prompt
Bolt.new npm file-based Ready No — reads SPECLOCK.md
Why I Built This

Built from 1 year of AI frustration.

"I spent a year building products with AI coding tools. Every session, my AI forgot what we agreed on. 'Never touch auth' became 'oops, I rewrote your login flow.' I chose PostgreSQL — three sessions later, the AI migrated to MongoDB. I built SpecLock because memory without enforcement is useless. Other tools remember. SpecLock is the only one that says NO when you're about to break something."

SR
Sandeep Roy
npm version GitHub stars MIT License npm downloads