SpecLock
Motor de restricciones de IA — memoria persistente + aplicación activa. Evita que la IA rompa código bloqueado. Detección de conflictos semánticos, protecciones a nivel de archivo, continuidad de sesión. 19 herramientas MCP.
Documentación
Los archivos de reglas le dicen a la IA qué no debe cambiar.
SpecLock las hace cumplir.
Evita que Claude Code, Cursor, Codex, Windsurf y otras herramientas de codificación con IA crucen las restricciones del proyecto que ya escribiste en CLAUDE.md, AGENTS.md y .cursorrules.
Instalar · Ver un bloqueo · Plugin de Claude Code · Sitio web · Muro de guardados
¿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 verificaciones que se ejecutan antes de ediciones, comandos de shell y commits.
Ve 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 usa detección de conflictos semánticos en lugar de coincidencia simple de palabras clave. Detecta acciones indirectas como "limpiar datos antiguos de pacientes", "optimizar el proceso de pago" o "deshabilitar temporalmente MFA" cuando violan una restricción activa.
Configuració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 integration
Cuando el resultado del modo de asesoría se vea correcto, habilita el bloqueo:
npx speclock@latest protect --strict
No se requiere cuenta. SpecLock se ejecuta localmente por defecto, y el modo de asesoría nunca bloquea un cambio.
Instalar como plugin de Claude Code
Dentro de Claude Code, ejecuta:
/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplace
Luego protege el proyecto actual una vez:
npx speclock@latest protect # warnings only
npx speclock@latest protect --strict # block confirmed conflicts
El plugin inicia automáticamente el servidor MCP de SpecLock y verifica las acciones de Claude Code Write, Edit y Bash antes de ejecutarlas. Incluye las 51 herramientas MCP y funciona junto con tu CLAUDE.md existente.
Instalar en otros agentes de codificación
SpecLock está empaquetado para múltiples ecosistemas de agentes, pero el nivel de aplicación depende de lo que exponga cada host:
| Plataforma | Ruta de instalación/detección | Nivel de protección |
|---|---|---|
| Claude Code | Plugin nativo del marketplace anterior | Verificaciones nativas previas a la acción para Write, Edit y Bash |
| Gemini CLI | Instala este repositorio como extensión de Gemini | Verificaciones asistidas por MCP más contexto del proyecto |
| Cursor | Agent Plugin / paquete del marketplace de Cursor | Verificaciones asistidas por MCP más reglas |
| Codex | Plugin de Codex del repositorio en plugins/speclock | Verificaciones asistidas por MCP más habilidad $speclock-guardrails |
| GitHub Copilot CLI | Agrega este repositorio como marketplace de plugins | Verificaciones asistidas por MCP más contexto de plugin incluido |
| Cline | Servidor MCP; envío al marketplace curado en progreso | Verificaciones asistidas por MCP |
| Windsurf | speclock mcp install windsurf | Verificaciones asistidas por MCP más reglas |
| Cualquier cliente Git o CI | speclock protect | Aplicación en commits/CI independiente del agente de codificación |
"Asistido por MCP" significa que el agente puede llamar a SpecLock antes de actuar; no garantiza la intercepción. Usa speclock protect --strict y CI cuando una restricción deba aplicarse sin importar el cliente.
SpecLock tiene un trabajo diferente al de la memoria y las habilidades: la memoria recupera contexto, las habilidades proporcionan procedimientos, y SpecLock verifica acciones planificadas contra restricciones explícitas. Reduce la deriva de restricciones; no puede garantizar exactitud factual ni hacer que un modelo esté libre de alucinaciones.
Instalaciones de repositorio compatibles con los clientes actuales:
gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplace
Lo que obtienes
| Capacidad | Qué hace |
|---|---|
| Verificaciones 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 violaciones indirectas |
| Aplicación en Git | Agrega una segunda barrera al momento del commit |
| Modos de asesoría y estricto | Comienza con advertencias; opta por el bloqueo duro cuando estés listo |
| Rastro de auditoría | Registra decisiones en una cadena HMAC a prueba de manipulación |
| Integración MCP | Expone 51 herramientas a Claude Code, Cursor, Codex, Windsurf y Cline |
| Recibos de guardado compartibles | Muestra lo que SpecLock evitó con speclock wins |
Probado en público
- Más de 10,000 descargas de npm antes del lanzamiento del plugin nativo de Claude Code.
- 1,043 pruebas automatizadas en 24 suites, incluyendo conflictos adversariales, casos de falsos positivos, análisis de parches, aplicación, autenticación y cumplimiento.
- Licencia MIT e inspeccionable de principio a fin.
- Prioridad local por defecto con características 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 receipt
Referencia completa: npx speclock@latest help
Nuevo en v5.8.0
- Empaquetado de Agent Plugin portátil para detección compatible con Cursor.
- Empaquetado de extensión para Gemini CLI con inicio de MCP y contexto de restricciones.
- Plugin de Codex con habilidad
$speclock-guardrailsy servidor MCP fijado. - Compatibilidad con GitHub Copilot CLI a través del marketplace del repositorio.
- Etiquetas de aplicación explícitas por plataforma: hook nativo, asistido por MCP o Git/CI.
Más enlaces e insignias del proyecto
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 aplicación 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 "nunca toques la lógica de pagos" hace 3 sesiones — a la IA no le importa.
Recordar no es respetar. Ninguna herramienta existente detiene a la IA de romper 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)
- "optimizar el proceso de pago" = modificar el flujo de pagos (mapeo de sinónimos y conceptos)
- "deshabilitar temporalmente el registro" = 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 compuestos)
Y sabe qué es seguro:
- "Habilitar auditoría de registros" cuando el bloqueo dice "Nunca deshabilites la auditoría de registros" → 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 nextjs
Crea SPECLOCK.md, inyecta reglas en package.json, genera .speclock/context/latest.md. La IA las lee automáticamente.
Claude Code
Instala el plugin usando los comandos anteriores. Para configuración solo MCP sin los hooks del plugin, agrega esto a .mcp.json:
{
"mcpServers": {
"speclock": {
"command": "npx",
"args": ["--yes", "speclock@5.8.0", "serve", "--project", "."]
}
}
}
Cursor / Windsurf / Cline
Misma configuración — agrega a .cursor/mcp.json o equivalente.
Lovable (Sin instalación)
- Ve a Configuración → Conectores → Nuevo servidor MCP
- Ingresa la URL:
https://speclock-mcp-production.up.railway.app/mcp - Pega instrucciones del proyecto en Knowledge
¿Por Qué SpecLock en Lugar de Alternativas?
| Claude Memory | Mem0 | .cursorrules | SpecLock | |
|---|---|---|---|---|
| Recuerda contexto | Sí | Sí | Manual | Sí |
| Bloquea a la IA de romper cosas | No | No | No | Sí |
| Detección de conflictos semánticos | No | No | No | Sí — cubierto por pruebas adversariales |
| Rastro de auditoría a prueba de manipulación | No | No | No | Cadena HMAC-SHA256 |
| Aplicación estricta (la IA no puede continuar) | No | No | No | Sí |
| Exportaciones de cumplimiento SOC 2 / HIPAA | No | No | No | Sí |
| Almacenamiento cifrado (AES-256-GCM) | No | No | No | Sí |
| RBAC + autenticación por API key | No | No | No | 4 roles |
| DSL de Política-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 dominios cruzados. El repositorio incluye suites de pruebas adversariales, de falsos positivos, de formulación de preguntas, de puerta de parches y de análisis de diffs.
| Categoría | Detección | Ejemplo |
| Violaciones directas | 100% | "Eliminar el módulo de autenticación" vs bloqueo "Nunca modificar autenticación" |
| Ataques eufemísticos | 100% | "Limpiar datos antiguos de pacientes" = eliminación |
| Evasión temporal | 100% | "Deshabilitar temporalmente MFA" = deshabilitar MFA |
| Ataques de dilución | 100% | Violación oculta en solicitud de múltiples partes |
| Oraciones compuestas | 100% | "Actualizar la interfaz y también eliminar la tabla de usuarios" |
| Sustitución de sinónimos | 100% | "Retirar la API" = eliminar la API |
| Nombres de marcas de pago (11 pasarelas) | 100% | "Agregar Razorpay" / "Implementar PayU" vs "Debe usar Stripe" |
| Vocabulario cruzado de salario/nómina | 100% | "Optimizar salario" vs "Registros de nómina bloqueados" |
| Omisión del sistema de seguridad | 100% | "Deshabilitar enclavamiento de seguridad" = omitir seguridad |
| Dominios desconocidos (vía Gemini) | 100% | Juegos, biotecnología, aeroespacial, música, legal |
| Acciones seguras (verdaderos negativos) | 0% FP | "Cambiar la fuente" pasa correctamente los bloqueos de autenticación |
Bajo el capó: Más de 65 grupos de sinónimos · Más de 80 mapeos de eufemismos · mapas de conceptos de dominio (fintech, comercio electrónico, IoT, salud, SaaS, pagos, juegos, telecomunicaciones, gobierno) · clasificador de intención · divisor de oraciones compuestas · detector de evasión temporal · normalización de tiempos verbales · detección cosmética de interfaz · patrones de intención segura · análisis de voz pasiva — todo en JavaScript puro. Híbrido de Gemini Flash para casos de zona gris ($0.01/1000 verificaciones).
Aplicación Estricta
Dos modos:
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
- Umbral configurable — 70% por defecto. Solo los conflictos de ALTA confianza bloquean.
- Anulación con motivo —
speclock override <lockId> "JIRA-1234: approved by CTO"(registrado en el rastro de auditoría) - Auto-escalación — bloqueo anulado 3+ veces → marca automática para revisión
Seguridad Empresarial
Autenticación por API Key + 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 |
|---|---|---|---|---|
viewer | Sí | — | — | — |
developer | Sí | — | Con motivo | — |
architect | Sí | Sí | Sí | — |
admin | Sí | Sí | Sí | Sí |
Cifrado AES-256-GCM
export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt # Encrypts brain.json + events.log at rest
Derivación de clave PBKDF2 (100K iteraciones). Cifrado autenticado. Cumple HIPAA 2026.
Cadena de auditoría HMAC
Cada evento recibe un hash HMAC-SHA256 encadenado al evento anterior. Modifica cualquier cosa: 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 spreadsheets
Política como código
Reglas YAML declarativas para el cumplimiento en toda la 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: high
Importa y exporta políticas entre proyectos. Comparte plantillas de restricciones en toda tu organización.
API REST v2
Verificació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/build
51 herramientas MCP
Memoria — objetivo, bloqueos, decisiones, notas, hechos de despliegue
| Herramienta | Qué hace |
|---|---|
speclock_init | Inicializa SpecLock en el proyecto |
speclock_get_context | Paquete de contexto completo (la herramienta clave) |
speclock_set_goal | Establece el objetivo del proyecto |
speclock_add_lock | Agrega restricción + archivos de auto-guardia |
speclock_remove_lock | Eliminación suave de un bloqueo |
speclock_add_decision | Registra decisión arquitectónica |
speclock_add_note | Agrega nota fijada |
speclock_set_deploy_facts | Registra configuración de despliegue |
Aplicación — detección de conflictos, bloqueo estricto, anulaciones
| Herramienta | Qué hace |
|---|---|
speclock_check_conflict | Verificación de conflictos semánticos contra todos los bloqueos |
speclock_set_enforcement | Cambiar modo consultivo/estricto |
speclock_override_lock | Anular con motivo (registrado en auditoría) |
speclock_override_history | Ver rastro de auditoría de anulaciones |
speclock_semantic_audit | Analizar git diff contra bloqueos |
speclock_detect_drift | Escanear violaciones de restricciones |
speclock_audit | Auditar archivos preparados antes del commit |
Seguimiento y sesiones — cambios, eventos, continuidad de sesión
| Herramienta | Qué hace |
|---|---|
speclock_session_briefing | Iniciar sesión + informe completo |
speclock_session_summary | Finalizar sesión + registrar resumen |
speclock_log_change | Registrar un cambio con archivos |
speclock_get_changes | Cambios recientes rastreados |
speclock_get_events | Registro completo de eventos (filtrable) |
speclock_checkpoint | Etiqueta Git para reversión |
speclock_repo_status | Resumen de rama, commit, diff |
Inteligencia — sugerencias, salud, plantillas, informes
| Herramienta | Qué hace |
|---|---|
speclock_suggest_locks | Sugerencias de bloqueo impulsadas por IA |
speclock_health | Puntuación de salud + línea de tiempo multiagente |
speclock_apply_template | Aplicar plantilla de restricción |
speclock_report | Estadísticas de violaciones + bloqueos más probados |
Empresa — auditoría, cumplimiento, política, telemetría
| Herramienta | Qué hace |
|---|---|
speclock_verify_audit | Verificar integridad de la cadena HMAC |
speclock_export_compliance | Informes SOC 2 / HIPAA / CSV |
speclock_policy_evaluate | Evaluar reglas de política |
speclock_policy_manage | CRUD para reglas de política |
speclock_telemetry | Analítica de uso opcional |
Restricciones tipadas — numéricas, rango, estado, temporales (v5.0)
| Herramienta | Qué hace |
|---|---|
speclock_add_typed_lock | Agregar restricción tipada (numérica/rango/estado/temporal) |
speclock_check_typed | Verificar valores propuestos contra restricciones tipadas |
speclock_list_typed_locks | Listar todas las restricciones tipadas |
speclock_update_threshold | Actualizar umbrales de bloqueo tipados |
Compilador de especificaciones y grafo de código — NL→restricciones, análisis de dependencias (v5.0)
| Herramienta | Qué hace |
|---|---|
speclock_compile_spec | Compilar lenguaje natural en restricciones estructuradas |
speclock_build_graph | Construir/actualizar grafo de dependencias de código |
speclock_blast_radius | Calcular radio de impacto de cambios de archivos |
speclock_map_locks | Mapear bloqueos a archivos de código reales |
Puerta de enlace de parches y cortafuegos de parches IA — revisión de cambios, análisis de diff (v5.1/v5.2)
| Herramienta | Qué hace |
|---|---|
speclock_review_patch | Veredicto PERMITIR/ADVERTIR/BLOQUEAR para cambios propuestos |
speclock_review_patch_diff | Revisión nativa de diff con puntuación de señales + veredicto unificado |
speclock_parse_diff | Analizar diff unificado en cambios estructurados (depuración/inspección) |
Sincronización universal de reglas y reproducción de incidentes — sincronización entre herramientas, reproducción de sesión (v5.3)
| Herramienta | Qué hace |
|---|---|
speclock_sync_rules | Sincronizar restricciones a Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md |
speclock_list_sync_formats | Listar todos los formatos de sincronización disponibles |
speclock_replay | Reproducir la actividad de una sesión: qué intentó la IA y qué se detectó |
speclock_list_sessions | Listar sesiones disponibles para reproducción |
speclock_drift_score | Métrica de integridad del proyecto 0-100: cuánto se desvió la IA de la intención |
speclock_coverage | Auditoría de cobertura de bloqueos: encontrar áreas de código sin protección |
speclock_strengthen | Calificar bloqueos y sugerir versiones más fuertes |
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
Referencia completa de comandos: npx speclock help
Auto-Guardia
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.tsx
La 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 en tiempo de ejecución para el motor semántico. JavaScript puro.
Configuración
| Variable | Predeterminado | Descripción |
|---|---|---|
SPECLOCK_API_KEY | — | Clave API para acceso autenticado |
SPECLOCK_ENCRYPTION_KEY | — | Habilita cifrado AES-256-GCM en reposo |
SPECLOCK_NO_PROXY | false | Establece true para modo solo heurístico (~250ms). Omite el proxy de Gemini (~2s) |
SPECLOCK_LLM_KEY | — | Tu propia clave API de LLM (Gemini/OpenAI/Anthropic) |
GEMINI_API_KEY | — | Clave API de Google Gemini para detección híbrida de conflictos |
SPECLOCK_TELEMETRY | false | Analítica de uso anónima opcional |
Consejo: El motor heurístico solo logra una precisión del 95%+ en ~250ms. El proxy de Gemini añade cobertura entre dominios pero tarda ~2s. Para la respuesta más rápida, establece
SPECLOCK_NO_PROXY=true.
Resultados de pruebas
La puerta de pre-publicación ejecuta las 24 suites antes de cada publicación npm. Si alguna prueba falla, la publicación se bloquea.
| Suite | Pruebas | Tasa de aprobación | Qué cubre |
|---|---|---|---|
| Real-World Testers | 111 | 100% | 5 desarrolladores, 30+ bloqueos, dominios diversos |
| Adversarial Conflict | 46 | 100% | Eufemismos, evasión temporal, oraciones compuestas |
| Phase 4 (Multi-domain) | 91 | 100% | Fintech, comercio electrónico, IoT, salud, SaaS |
| Sam (Enterprise HIPAA) | 124 | 100% | Bloqueos HIPAA, PHI, cifrado, RBAC |
| Auth & Crypto | 114 | 100% | Claves API, RBAC, cifrado AES-256 |
| John (Indie Dev Journey) | 86 | 100% | Construcción de 8 sesiones en Bolt.new con 5 bloqueos |
| Diff-Native Review | 76 | 100% | Rupturas de interfaz, cambios de esquema, impacto en API |
| Patch Gateway | 57 | 100% | Veredictos PERMITIR/ADVERTIR/BLOQUEAR, radio de impacto |
| Compliance Export | 50 | 100% | Formatos SOC 2, HIPAA, CSV |
| Enforcement | 40 | 100% | Modo estricto/consultivo, anulaciones |
| Audit Chain | 35 | 100% | Integridad de cadena HMAC-SHA256 |
| Code Graph | 33 | 100% | Análisis de importaciones, radio de impacto, mapeo de bloqueos |
| Spec Compiler | 24 | 100% | Análisis NL→restricciones, autoaplicación |
| Typed Constraints | 13 | 100% | Validación numérica, rango, estado, temporal |
| Claude Regression | 9 | 100% | Detección de Vue, intención segura, puerta de enlace de parches |
| Question Framing | 9 | 100% | "¿Qué tal si...?" y "¿Qué tan difícil sería...?" |
| REST API v2 | 9 | 100% | Endpoints de restricciones tipadas, SSE |
| PII/Export Detection | 8 | 100% | SSN, exportación de correo, violaciones de acceso a datos |
| Guardian (Protect) | 47 | 100% | Extracción de archivos de reglas sin configuración |
| Total | 1043 | 100% | 24 suites, 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, juegos, biotecnología, aeroespacial, pagos, nóminas, robótica, sistemas autónomos, telecomunicaciones, seguros, gobierno. Se detectaron las 11 pasarelas de pago indias. Cero falsos positivos en acciones de UI/cosméticas.
Recorridos simulados de desarrolladores
Escenario de John: desarrollador independiente en Bolt.new
8 sesiones construyendo una aplicación de comercio electrónico. 5 bloqueos (auth, Firebase, Supabase, envío, Stripe). Cada violación directa detectada. Cada ataque eufemístico detectado ("limpiar auth", "modernizar base de datos", "optimizar serverless"). Cero falsos positivos en acciones seguras (página de producto, carrito, modo oscuro). 86/86 pruebas aprobadas.
Escenario de Sam: ingeniero senior construyendo un ERP hospitalario HIPAA
10 sesiones con 8 bloqueos HIPAA. Cada violación detectada: exponer PHI, eliminar cifrado, deshabilitar auditoría, degradar MFA, omitir FHIR. Ataques eufemísticos HIPAA detectados ("simplificar flujo de datos", "modernizar auth"). Flujo de trabajo completo de auth + RBAC + cifrado + exportación de cumplimiento verificado. 124/124 pruebas aprobadas.
Precios
| Nivel | Precio | Qué obtienes |
|---|---|---|
| Gratis | $0 | 10 bloqueos, detección de conflictos, MCP, CLI |
| Pro | $19/mes | Bloqueos ilimitados, auditoría HMAC, exportaciones de cumplimiento |
| Enterprise | $99/mes | + RBAC, cifrado, SSO, política como código |
Registro de cambios
Recorridos de funciones de versiones anteriores. Las secciones de Inicio rápido y Novedades anteriores cubren v5.7.0–v5.8.0; esta sección conserva detalles de funciones lanzadas en v5.0–v5.5.
v5.4 — Puntuación de deriva, cobertura de bloqueos, refuerzo de bloqueos
Puntuación de deriva. ¿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 intentó 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: 
Auditoría de cobertura de bloqueos. SpecLock escanea tu base de código y te dice qué está sin protección:
$ 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.
Refuerzo de bloqueos. Tus bloqueos podrían 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 — Sincronización universal de reglas, reproducción de incidentes, plantillas de seguridad
Sincronización universal de reglas. Un comando sincroniza tus restricciones de SpecLock a cada herramienta de codificación de IA:
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.
Define restricciones una vez en SpecLock, sincroniza en todas partes. --format cursor para un solo formato, --preview para simulación, --list para ver formatos compatibles.
Reproducción de incidentes. Caja negra 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 BLOCKED
speclock replay --list lista sesiones; --session <id> reproduce una específica.
Plantillas de seguridad. 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 protection
Los valores predeterminados seguros previenen los 5 desastres de IA más comunes: eliminación de base de datos, eliminación de autenticación, exposición de secretos, eliminación de manejo de errores, deshabilitación de registros.
v5.2 — Cortafuegos de parches IA
Revisa diffs reales, no solo 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ública. Escalada dura: auto-BLOQUEO 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, 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 detección de conflictos semánticos + mapeo de bloqueo a archivo + radio de impacto + conciencia de restricciones tipadas en una única puntuación de riesgo (0-100).
v5.0 — Spec Compiler, Code Graph, Typed Constraints, Python SDK & ROS2
Compilador de especificaciones. 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 1000 compilaciones).
Grafo de código. Grafo de dependencias en vivo de tu base de código. Analiza importaciones 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
El 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.
Restricciones tipadas. Verificación de valores y estados en tiempo real para sistemas autónomos, IoT, 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 & 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)
Usa el mismo .speclock/brain.json que el servidor MCP de Node.js. El Nodo Guardián 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 3am, 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 otro desarrollador a descubrir SpecLock y evitar que su IA 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, copia 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 PRs en GitHub.
Licencia
Autor
SpecLock es creado y mantenido por Sandeep Roy.
Sandeep Roy es el único desarrollador de SpecLock — el Motor de Restricciones de IA que aplica reglas de proyecto en sesiones de codificación con IA. Los 51 herramientas MCP, el motor de detección de conflictos semánticos, las características de seguridad empresarial (SOC 2, HIPAA, RBAC, cifrado) y la puerta de pruebas previa a la publicación fueron diseñados y construidos por Sandeep Roy.
SpecLock v5.8.0 — Guardarraíles de acción multiplataforma con aplicación nativa de Claude Code, integraciones MCP, 1,043 pruebas principales y 51 herramientas MCP. Desarrollado por Sandeep Roy.