SpecLock
¿Por qué otra herramienta de reglas? Los archivos de reglas son contexto. Pueden olvidarse, diluirse o sobrescribirse durante una sesión de codificación larga. SpecLock convierte esas reglas en comprobaciones que se ejecutan antes de ediciones, comandos de shell y commits.
Ver la diferencia
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 utiliza detección de conflictos semánticos en lugar de la simple coincidencia de palabras clave. Detecta acciones indirectas como "limpiar datos antiguos de pacientes", "agilizar el checkout" o "deshabilitar MFA temporalmente" cuando violan una restricción activa.
Related MCP server: CodeHealth MCP
Instalación en 60 segundos
Ejecuta esto desde el proyecto que quieres proteger:
npx speclock@latest protect # reads existing AI rule files; advisory by default
npx speclock@latest doctor # confirms rules, hooks, and integrationCuando la salida de asesoramiento parezca correcta, habilita el bloqueo:
npx speclock@latest protect --strictNo se requiere cuenta. SpecLock se ejecuta localmente por defecto, y el modo de asesoramiento nunca bloquea un cambio.
Instalar como plugin de Claude Code
Dentro de Claude Code, ejecuta:
/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplaceLuego protege el proyecto actual una vez:
npx speclock@latest protect # warnings only
npx speclock@latest protect --strict # block confirmed conflictsEl plugin inicia automáticamente el servidor MCP de SpecLock y comprueba las acciones Write, Edit y Bash de Claude Code antes de su ejecución. Incluye las 51 herramientas MCP y funciona junto a tu CLAUDE.md existente.
Instalar en otros agentes de codificación
SpecLock está empaquetado para múltiples ecosistemas de agentes, pero el nivel de cumplimiento depende de lo que exponga cada anfitrión:
Plataforma | Ruta de instalación/descubrimiento | Nivel de protección |
Claude Code | Plugin nativo del marketplace anterior | Comprobaciones nativas previas a la acción para |
Gemini CLI | Instalar este repositorio como extensión | Comprobaciones asistidas por MCP más contexto del proyecto |
Cursor | Agente / paquete del marketplace de Cursor | Comprobaciones asistidas por MCP más reglas |
Codex | Plugin de Codex en | Comprobaciones asistidas por MCP más |
GitHub Copilot CLI | Añadir este repositorio como plugin del marketplace | Comprobaciones asistidas por MCP más contexto de plugin incluido |
Cline | Servidor MCP; envío al marketplace en curso | Comprobaciones asistidas por MCP |
Windsurf |
| Comprobaciones asistidas por MCP más reglas |
Cualquier cliente Git o CI |
| Cumplimiento en commit/CI independiente del agente de codificación |
Asistido por MCP significa que el agente puede llamar a SpecLock antes de actuar; no garantiza la interceptación. Usa speclock protect --strict y CI cuando una restricción deba cumplirse independientemente del cliente.
SpecLock tiene un trabajo diferente al de la memoria y las habilidades: la memoria recuerda contexto, las habilidades proporcionan procedimientos, y SpecLock verifica acciones planificadas contra restricciones explícitas. Reduce la deriva de restricciones; no puede garantizar la corrección factual ni evitar que un modelo alucine.
Instalaciones en repositorios compatibles con los clientes actuales:
gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplaceQué obtienes
Capacidad | Qué hace |
Comprobaciones previas a la acción | Revisa escrituras, ediciones y comandos de shell de Claude Code antes de que se ejecuten |
Restricciones semánticas | Detecta sinónimos, eufemismos, solicitudes compuestas y evasiones indirectas |
Cumplimiento en Git | Añade una segunda barrera en el momento del commit |
Modos de asesoramiento y estricto | Comienza con advertencias; opta por el bloqueo duro cuando estés listo |
Registro de auditoría | Registra decisiones en una cadena HMAC a prueba de manipulaciones |
Integración MCP | Expone 51 herramientas a Claude Code, Cursor, Codex, Windsurf y Cline |
Recibos de guardado compartibles | Muestra lo que SpecLock evitó con |
Probado en código abierto
Más de 10 000 descargas en npm antes del lanzamiento del plugin nativo de Claude Code.
1043 pruebas automatizadas en 24 suites, que incluyen conflictos adversariales, casos de falsos positivos, análisis de parches, cumplimiento, autenticación y conformidad.
Licencia MIT e inspeccionable de principio a fin.
Opciones locales por defecto con funciones remotas opcionales claramente separadas.
Comandos que usarás más
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 receiptReferencia completa: npx speclock@latest help
Novedades en v5.8.0
Empaquetado de plugin portable compatible con el descubrimiento de Cursor.
Empaquetado de extensión para Gemini CLI con inicio de MCP y contexto de restricciones.
Plugin para Codex con una skill
$speclock-guardrailsy servidor MCP fijado.Compatibilidad con GitHub Copilot CLI mediante el marketplace de repositorios.
Etiquetas de cumplimiento explícitas por plataforma: hook nativo, asistido por MCP o Git/CI.
El problema
Las herramientas de codificación con IA tienen memoria ahora. Claude Code tiene CLAUDE.md. Cursor tiene .cursorrules. Mem0 existe.
Pero la memoria sin cumplimiento es inútil.
Tu IA recuerda que usas PostgreSQL — y luego cambia a MongoDB porque "parecía mejor." Tu IA recuerda tu configuración de autenticación — y luego la reescribe mientras "arregla" un error. Dijiste "no toques la lógica de pagos" hace 3 sesiones — a la IA no le importa.
Recordar no es respetar. Ninguna herramienta existente impide que la IA rompa lo que bloqueaste.
Cómo funciona
Tú estableces restricciones. SpecLock las hace cumplir — entre sesiones, entre herramientas, entre equipos.
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"El motor semántico no hace coincidencia de palabras clave. Entiende:
"limpiar datos antiguos" = eliminación (detección de eufemismos)
"agilizar el checkout" = modificar el flujo de pago (mapeo de sinónimos y conceptos)
"deshabilitar el registro temporalmente" = deshabilitar el registro (detección de evasión temporal)
"Actualizar la interfaz y también eliminar la tabla de usuarios" = violación oculta (divisor de solicitudes compuestas)
Y sabe qué es seguro:
"Habilitar el registro de auditoría" cuando el bloqueo dice "Nunca deshabilites el registro de auditoría" → sin conflicto (alineación de intención)
Inicio rápido por plataforma
Bolt.new / Aider / Cualquier plataforma npm
npx speclock setup --goal "Build my app" --template nextjsCrea SPECLOCK.md, inyecta reglas en package.json, genera .speclock/context/latest.md. La IA lee estos archivos automáticamente.
Claude Code
Instala el plugin usando los comandos anteriores. Para una configuración solo con MCP sin los
hooks del plugin, añade esto a .mcp.json:
{
"mcpServers": {
"speclock": {
"command": "npx",
"args": ["--yes", "speclock@5.8.0", "serve", "--project", "."]
}
}
}Cursor / Windsurf / Cline
Misma configuración — añádela a .cursor/mcp.json o equivalente.
Lovable (Sin instalación)
Ve a Configuración → Conectores → Nuevo servidor MCP
Introduce la URL:
https://speclock-mcp-production.up.railway.app/mcpPega las instrucciones del proyecto en Knowledge
¿Por qué SpecLock en lugar de las alternativas?
Memoria de Claude | Mem0 |
| SpecLock | |
Recuerda contexto | Sí | Sí | Manual | Sí |
Impide que la IA rompa cosas | No | No | No | Sí |
Detección de conflictos semánticos | No | No | No | Sí — cubierto por pruebas adversariales |
Registro de auditoría a prueba de manipulaciones | No | No | No | Cadena HMAC-SHA256 |
Cumplimiento estricto (la IA no puede continuar) | No | No | No | Sí |
Exportaciones de conformidad SOC 2 / HIPAA | No | No | No | Sí |
Almacenamiento cifrado (AES-256-GCM) | No | No | No | Sí |
RBAC + autenticación con clave API | No | No | No | 4 roles |
DSL de políticas como código | No | No | No | Reglas YAML |
Funciona en Bolt.new, Lovable, etc. | No | No | No | Sí |
Otras herramientas recuerdan. SpecLock hace cumplir.
Motor semántico
No es coincidencia de palabras clave — es análisis semántico con un híbrido opcional de Gemini Flash para casos de zona gris y entre dominios. El repositorio incluye suites de pruebas adversariales, de falsos positivos, de formulación de preguntas, de puerta de enlace de parches y de análisis de diferencias.
Cómo funciona por dentro: 65+ grupos de sinónimos · 80+ mapeos de eufemismos · mapas de conceptos por dominio (fintech, comercio electrónico, IoT, salud, SaaS, pagos, videojuegos, telecomunicaciones, gobierno) · clasificador de intenciones · separador de oraciones compuestas · detector de evasión temporal · normalización de tiempos verbales · detección de cambios cosméticos en la interfaz · patrones de intención segura · análisis de voz pasiva — todo en JavaScript puro. Híbrido con Gemini Flash para casos de zona gris ($0.01/1000 comprobaciones).
Cumplimiento estricto
Dos modos:
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 blockedUmbral configurable — 70% por defecto. Solo los conflictos de alta confianza bloquean.
Anulación con motivo —
speclock override <lockId> "JIRA-1234: aprobado por el CTO"(registrado en el registro de auditoría)Escalado automático — bloqueo anulado 3+ veces → se marca automáticamente para revisión
Seguridad empresarial
Autenticación con clave API + RBAC
speclock auth create-key --role developer --name "CI Bot"
# → sk_speclock_a1b2c3... (shown once, stored as SHA-256 hash)Rol | Lectura | Bloqueos de escritura | Anulación | Admin |
| Sí | — | — | — |
| Sí | — | Con motivo | — |
| Sí | Sí | Sí | — |
| Sí | Sí | Sí | Sí |
Cifrado AES-256-GCM
export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt # Encrypts brain.json + events.log at restDerivación de clave PBKDF2 (100K iteraciones). Cifrado autenticado. Cumplimiento HIPAA 2026.
Cadena de auditoría HMAC
Cada evento recibe un hash HMAC-SHA256 encadenado al evento anterior. Si se modifica algo, la cadena se rompe.
$ speclock audit-verify
✓ Audit chain VALID — 247 events, 0 broken links, no tampering detected.Exportaciones de cumplimiento
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 spreadsheetsPolítica como código
Reglas YAML declarativas para el cumplimiento a nivel de organización:
# .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: highImporta y exporta políticas entre proyectos. Comparte plantillas de restricciones en toda tu organización.
API REST v2
Comprobación de restricciones en tiempo real, revisión de parches y sistemas autónomos:
# 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 herramientas MCP
Herramienta | Qué hace |
| Inicializar SpecLock en el proyecto |
| Paquete de contexto completo (la herramienta clave) |
| Establecer el objetivo del proyecto |
| Añadir restricción + archivos de guardado automático |
| Eliminación suave de un bloqueo |
| Registrar decisión arquitectónica |
| Añadir nota fijada |
| Registrar configuración de despliegue |
Herramienta | Qué hace |
| Comprobación de conflicto semántico contra todos los bloqueos |
| Cambiar modo consultivo/duro |
| Anular con motivo (registrado en auditoría) |
| Ver el registro de auditoría de anulaciones |
| Analizar diff de git contra bloqueos |
| Escanear violaciones de restricciones |
| Auditar archivos en preparación antes del commit |
Herramienta | Qué hace |
| Iniciar sesión + informe completo |
| Finalizar sesión + registrar resumen |
| Registrar un cambio con archivos |
| Cambios recientes registrados |
| Registro de eventos completo (filtrable) |
| Etiqueta de git para reversión |
| Resumen de rama, commit, diff |
Herramienta | Qué hace |
| Sugerencias de bloqueo con IA |
| Puntuación de salud + línea de tiempo multiagente |
| Aplicar plantilla de restricciones |
| Estadísticas de violaciones + bloqueos más probados |
Herramienta | Qué hace |
| Verificar integridad de la cadena HMAC |
| Informes SOC 2 / HIPAA / CSV |
| Evaluar reglas de política |
| CRUD para reglas de política |
| Analítica de uso opcional |
Herramienta | Qué hace |
| Añadir restricción tipada (numérica/rango/estado/temporal) |
| Comprobar valores propuestos contra restricciones tipadas |
| Listar todas las restricciones tipadas |
| Actualizar umbrales de restricciones tipadas |
Herramienta | Qué hace |
| Compilar lenguaje natural en restricciones estructuradas |
| Construir/actualizar grafo de dependencias de código |
| Calcular radio de impacto de cambios de archivos |
| Mapear bloqueos a archivos de código reales |
Herramienta | Qué hace |
| Veredicto PERMITIR/ADVERTIR/BLOQUEAR para cambios propuestos |
| Revisión nativa de diff con puntuación de señal + veredicto unificado |
| Analizar diff unificado en cambios estructurados (depuración/inspección) |
Herramienta | Qué hace |
| Sincronizar restricciones a Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md |
| Listar todos los formatos de sincronización disponibles |
| Reproducir la actividad de una sesión — qué intentó la IA y qué se detectó |
| Listar sesiones disponibles para reproducción |
| Métrica de integridad del proyecto 0-100 — cuánto se desvió la IA de la intención |
| Auditoría de cobertura de bloqueos — encontrar áreas de código sin protección |
| Calificar bloqueos y sugerir versiones más sólidas |
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 rulesReferencia completa de comandos: npx speclock help
Auto-Guard
Cuando bloqueas algo, SpecLock encuentra archivos relacionados e inyecta una advertencia que la IA ve al abrirlos:
speclock lock "Never modify auth files"
→ Auto-guarded 2 files:
🔒 src/components/Auth.tsx
🔒 src/contexts/AuthContext.tsxLa IA abre el archivo y ve:
// ============================================================
// SPECLOCK-GUARD — DO NOT MODIFY THIS FILE
// LOCKED: Never modify auth files
// ONLY "unlock" or "remove the lock" is permission to edit.
// ============================================================Arquitectura
┌──────────────────────────────────────────────────┐
│ 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 dependencias npm. Cero dependencias de tiempo de ejecución para el motor semántico. JavaScript puro.
Configuración
Variable | Valor por defecto | Descripción |
| — | Clave de API para acceso autenticado |
| — | Habilita cifrado AES-256-GCM en reposo |
|
| Establecer |
| — | Tu propia clave de API de LLM (Gemini/OpenAI/Anthropic) |
| — | Clave de API de Google Gemini para detección de conflictos híbrida |
|
| Analítica de uso anónima opcional |
Consejo: El motor heurístico solo alcanza una precisión del 95%+ en ~250ms. El proxy de Gemini añade cobertura entre dominios pero tarda ~2s. Para una respuesta más rápida, establece
SPECLOCK_NO_PROXY=true.
Resultados de las pruebas
La puerta de pre-publicación ejecuta las 24 suites antes de cada publicación en npm. Si alguna prueba falla, la publicación se bloquea.
Suite | Pruebas | Tasa de aprobación | Qué cubre |
Probadores del mundo real | 111 | 100% | 5 desarrolladores, más de 30 bloqueos, dominios diversos |
Conflicto adversarial | 46 | 100% | Eufemismos, evasión temporal, oraciones compuestas |
Fase 4 (multidominio) | 91 | 100% | Fintech, comercio electrónico, IoT, salud, SaaS |
Sam (HIPAA empresarial) | 124 | 100% | Bloqueos HIPAA, PHI, cifrado, RBAC |
Autenticación y cifrado | 114 | 100% | Claves de API, RBAC, cifrado AES-256 |
John (viaje de dev independiente) | 86 | 100% | Compilación de 8 sesiones con Bolt.new con 5 bloqueos |
Revisión nativa de diff | 76 | 100% | Rupturas de interfaz, cambios de esquema, impacto en API |
Puerta de enlace de parches | 57 | 100% | Veredictos ALLOW/WARN/BLOCK, radio de explosión |
Exportación de cumplimiento | 50 | 100% | Formatos SOC 2, HIPAA, CSV |
Aplicación | 40 | 100% | Modo estricto/consultivo, anulaciones |
Cadena de auditoría | 35 | 100% | Integridad de cadena HMAC-SHA256 |
Grafo de código | 33 | 100% | Análisis de imports, radio de explosión, mapeo de bloqueos |
Compilador de especificaciones | 24 | 100% | Análisis de NL→restricciones, aplicación automática |
Restricciones tipadas | 13 | 100% | Validación numérica, de rango, de estado y temporal |
Regresión de Claude | 9 | 100% | Detección de Vue, intención segura, puerta de acceso a parches |
Encuadre de preguntas | 9 | 100% | "What if we..." y "How hard would it be..." |
REST API v2 | 9 | 100% | Puntos finales de restricciones tipadas, SSE |
Detección de PII/exportación | 8 | 100% | SSN, exportación de correo, violaciones de acceso a datos |
Guardián (Protección) | 47 | 100% | Extracción de archivos de reglas sin configuración |
Total | 1043 | 100% | 24 suites, más de 15 dominios |
Puerta de pruebas de proyecto reproducible: las 1.043 pruebas del repositorio pasan en v5.8.0. Son escenarios automatizados mantenidos por el proyecto, no certificación de terceros; ejecútalos tú mismo con npm test.
Probado en: fintech, comercio electrónico, IoT, salud, SaaS, gaming, biotecnología, aeroespacial, pagos, nóminas, robótica, sistemas autónomos, telecomunicaciones, seguros, gobierno. Se detectan las 11 pasarelas de pago indias. Cero falsos positivos en acciones de interfaz/cosméticas.
Trayectorias de desarrollador simuladas
Escenario de John: desarrollador independiente en Bolt.new
8 sesiones creando una aplicación de comercio electrónico. 5 bloqueos (auth, Firebase, Supabase, envío, Stripe). Se detectó cada violación directa. Se detectó cada ataque eufemístico ("clean up auth", "modernize database", "streamline serverless"). Cero falsos positivos en acciones seguras (página de producto, carrito, modo oscuro). 86/86 pruebas superadas.
Escenario de Sam: ingeniero sénior creando un ERP hospitalario HIPAA
10 sesiones con 8 bloqueos HIPAA. Se detectó cada violación: exponer PHI, eliminar cifrado, deshabilitar auditoría, degradar MFA, eludir FHIR. Se detectaron ataques eufemísticos HIPAA ("simplify data flow", "modernize auth"). Se verificó el flujo completo de autenticación + RBAC + cifrado + exportación de cumplimiento. 124/124 pruebas superadas.
Precios
Nivel | Precio | Qué incluye |
Gratis | $0 | 10 bloqueos, detección de conflictos, MCP, CLI |
Pro | $19/mes | Bloqueos ilimitados, auditoría HMAC, exportaciones de cumplimiento |
Empresa | $99/mes | + RBAC, cifrado, SSO, política como código |
Historial de cambios
Recorridos de funciones de versiones anteriores. Las secciones Quick Start y What's New anteriores cubren v5.7.0–v5.8.0; esta sección conserva los detalles de las funciones publicadas en v5.0–v5.5.
v5.4 — Drift Score, Lock Coverage Audit, Lock Strengthener
Drift Score. ¿Cuánto se ha desviado tu proyecto construido con IA de tu intención original? Solo SpecLock puede responder esto, porque solo SpecLock sabe lo que se pretendió frente a lo que se hizo.
$ 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 escanea tu base de código y te dice qué está desprotegido:
$ 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"Como un escáner de seguridad, pero para brechas de restricciones de IA.
Lock Strengthener. Tus bloqueos pueden ser demasiado vagos. SpecLock califica cada uno y sugiere mejoras:
$ 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. Un comando sincroniza tus restricciones de SpecLock en todas las herramientas de codificación de IA:
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.Define las restricciones una vez en SpecLock, sincroniza en todas partes. --format cursor para un solo formato, --preview para una prueba en seco, --list para ver los formatos compatibles.
Incident Replay. Grabadora de vuelo para tus sesiones de codificación con IA:
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 lista las sesiones; --session <id> reproduce una específica.
Safety Templates. Paquetes de restricciones preconstruidos:
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 previene los 5 desastres de IA más comunes: eliminación de bases de datos, eliminación de autenticación, exposición de secretos, eliminación del manejo de errores y desactivación de registros.
v5.2 — AI Patch Firewall
Revisa los diffs reales, no solo las descripciones. Detecta cosas que la revisión de intención pasa por alto:
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" } }Detección de señales: rupturas de interfaz, ediciones de símbolos protegidos en zonas bloqueadas, deriva de dependencias, cambios destructivos de esquema/migración, cambios de rutas de API públicas. Escalada dura: auto-BLOCK en cambios destructivos de esquema, rutas de API eliminadas, ediciones de símbolos protegidos. Revisión unificada: combina intención (35 %) + diff (65 %), toma el veredicto más fuerte.
v5.1 — Patch Gateway
Una llamada a la API controla cada cambio. Toma una descripción + lista de archivos y devuelve 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." }Combina la detección de conflictos semánticos + el mapeo de bloqueo a archivo + el radio de explosión + el conocimiento de restricciones tipadas en una única puntuación de riesgo (0-100).
v5.0 — Spec Compiler, Code Graph, Typed Constraints, Python SDK y ROS2
Spec Compiler. Pega un PRD, README o documento de arquitectura: SpecLock extrae todas las restricciones automáticamente:
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"Usa Gemini Flash por defecto ($0.01 por cada 1000 compilaciones).
Code Graph. Grafo de dependencias en vivo de tu base de código. Analiza imports de JS/TS/Python.
$ speclock blast-radius src/core/memory.js
Direct Dependents: 8 files
Transitive Impact: 14 files (33% of codebase)
Max Depth: 4 hopsEl mapeo de bloqueo a archivo asigna automáticamente los bloqueos a archivos fuente; la detección de módulos agrupa archivos en módulos lógicos.
Typed Constraints. Comprobación de valores y estados en tiempo real para sistemas autónomos, IoT y robótica:
// 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 y 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)Usa el mismo .speclock/brain.json que el servidor MCP de Node.js. El nodo Guardian de ROS2 se suscribe a /joint_states, /cmd_vel, /speclock/state_transition; publica violaciones en /speclock/violations; activa la parada de emergencia mediante /speclock/emergency_stop.
Muestra tu apoyo
Si SpecLock salva tu proyecto de un incidente a las 3 a. m., añade esta insignia a tu README:
[](https://github.com/sgroy10/speclock)O ejecuta speclock badge en tu terminal para ver todas las variantes. Galería completa: sgroy10.github.io/speclock/badge.html · Documentación completa: BADGES.md.
Cada adopción ayuda a que otro desarrollador descubra SpecLock y detenga a su IA para que no arruine su proyecto. Gracias.
Corre la voz
¿Quieres ayudar a SpecLock a llegar a más desarrolladores? Todo lo que necesitas para publicar (tweets, borradores de LinkedIn, plantillas de Reddit, texto para Show HN, mensajes de Discord, frases cortas, discursos de ascensor) está preescrito y verificado en VIRAL-KIT.md. Copia, pega, envía. Cero esfuerzo.
Contribuciones
Se aceptan issues y PR en GitHub.
Licencia
Autor
SpecLock está creado y mantenido por Sandeep Roy.
Sandeep Roy es el único desarrollador de SpecLock, el motor de restricciones de IA que aplica las reglas del proyecto en las sesiones de codificación con IA. Las 51 herramientas MCP, el motor de detección de conflictos semánticos, las funciones de seguridad empresarial (SOC 2, HIPAA, RBAC, cifrado) y la puerta de pruebas previa a la publicación fueron diseñadas y construidas por 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-