SpecLock

Motor de restrição de IA — memória persistente + aplicação ativa. Impede que a IA quebre código bloqueado. Detecção de conflitos semânticos, proteções em nível de arquivo, continuidade de sessão. 19 ferramentas MCP.

Documentação

SpecLock

Arquivos de regras dizem à IA o que não alterar.
O SpecLock os aplica.

Impedir que Claude Code, Cursor, Codex, Windsurf e outras ferramentas de codificação com IA cruzem as restrições do projeto que você já escreveu em CLAUDE.md, AGENTS.md e .cursorrules.

npm version npm downloads CI MIT License MCP 51 tools

Instalar · Ver um bloqueio · Plugin do Claude Code · Site · Saves Wall

Por que outra ferramenta de regras? Arquivos de regras são contexto. Eles podem ser esquecidos, diluídos ou sobrescritos durante uma longa sessão de codificação. O SpecLock transforma essas regras em verificações que rodam antes de edições, comandos de shell e commits.

Veja a diferença

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.

O SpecLock usa detecção de conflitos semânticos em vez de simples correspondência de palavras-chave. Ele captura ações indiretas como "limpar dados antigos de pacientes", "otimizar o checkout" ou "desativar temporariamente a MFA" quando elas violam uma restrição ativa.

Configuração em 60 segundos

Execute isto a partir do projeto que você deseja proteger:

npx speclock@latest protect          # reads existing AI rule files; advisory by default
npx speclock@latest doctor           # confirms rules, hooks, and integration

Quando a saída consultiva parecer correta, ative o bloqueio:

npx speclock@latest protect --strict

Nenhuma conta é necessária. O SpecLock roda localmente por padrão, e o modo consultivo nunca bloqueia uma alteração.

Instalar como plugin do Claude Code

Dentro do Claude Code, execute:

/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplace

Em seguida, proteja o projeto atual uma vez:

npx speclock@latest protect          # warnings only
npx speclock@latest protect --strict # block confirmed conflicts

O plugin inicia automaticamente o servidor MCP do SpecLock e verifica as ações Write, Edit e Bash do Claude Code antes da execução. Ele inclui todas as 51 ferramentas MCP e funciona junto com seu CLAUDE.md existente.

Instalar em outros agentes de codificação

O SpecLock é empacotado para múltiplos ecossistemas de agentes, mas o nível de aplicação depende do que cada host expõe:

PlataformaCaminho de instalação/descobertaNível de proteção
Claude CodePlugin nativo do marketplace acimaVerificações nativas pré-ação para Write, Edit e Bash
Gemini CLIInstale este repositório como uma extensão do GeminiVerificações assistidas por MCP mais contexto do projeto
CursorAgent Plugin / pacote do marketplace do CursorVerificações assistidas por MCP mais regras
CodexPlugin Codex do repositório em plugins/speclockVerificações assistidas por MCP mais habilidade $speclock-guardrails
GitHub Copilot CLIAdicione este repositório como um marketplace de pluginsVerificações assistidas por MCP mais contexto de plugin incluído
ClineServidor MCP; submissão ao marketplace curado em andamentoVerificações assistidas por MCP
Windsurfspeclock mcp install windsurfVerificações assistidas por MCP mais regras
Qualquer cliente Git ou CIspeclock protectAplicação em commit/CI independente do agente de codificação

Assistido por MCP significa que o agente pode chamar o SpecLock antes de agir; isso não garante a interceptação. Use speclock protect --strict e CI quando uma restrição precisar ser aplicada independentemente do cliente.

O SpecLock tem uma função diferente de memória e habilidades: a memória recupera contexto, as habilidades fornecem procedimentos, e o SpecLock verifica ações planejadas contra restrições explícitas. Ele reduz a deriva de restrições; não pode garantir correção factual nem tornar um modelo livre de alucinações.

Instalações de repositório suportadas pelos clientes atuais:

gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplace

O que você obtém

CapacidadeO que faz
Verificações pré-açãoRevisa gravações, edições e comandos de shell do Claude Code antes de serem executados
Restrições semânticasDetecta sinônimos, eufemismos, solicitações compostas e violações indiretas
Aplicação no GitAdiciona uma segunda proteção no momento do commit
Modos consultivo e estritoComece com avisos; opte pelo bloqueio rígido quando estiver pronto
Trilha de auditoriaRegistra decisões em uma cadeia HMAC à prova de adulteração
Integração MCPExpõe 51 ferramentas para Claude Code, Cursor, Codex, Windsurf e Cline
Recibos de proteção compartilháveisMostra o que o SpecLock impediu com speclock wins

Comprovado publicamente

  • Mais de 10.000 downloads no npm antes do lançamento do plugin nativo do Claude Code.
  • 1.043 testes automatizados em 24 suítes, incluindo conflitos adversariais, casos de falso positivo, análise de patches, aplicação, autenticação e conformidade.
  • Licenciado sob MIT e inspecionável de ponta a ponta.
  • Padrões local-first com recursos remotos opcionais claramente separados.

Comandos que você mais usará

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

Referência completa: npx speclock@latest help

Novo na v5.8.0

  • Empacotamento portátil de Agent Plugin para descoberta compatível com Cursor.
  • Empacotamento de extensão para Gemini CLI com inicialização MCP e contexto de restrições.
  • Plugin Codex com habilidade $speclock-guardrails e servidor MCP fixado.
  • Compatibilidade com GitHub Copilot CLI por meio do marketplace do repositório.
  • Rótulos explícitos de aplicação por plataforma: hook nativo, assistido por MCP ou Git/CI.
Mais links e selos do projeto

Blocked by SpecLock Smithery · Galeria de selos · Sandeep Roy

O Problema

Ferramentas de codificação com IA têm memória agora. O Claude Code tem CLAUDE.md. O Cursor tem .cursorrules. Mem0 existe.

Mas memória sem aplicação é inútil.

Sua IA lembra que você usa PostgreSQL — e depois muda para MongoDB porque "parecia melhor". Sua IA lembra sua configuração de autenticação — e depois a reescreve enquanto "corrige" um bug. Você disse "nunca toque na lógica de pagamento" há 3 sessões — a IA não se importa.

Lembrar não é respeitar. Nenhuma ferramenta existente impede a IA de quebrar o que você bloqueou.

Como Funciona

Você define restrições. O SpecLock as aplica — entre sessões, entre ferramentas, entre equipes.

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"

O mecanismo semântico não faz correspondência de palavras-chave. Ele entende:

  • "limpar dados antigos" = exclusão (detecção de eufemismo)
  • "otimizar o checkout" = modificar o fluxo de pagamento (mapeamento de sinônimos + conceitos)
  • "desativar temporariamente o registro" = desativar o registro (detecção de evasão temporal)
  • "Atualizar a UI e também remover a tabela de usuários" = violação oculta (divisor de compostos)

E ele sabe o que é seguro:

  • "Ativar registro de auditoria" quando o bloqueio diz "Nunca desative o registro de auditoria" → sem conflito (alinhamento de intenção)

Início Rápido por Plataforma

Bolt.new / Aider / Qualquer plataforma npm

npx speclock setup --goal "Build my app" --template nextjs

Cria SPECLOCK.md, injeta regras em package.json, gera .speclock/context/latest.md. A IA lê isso automaticamente.

Claude Code

Instale o plugin usando os comandos acima. Para configuração somente MCP sem os hooks do plugin, adicione isto a .mcp.json:

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

Cursor / Windsurf / Cline

Mesma configuração — adicione a .cursor/mcp.json ou equivalente.

Lovable (Sem instalação)

  1. Vá para Configurações → Conectores → Novo servidor MCP
  2. Insira a URL: https://speclock-mcp-production.up.railway.app/mcp
  3. Cole instruções do projeto em Knowledge

