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

SpecLock

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.

npm version npm downloads CI MIT License MCP 51 tools

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:

PlataformaRuta de instalación/detecciónNivel de protección
Claude CodePlugin nativo del marketplace anteriorVerificaciones nativas previas a la acción para Write, Edit y Bash
Gemini CLIInstala este repositorio como extensión de GeminiVerificaciones asistidas por MCP más contexto del proyecto
CursorAgent Plugin / paquete del marketplace de CursorVerificaciones asistidas por MCP más reglas
CodexPlugin de Codex del repositorio en plugins/speclockVerificaciones asistidas por MCP más habilidad $speclock-guardrails
GitHub Copilot CLIAgrega este repositorio como marketplace de pluginsVerificaciones asistidas por MCP más contexto de plugin incluido
ClineServidor MCP; envío al marketplace curado en progresoVerificaciones asistidas por MCP
Windsurfspeclock mcp install windsurfVerificaciones asistidas por MCP más reglas
Cualquier cliente Git o CIspeclock protectAplicació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

CapacidadQué hace
Verificaciones previas a la acciónRevisa escrituras, ediciones y comandos de shell de Claude Code antes de que se ejecuten
Restricciones semánticasDetecta sinónimos, eufemismos, solicitudes compuestas y violaciones indirectas
Aplicación en GitAgrega una segunda barrera al momento del commit
Modos de asesoría y estrictoComienza con advertencias; opta por el bloqueo duro cuando estés listo
Rastro de auditoríaRegistra decisiones en una cadena HMAC a prueba de manipulación
Integración MCPExpone 51 herramientas a Claude Code, Cursor, Codex, Windsurf y Cline
Recibos de guardado compartiblesMuestra 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-guardrails y 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

Blocked by SpecLock Smithery · Galería de insignias · Sandeep Roy

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)

  1. Ve a Configuración → Conectores → Nuevo servidor MCP
  2. Ingresa la URL: https://speclock-mcp-production.up.railway.app/mcp
  3. Pega instrucciones del proyecto en Knowledge

¿Por Qué SpecLock en Lugar de Alternativas?

Claude MemoryMem0.cursorrulesSpecLock
Recuerda contextoSíSíManualSí
Bloquea a la IA de romper cosasNoNoNoSí
Detección de conflictos semánticosNoNoNoSí — cubierto por pruebas adversariales
Rastro de auditoría a prueba de manipulaciónNoNoNoCadena HMAC-SHA256
Aplicación estricta (la IA no puede continuar)NoNoNoSí
Exportaciones de cumplimiento SOC 2 / HIPAANoNoNoSí
Almacenamiento cifrado (AES-256-GCM)NoNoNoSí
RBAC + autenticación por API keyNoNoNo4 roles
DSL de Política-como-CódigoNoNoNoReglas YAML
Funciona en Bolt.new, Lovable, etc.NoNoNoSí

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íaDetecciónEjemplo
Violaciones directas100%"Eliminar el módulo de autenticación" vs bloqueo "Nunca modificar autenticación"
Ataques eufemísticos100%"Limpiar datos antiguos de pacientes" = eliminación
Evasión temporal100%"Deshabilitar temporalmente MFA" = deshabilitar MFA
Ataques de dilución100%Violación oculta en solicitud de múltiples partes
Oraciones compuestas100%"Actualizar la interfaz y también eliminar la tabla de usuarios"
Sustitución de sinónimos100%"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ómina100%"Optimizar salario" vs "Registros de nómina bloqueados"
Omisión del sistema de seguridad100%"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)
RolLecturaBloqueos de escrituraAnulaciónAdmin
viewerSí———
developerSí—Con motivo—
architectSíSíSí—
adminSí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
HerramientaQué hace
speclock_initInicializa SpecLock en el proyecto
speclock_get_contextPaquete de contexto completo (la herramienta clave)
speclock_set_goalEstablece el objetivo del proyecto
speclock_add_lockAgrega restricción + archivos de auto-guardia
speclock_remove_lockEliminación suave de un bloqueo
speclock_add_decisionRegistra decisión arquitectónica
speclock_add_noteAgrega nota fijada
speclock_set_deploy_factsRegistra configuración de despliegue
Aplicación — detección de conflictos, bloqueo estricto, anulaciones
HerramientaQué hace
speclock_check_conflictVerificación de conflictos semánticos contra todos los bloqueos
speclock_set_enforcementCambiar modo consultivo/estricto
speclock_override_lockAnular con motivo (registrado en auditoría)
speclock_override_historyVer rastro de auditoría de anulaciones
speclock_semantic_auditAnalizar git diff contra bloqueos
speclock_detect_driftEscanear violaciones de restricciones
speclock_auditAuditar archivos preparados antes del commit
Seguimiento y sesiones — cambios, eventos, continuidad de sesión
HerramientaQué hace
speclock_session_briefingIniciar sesión + informe completo
speclock_session_summaryFinalizar sesión + registrar resumen
speclock_log_changeRegistrar un cambio con archivos
speclock_get_changesCambios recientes rastreados
speclock_get_eventsRegistro completo de eventos (filtrable)
speclock_checkpointEtiqueta Git para reversión
speclock_repo_statusResumen de rama, commit, diff
Inteligencia — sugerencias, salud, plantillas, informes
HerramientaQué hace
speclock_suggest_locksSugerencias de bloqueo impulsadas por IA
speclock_healthPuntuación de salud + línea de tiempo multiagente
speclock_apply_templateAplicar plantilla de restricción
speclock_reportEstadísticas de violaciones + bloqueos más probados
Empresa — auditoría, cumplimiento, política, telemetría
HerramientaQué hace
speclock_verify_auditVerificar integridad de la cadena HMAC
speclock_export_complianceInformes SOC 2 / HIPAA / CSV
speclock_policy_evaluateEvaluar reglas de política
speclock_policy_manageCRUD para reglas de política
speclock_telemetryAnalítica de uso opcional
Restricciones tipadas — numéricas, rango, estado, temporales (v5.0)
HerramientaQué hace
speclock_add_typed_lockAgregar restricción tipada (numérica/rango/estado/temporal)
speclock_check_typedVerificar valores propuestos contra restricciones tipadas
speclock_list_typed_locksListar todas las restricciones tipadas
speclock_update_thresholdActualizar umbrales de bloqueo tipados
Compilador de especificaciones y grafo de código — NL→restricciones, análisis de dependencias (v5.0)
HerramientaQué hace
speclock_compile_specCompilar lenguaje natural en restricciones estructuradas
speclock_build_graphConstruir/actualizar grafo de dependencias de código
speclock_blast_radiusCalcular radio de impacto de cambios de archivos
speclock_map_locksMapear 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)
HerramientaQué hace
speclock_review_patchVeredicto PERMITIR/ADVERTIR/BLOQUEAR para cambios propuestos
speclock_review_patch_diffRevisión nativa de diff con puntuación de señales + veredicto unificado
speclock_parse_diffAnalizar 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)
HerramientaQué hace
speclock_sync_rulesSincronizar restricciones a Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md
speclock_list_sync_formatsListar todos los formatos de sincronización disponibles
speclock_replayReproducir la actividad de una sesión: qué intentó la IA y qué se detectó
speclock_list_sessionsListar sesiones disponibles para reproducción
speclock_drift_scoreMétrica de integridad del proyecto 0-100: cuánto se desvió la IA de la intención
speclock_coverageAuditoría de cobertura de bloqueos: encontrar áreas de código sin protección
speclock_strengthenCalificar 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

