Skip to main content
Glama

¿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 integration

Cuando la salida de asesoramiento parezca correcta, habilita el bloqueo:

npx speclock@latest protect --strict

No 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-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 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 Write, Edit y Bash

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 plugins/speclock

Comprobaciones asistidas por MCP más $speclock-guardrails

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

speclock mcp install windsurf

Comprobaciones asistidas por MCP más reglas

Cualquier cliente Git o CI

speclock protect

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-marketplace

Qué 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 speclock wins

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 receipt

Referencia 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-guardrails y 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 nextjs

Crea 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)

  1. Ve a Configuración → Conectores → Nuevo servidor MCP

  2. Introduce la URL: https://speclock-mcp-production.up.railway.app/mcp

  3. Pega las instrucciones del proyecto en Knowledge


¿Por qué SpecLock en lugar de las alternativas?

Memoria de Claude

Mem0

.cursorrules

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 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: 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

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. 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 spreadsheets

Polí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: high

Importa 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/build

51 herramientas MCP

Herramienta

Qué hace

speclock_init

Inicializar SpecLock en el proyecto

speclock_get_context

Paquete de contexto completo (la herramienta clave)

speclock_set_goal

Establecer el objetivo del proyecto

speclock_add_lock

Añadir restricción + archivos de guardado automático

speclock_remove_lock

Eliminación suave de un bloqueo

speclock_add_decision

Registrar decisión arquitectónica

speclock_add_note

Añadir nota fijada

speclock_set_deploy_facts

Registrar configuración de despliegue

Herramienta

Qué hace

speclock_check_conflict

Comprobación de conflicto semántico contra todos los bloqueos

speclock_set_enforcement

Cambiar modo consultivo/duro

speclock_override_lock

Anular con motivo (registrado en auditoría)

speclock_override_history

Ver el registro de auditoría de anulaciones

speclock_semantic_audit

Analizar diff de git contra bloqueos

speclock_detect_drift

Escanear violaciones de restricciones

speclock_audit

Auditar archivos en preparación antes del commit

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 registrados

speclock_get_events

Registro de eventos completo (filtrable)

speclock_checkpoint

Etiqueta de git para reversión

speclock_repo_status

Resumen de rama, commit, diff

Herramienta

Qué hace

speclock_suggest_locks

Sugerencias de bloqueo con IA

speclock_health

Puntuación de salud + línea de tiempo multiagente

speclock_apply_template

Aplicar plantilla de restricciones

speclock_report

Estadísticas de violaciones + bloqueos más probados

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

Herramienta

Qué hace

speclock_add_typed_lock

Añadir restricción tipada (numérica/rango/estado/temporal)

speclock_check_typed

Comprobar valores propuestos contra restricciones tipadas

speclock_list_typed_locks

Listar todas las restricciones tipadas

speclock_update_threshold

Actualizar umbrales de restricciones tipadas

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

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ñal + veredicto unificado

speclock_parse_diff

Analizar diff unificado en cambios estructurados (depuración/inspección)

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 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 rules

Referencia 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.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 de tiempo de ejecución para el motor semántico. JavaScript puro.


Configuración

Variable

Valor por defecto

Descripción

SPECLOCK_API_KEY

—

Clave de API para acceso autenticado

SPECLOCK_ENCRYPTION_KEY

—

Habilita cifrado AES-256-GCM en reposo

SPECLOCK_NO_PROXY

false

Establecer true para modo solo heurístico (~250ms). Omite el proxy de Gemini (~2s)

SPECLOCK_LLM_KEY

—

Tu propia clave de API de LLM (Gemini/OpenAI/Anthropic)

GEMINI_API_KEY

—

Clave de API de Google Gemini para detección de conflictos híbrida

SPECLOCK_TELEMETRY

false

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: ![Drift Score](https://img.shields.io/badge/drift_score-23%2F100-brightgreen.svg)

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 --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 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 BLOCKED

speclock 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 protection

Safe 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 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.

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-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 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:

[![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 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

MIT

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.


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Governance 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.
    74
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Analyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.
    -