Por que SpecLock em vez de alternativas?

Claude MemoryMem0.cursorrulesSpecLock
Lembra contextoSimSimManualSim
Impede a IA de quebrar coisasNãoNãoNãoSim
Detecção de conflitos semânticosNãoNãoNãoSim — coberto por testes adversariais
Trilha de auditoria à prova de adulteraçãoNãoNãoNãoCadeia HMAC-SHA256
Aplicação rígida (a IA não pode prosseguir)NãoNãoNãoSim
Exportações de conformidade SOC 2 / HIPAANãoNãoNãoSim
Armazenamento criptografado (AES-256-GCM)NãoNãoNãoSim
RBAC + autenticação por chave de APINãoNãoNão4 papéis
DSL de política como códigoNãoNãoNãoRegras YAML
Funciona em Bolt.new, Lovable, etc.NãoNãoNãoSim

Outras ferramentas lembram. O SpecLock aplica.


Mecanismo Semântico

Não é correspondência de palavras-chave — é análise semântica com um híbrido opcional de Gemini Flash para casos de zona cinzenta e entre domínios. O repositório inclui suítes de teste adversariais, de falso positivo, de formulação de perguntas, de gateway de patches e de análise de diffs.

CategoriaDetecçãoExemplo
Violações diretas100%"Excluir o módulo de autenticação" vs bloqueio "Nunca modificar autenticação"
Ataques eufemísticos100%"Limpar dados antigos de pacientes" = exclusão
Evasão temporal100%"Desativar temporariamente a MFA" = desativar MFA
Ataques de diluição100%Violação enterrada em solicitação de múltiplas partes
Frases compostas100%"Atualizar a UI e também remover a tabela de usuários"
Substituição de sinônimos100%"Aposentar a API" = remover a API
Nomes de marcas de pagamento (11 gateways)100%"Adicionar Razorpay" / "Implementar PayU" vs "Deve usar Stripe"
Vocabulário cruzado de salário/folha de pagamento100%"Otimizar salário" vs "Registros de folha de pagamento bloqueados"
Bypass do sistema de segurança100%"Desativar intertravamento de segurança" = bypass de segurança
Domínios desconhecidos (via Gemini)100%Jogos, biotecnologia, aeroespacial, música, jurídico
Ações seguras (verdadeiros negativos)0% FP"Mudar a fonte" passa corretamente nos bloqueios de autenticação

Por baixo dos panos: 65+ grupos de sinônimos · 80+ mapeamentos de eufemismos · mapas de conceitos de domínio (fintech, e-commerce, IoT, saúde, SaaS, pagamentos, jogos, telecom, governo) · classificador de intenção · divisor de frases compostas · detector de evasão temporal · normalização de tempos verbais · detecção cosmética de UI · padrões de intenção segura · análise de voz passiva — tudo em JavaScript puro. Híbrido Gemini Flash para casos de zona cinzenta ($0,01/1000 verificações).


Aplicação Rígida

Dois 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
  • Limiar configurável — padrão de 70%. Apenas conflitos de confiança ALTA bloqueiam.
  • Substituição com justificativa — speclock override <lockId> "JIRA-1234: approved by CTO" (registrado na trilha de auditoria)
  • Escalonamento automático — bloqueio substituído 3+ vezes → sinalização automática para revisão

Segurança Empresarial

Autenticação por API Key + RBAC

speclock auth create-key --role developer --name "CI Bot"
# → sk_speclock_a1b2c3... (shown once, stored as SHA-256 hash)
FunçãoLeituraBloquear EscritasSobrescreverAdmin
viewerSim———
developerSim—Com justificativa—
architectSimSimSim—
adminSimSimSimSim

Criptografia AES-256-GCM

export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt   # Encrypts brain.json + events.log at rest