VariablePredeterminadoDescripción
SPECLOCK_API_KEY—Clave API para acceso autenticado
SPECLOCK_ENCRYPTION_KEY—Habilita cifrado AES-256-GCM en reposo
SPECLOCK_NO_PROXYfalseEstablece 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_TELEMETRYfalseAnalí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.

SuitePruebasTasa de aprobaciónQué cubre
Real-World Testers111100%5 desarrolladores, 30+ bloqueos, dominios diversos
Adversarial Conflict46100%Eufemismos, evasión temporal, oraciones compuestas
Phase 4 (Multi-domain)91100%Fintech, comercio electrónico, IoT, salud, SaaS
Sam (Enterprise HIPAA)124100%Bloqueos HIPAA, PHI, cifrado, RBAC
Auth & Crypto114100%Claves API, RBAC, cifrado AES-256
John (Indie Dev Journey)86100%Construcción de 8 sesiones en Bolt.new con 5 bloqueos
Diff-Native Review76100%Rupturas de interfaz, cambios de esquema, impacto en API
Patch Gateway57100%Veredictos PERMITIR/ADVERTIR/BLOQUEAR, radio de impacto
Compliance Export50100%Formatos SOC 2, HIPAA, CSV
Enforcement40100%Modo estricto/consultivo, anulaciones
Audit Chain35100%Integridad de cadena HMAC-SHA256
Code Graph33100%Análisis de importaciones, radio de impacto, mapeo de bloqueos
Spec Compiler24100%Análisis NL→restricciones, autoaplicación
Typed Constraints13100%Validación numérica, rango, estado, temporal
Claude Regression9100%Detección de Vue, intención segura, puerta de enlace de parches
Question Framing9100%"¿Qué tal si...?" y "¿Qué tan difícil sería...?"
REST API v29100%Endpoints de restricciones tipadas, SSE
PII/Export Detection8100%SSN, exportación de correo, violaciones de acceso a datos
Guardian (Protect)47100%Extracción de archivos de reglas sin configuración
Total1043100%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

NivelPrecioQué obtienes
Gratis$010 bloqueos, detección de conflictos, MCP, CLI
Pro$19/mesBloqueos 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: ![Drift Score](https://img.shields.io/badge/drift_score-23%2F100-brightgreen.svg)

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:

[![Protected by SpecLock](https://img.shields.io/badge/Protected_by-SpecLock-FF6B2C?style=flat&logo=lock)](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

MIT

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.