Derivação de chave PBKDF2 (100 mil iterações). Criptografia autenticada. Em conformidade com HIPAA 2026.

Cadeia de Auditoria HMAC

Cada evento recebe um hash HMAC-SHA256 encadeado ao evento anterior. Modifique qualquer coisa — a cadeia se quebra.

$ speclock audit-verify

✓ Audit chain VALID — 247 events, 0 broken links, no tampering detected.

Exportações de Conformidade

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

Regras YAML declarativas para aplicação em toda a organização:

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

Importe e exporte políticas entre projetos. Compartilhe modelos de restrição em toda a sua organização.


API REST v2

Verificação de restrições em tempo real, revisão de patches e 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 Ferramentas MCP

Memória — meta, bloqueios, decisões, notas, fatos de implantação
FerramentaO que faz
speclock_initInicializa o SpecLock no projeto
speclock_get_contextPacote completo de contexto (a ferramenta-chave)
speclock_set_goalDefine a meta do projeto
speclock_add_lockAdiciona restrição + arquivos de proteção automática
speclock_remove_lockExclusão suave de um bloqueio
speclock_add_decisionRegistra decisão arquitetural
speclock_add_noteAdiciona nota fixada
speclock_set_deploy_factsRegistra configuração de implantação
Aplicação — detecção de conflitos, bloqueio rígido, sobrescritas
FerramentaO que faz
speclock_check_conflictVerificação semântica de conflitos contra todos os bloqueios
speclock_set_enforcementAlterna modo consultivo/rígido
speclock_override_lockSobrescreve com justificativa (registrada em auditoria)
speclock_override_historyVisualiza trilha de auditoria de sobrescritas
speclock_semantic_auditAnalisa diff do git contra bloqueios
speclock_detect_driftVerifica violações de restrições
speclock_auditAudita arquivos preparados antes do commit
Rastreamento e Sessões — alterações, eventos, continuidade de sessão
FerramentaO que faz
speclock_session_briefingInicia sessão + briefing completo
speclock_session_summaryEncerra sessão + registra resumo
speclock_log_changeRegistra alteração com arquivos
speclock_get_changesAlterações rastreadas recentes
speclock_get_eventsLog completo de eventos (filtrável)
speclock_checkpointTag git para rollback
speclock_repo_statusResumo de branch, commit, diff
Inteligência — sugestões, saúde, modelos, relatórios
FerramentaO que faz
speclock_suggest_locksSugestões de bloqueio com IA
speclock_healthPontuação de saúde + linha do tempo multiagente
speclock_apply_templateAplica modelo de restrição
speclock_reportEstatísticas de violação + bloqueios mais testados
Empresarial — auditoria, conformidade, política, telemetria
FerramentaO que faz
speclock_verify_auditVerifica integridade da cadeia HMAC
speclock_export_complianceRelatórios SOC 2 / HIPAA / CSV
speclock_policy_evaluateAvalia regras de política
speclock_policy_manageCRUD para regras de política
speclock_telemetryAnálises de uso opcionais
Restrições Tipadas — numérica, intervalo, estado, temporal (v5.0)
FerramentaO que faz
speclock_add_typed_lockAdiciona restrição tipada (numérica/intervalo/estado/temporal)
speclock_check_typedVerifica valores propostos contra restrições tipadas
speclock_list_typed_locksLista todas as restrições tipadas
speclock_update_thresholdAtualiza limites de bloqueio tipado
Compilador de Especificações e Grafo de Código — NL→restrições, análise de dependências (v5.0)
FerramentaO que faz
speclock_compile_specCompila linguagem natural em restrições estruturadas
speclock_build_graphConstrói/atualiza grafo de dependências de código
speclock_blast_radiusCalcula raio de impacto de alterações em arquivos
speclock_map_locksMapeia bloqueios para arquivos de código reais
Gateway de Patches e Firewall de Patches com IA — revisão de alterações, análise de diff (v5.1/v5.2)
FerramentaO que faz
speclock_review_patchVeredito ALLOW/WARN/BLOCK para alterações propostas
speclock_review_patch_diffRevisão nativa de diff com pontuação de sinal + veredito unificado
speclock_parse_diffAnalisa diff unificado em alterações estruturadas (debug/inspeção)
Sincronização Universal de Regras e Replay de Incidentes — sincronização entre ferramentas, replay de sessão (v5.3)
FerramentaO que faz
speclock_sync_rulesSincroniza restrições para Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md
speclock_list_sync_formatsLista todos os formatos de sincronização disponíveis
speclock_replayReproduz a atividade de uma sessão — o que a IA tentou e o que foi bloqueado
speclock_list_sessionsLista sessões disponíveis para replay
speclock_drift_scoreMétrica de integridade do projeto 0-100 — o quanto a IA se desviou da intenção
speclock_coverageAuditoria de Cobertura de Bloqueios — encontre áreas de código desprotegidas
speclock_strengthenAvalia bloqueios e sugere versões mais fortes

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

Referência completa de comandos: npx speclock help


Proteção Automática

Quando você bloqueia algo, o SpecLock encontra arquivos relacionados e injeta um aviso que a IA vê ao abri-los:

speclock lock "Never modify auth files"
→ Auto-guarded 2 files:
  🔒 src/components/Auth.tsx
  🔒 src/contexts/AuthContext.tsx

A IA abre o arquivo e vê:

// ============================================================
// SPECLOCK-GUARD — DO NOT MODIFY THIS FILE
// LOCKED: Never modify auth files
// ONLY "unlock" or "remove the lock" is permission to edit.
// ============================================================

Arquitetura

┌──────────────────────────────────────────────────┐
│     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 dependências npm. Zero dependências em tempo de execução para o mecanismo semântico. JavaScript puro.


Configuração

VariávelPadrãoDescrição
SPECLOCK_API_KEY—Chave de API para acesso autenticado
SPECLOCK_ENCRYPTION_KEY—Habilita criptografia AES-256-GCM em repouso
SPECLOCK_NO_PROXYfalseDefine true para modo somente heurístico (~250ms). Ignora o proxy Gemini (~2s)
SPECLOCK_LLM_KEY—Sua própria chave de API LLM (Gemini/OpenAI/Anthropic)
GEMINI_API_KEY—Chave de API Google Gemini para detecção híbrida de conflitos
SPECLOCK_TELEMETRYfalseAnálises anônimas de uso opcionais

Dica: O mecanismo heurístico sozinho atinge 95%+ de precisão em ~250ms. O proxy Gemini adiciona cobertura entre domínios, mas leva ~2s. Para resposta mais rápida, defina SPECLOCK_NO_PROXY=true.


Resultados de Testes

O portão de pré-publicação executa todas as 24 suítes antes de cada publicação npm. Se qualquer teste falhar, a publicação é bloqueada.

SuíteTestesTaxa de AprovaçãoO que cobre
Testadores do Mundo Real111100%5 desenvolvedores, 30+ bloqueios, domínios diversos
Conflito Adversarial46100%Eufemismos, evasão temporal, frases compostas
Fase 4 (Multidomínio)91100%Fintech, e-commerce, IoT, saúde, SaaS
Sam (HIPAA Empresarial)124100%Bloqueios HIPAA, PHI, criptografia, RBAC
Autenticação e Criptografia114100%Chaves de API, RBAC, criptografia AES-256
John (Jornada Dev Independente)86100%Build de 8 sessões no Bolt.new com 5 bloqueios
Revisão Nativa de Diff76100%Quebras de interface, mudanças de schema, impacto de API
Gateway de Patches57100%Vereditos ALLOW/WARN/BLOCK, raio de impacto
Exportação de Conformidade50100%Formatos SOC 2, HIPAA, CSV
Aplicação40100%Modo rígido/consultivo, sobrescritas
Cadeia de Auditoria35100%Integridade da cadeia HMAC-SHA256
Grafo de Código33100%Análise de imports, raio de impacto, mapeamento de bloqueios
Compilador de Especificações24100%Análise NL→restrições, aplicação automática
Restrições Tipadas13100%Validação numérica, intervalo, estado, temporal
Regressão Claude9100%Detecção Vue, intenção segura, gateway de patches
Formulação de Perguntas9100%"E se..." e "Quão difícil seria..."
API REST v29100%Endpoints de restrições tipadas, SSE
Detecção de PII/Exportação8100%SSN, exportação de e-mail, violações de acesso a dados
Guardian (Proteção)47100%Extração de arquivos de regras sem configuração
Total1043100%24 suítes, 15+ domínios

Portão de teste de projeto reproduzível: todos os 1.043 testes do repositório passam na v5.8.0. São cenários automatizados mantidos pelo projeto, não certificação de terceiros; execute-os você mesmo com npm test.

Testado em: fintech, e-commerce, IoT, saúde, SaaS, jogos, biotecnologia, aeroespacial, pagamentos, folha de pagamento, robótica, sistemas autônomos, telecomunicações, seguros, governo. Todos os 11 gateways de pagamento indianos detectados. Zero falsos positivos em ações de UI/cosméticas.


Jornadas Simuladas de Desenvolvedores

Cenário John — Desenvolvedor independente no Bolt.new

8 sessões construindo um aplicativo de e-commerce. 5 bloqueios (auth, Firebase, Supabase, envio, Stripe). Toda violação direta foi detectada. Todo ataque eufemístico foi detectado ("limpar auth", "modernizar banco de dados", "otimizar serverless"). Zero falsos positivos em ações seguras (página de produto, carrinho, modo escuro). 86/86 testes aprovados.

Cenário Sam — Engenheiro sênior construindo um ERP hospitalar HIPAA

10 sessões com 8 bloqueios HIPAA. Toda violação foi detectada — expor PHI, remover criptografia, desabilitar auditoria, rebaixar MFA, contornar FHIR. Ataques eufemísticos HIPAA detectados ("simplificar fluxo de dados", "modernizar auth"). Fluxo completo de auth + RBAC + criptografia + exportação de conformidade verificado. 124/124 testes aprovados.


Preços

NívelPreçoO que você recebe
Grátis$010 bloqueios, detecção de conflitos, MCP, CLI
Pro$19/mêsBloqueios ilimitados, auditoria HMAC, exportações de conformidade
Empresarial$99/mês+ RBAC, criptografia, SSO, política-como-código

Changelog

Tours de recursos de versões anteriores. As seções Início Rápido e Novidades acima cobrem v5.7.0–v5.8.0 — esta seção preserva detalhes sobre recursos lançados nas v5.0–v5.5.

v5.4 — Pontuação de Desvio, Cobertura de Bloqueios, Fortalecedor de Bloqueios

Pontuação de Desvio. O quanto seu projeto construído com IA se desviou da sua intenção original? Somente o SpecLock pode responder — porque somente o SpecLock sabe o que foi pretendido vs o que foi feito.

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

Auditoria de Cobertura de Bloqueios. O SpecLock verifica seu código e informa o que 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 um scanner de segurança, mas para lacunas de restrições de IA.

Fortalecedor de Bloqueios. Seus bloqueios podem ser vagos demais. O SpecLock avalia cada um e sugere melhorias:

$ 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 — Sincronização Universal de Regras, Replay de Incidentes, Modelos de Segurança

Sincronização Universal de Regras. Um comando sincroniza suas restrições do SpecLock para todas as ferramentas de codificação com 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.

Defina restrições uma vez no SpecLock, sincronize em todos os lugares. --format cursor para formato único, --preview para simulação, --list para ver formatos suportados.

Replay de Incidentes. Gravador de voo para suas sessões de codificação com 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 sessões; --session <id> reproduz uma específica.

Modelos de Segurança. Pacotes de restrições pré-construídos:

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

Padrões Seguros previne os 5 desastres de IA mais comuns: exclusão de banco de dados, remoção de autenticação, exposição de segredos, remoção de tratamento de erros, desativação de logs.

v5.2 — Firewall de Patches com IA

Revisa diffs reais, não apenas descrições. Detecta coisas que a revisão de intenção não detecta:

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" } }

Detecção de sinais: quebras de interface, edições de símbolos protegidos em zonas bloqueadas, desvio de dependências, alterações destrutivas de schema/migração, mudanças em rotas de API pública. Escalonamento rígido: BLOQUEIO automático em alterações destrutivas de schema, rotas de API removidas, edições de símbolos protegidos. Revisão unificada: combina intenção (35%) + diff (65%), prevalece o veredito mais forte.

v5.1 — Patch Gateway

Uma única chamada de API controla cada alteração. Recebe uma descrição + lista de arquivos, retorna 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 detecção de conflitos semânticos + mapeamento lock-para-arquivo + raio de impacto + ciência de restrições tipadas em uma única pontuação de risco (0-100).

v5.0 — Spec Compiler, Code Graph, Typed Constraints, Python SDK & ROS2

Spec Compiler. Cole um PRD, README ou documento de arquitetura — o SpecLock extrai todas as restrições automaticamente:

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 padrão ($0.01 por 1000 compilações).

Code Graph. Grafo de dependências ao vivo do seu código. Analisa 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

O mapeamento lock-para-arquivo mapeia automaticamente locks para arquivos de origem; a detecção de módulos agrupa arquivos em módulos lógicos.

Typed Constraints. Verificação em tempo real de valores e estados 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 o mesmo .speclock/brain.json que o servidor MCP Node.js. O ROS2 Guardian Node assina /joint_states, /cmd_vel, /speclock/state_transition; publica violações em /speclock/violations; aciona parada de emergência via /speclock/emergency_stop.


Mostre seu apoio

Se o SpecLock salvar seu projeto de um incidente às 3h da manhã, adicione este badge ao seu README:

[![Protected by SpecLock](https://img.shields.io/badge/Protected_by-SpecLock-FF6B2C?style=flat&logo=lock)](https://github.com/sgroy10/speclock)

Ou execute speclock badge no seu terminal para ver todas as variantes. Galeria completa: sgroy10.github.io/speclock/badge.html · Documentação completa: BADGES.md.

Cada adoção ajuda outro desenvolvedor a descobrir o SpecLock e impedir que sua IA destrua seu projeto. Obrigado.

Divulgue

Quer ajudar o SpecLock a alcançar mais desenvolvedores? Tudo o que você precisa para publicar — tweets, rascunhos para LinkedIn, modelos para Reddit, texto para Show HN, mensagens para Discord, frases de efeito, pitches de elevador — já está pronto e verificado em VIRAL-KIT.md. Copie, cole, envie. Zero esforço.


Contribuindo

Issues e PRs são bem-vindos no GitHub.

Licença

MIT

Autor

SpecLock é criado e mantido por Sandeep Roy.

Sandeep Roy é o único desenvolvedor do SpecLock — o AI Constraint Engine que aplica regras de projeto em sessões de codificação com IA. Todas as 51 ferramentas MCP, o mecanismo de detecção de conflitos semânticos, os recursos de segurança empresarial (SOC 2, HIPAA, RBAC, criptografia) e o portão de testes pré-publicação foram projetados e construídos por Sandeep Roy.


SpecLock v5.8.0 — Guardrails de ação multiplataforma com aplicação nativa do Claude Code, integrações MCP, 1.043 testes principais e 51 ferramentas MCP. Desenvolvido por Sandeep Roy.