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
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.
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:
| Plataforma | Caminho de instalação/descoberta | Nível de proteção |
|---|---|---|
| Claude Code | Plugin nativo do marketplace acima | Verificações nativas pré-ação para Write, Edit e Bash |
| Gemini CLI | Instale este repositório como uma extensão do Gemini | Verificações assistidas por MCP mais contexto do projeto |
| Cursor | Agent Plugin / pacote do marketplace do Cursor | Verificações assistidas por MCP mais regras |
| Codex | Plugin Codex do repositório em plugins/speclock | Verificações assistidas por MCP mais habilidade $speclock-guardrails |
| GitHub Copilot CLI | Adicione este repositório como um marketplace de plugins | Verificações assistidas por MCP mais contexto de plugin incluído |
| Cline | Servidor MCP; submissão ao marketplace curado em andamento | Verificações assistidas por MCP |
| Windsurf | speclock mcp install windsurf | Verificações assistidas por MCP mais regras |
| Qualquer cliente Git ou CI | speclock protect | Aplicaçã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
| Capacidade | O que faz |
|---|---|
| Verificações pré-ação | Revisa gravações, edições e comandos de shell do Claude Code antes de serem executados |
| Restrições semânticas | Detecta sinônimos, eufemismos, solicitações compostas e violações indiretas |
| Aplicação no Git | Adiciona uma segunda proteção no momento do commit |
| Modos consultivo e estrito | Comece com avisos; opte pelo bloqueio rígido quando estiver pronto |
| Trilha de auditoria | Registra decisões em uma cadeia HMAC à prova de adulteração |
| Integração MCP | Expõe 51 ferramentas para Claude Code, Cursor, Codex, Windsurf e Cline |
| Recibos de proteção compartilháveis | Mostra 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-guardrailse 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
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)
- Vá para Configurações → Conectores → Novo servidor MCP
- Insira a URL:
https://speclock-mcp-production.up.railway.app/mcp - Cole instruções do projeto em Knowledge
Por que SpecLock em vez de alternativas?
| Claude Memory | Mem0 | .cursorrules | SpecLock | |
|---|---|---|---|---|
| Lembra contexto | Sim | Sim | Manual | Sim |
| Impede a IA de quebrar coisas | Não | Não | Não | Sim |
| Detecção de conflitos semânticos | Não | Não | Não | Sim — coberto por testes adversariais |
| Trilha de auditoria à prova de adulteração | Não | Não | Não | Cadeia HMAC-SHA256 |
| Aplicação rígida (a IA não pode prosseguir) | Não | Não | Não | Sim |
| Exportações de conformidade SOC 2 / HIPAA | Não | Não | Não | Sim |
| Armazenamento criptografado (AES-256-GCM) | Não | Não | Não | Sim |
| RBAC + autenticação por chave de API | Não | Não | Não | 4 papéis |
| DSL de política como código | Não | Não | Não | Regras YAML |
| Funciona em Bolt.new, Lovable, etc. | Não | Não | Não | Sim |
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.
| Categoria | Detecção | Exemplo |
| Violações diretas | 100% | "Excluir o módulo de autenticação" vs bloqueio "Nunca modificar autenticação" |
| Ataques eufemísticos | 100% | "Limpar dados antigos de pacientes" = exclusão |
| Evasão temporal | 100% | "Desativar temporariamente a MFA" = desativar MFA |
| Ataques de diluição | 100% | Violação enterrada em solicitação de múltiplas partes |
| Frases compostas | 100% | "Atualizar a UI e também remover a tabela de usuários" |
| Substituição de sinônimos | 100% | "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 pagamento | 100% | "Otimizar salário" vs "Registros de folha de pagamento bloqueados" |
| Bypass do sistema de segurança | 100% | "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ção | Leitura | Bloquear Escritas | Sobrescrever | Admin |
|---|---|---|---|---|
viewer | Sim | — | — | — |
developer | Sim | — | Com justificativa | — |
architect | Sim | Sim | Sim | — |
admin | Sim | Sim | Sim | Sim |
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
| Ferramenta | O que faz |
|---|---|
speclock_init | Inicializa o SpecLock no projeto |
speclock_get_context | Pacote completo de contexto (a ferramenta-chave) |
speclock_set_goal | Define a meta do projeto |
speclock_add_lock | Adiciona restrição + arquivos de proteção automática |
speclock_remove_lock | Exclusão suave de um bloqueio |
speclock_add_decision | Registra decisão arquitetural |
speclock_add_note | Adiciona nota fixada |
speclock_set_deploy_facts | Registra configuração de implantação |
Aplicação — detecção de conflitos, bloqueio rígido, sobrescritas
| Ferramenta | O que faz |
|---|---|
speclock_check_conflict | Verificação semântica de conflitos contra todos os bloqueios |
speclock_set_enforcement | Alterna modo consultivo/rígido |
speclock_override_lock | Sobrescreve com justificativa (registrada em auditoria) |
speclock_override_history | Visualiza trilha de auditoria de sobrescritas |
speclock_semantic_audit | Analisa diff do git contra bloqueios |
speclock_detect_drift | Verifica violações de restrições |
speclock_audit | Audita arquivos preparados antes do commit |
Rastreamento e Sessões — alterações, eventos, continuidade de sessão
| Ferramenta | O que faz |
|---|---|
speclock_session_briefing | Inicia sessão + briefing completo |
speclock_session_summary | Encerra sessão + registra resumo |
speclock_log_change | Registra alteração com arquivos |
speclock_get_changes | Alterações rastreadas recentes |
speclock_get_events | Log completo de eventos (filtrável) |
speclock_checkpoint | Tag git para rollback |
speclock_repo_status | Resumo de branch, commit, diff |
Inteligência — sugestões, saúde, modelos, relatórios
| Ferramenta | O que faz |
|---|---|
speclock_suggest_locks | Sugestões de bloqueio com IA |
speclock_health | Pontuação de saúde + linha do tempo multiagente |
speclock_apply_template | Aplica modelo de restrição |
speclock_report | Estatísticas de violação + bloqueios mais testados |
Empresarial — auditoria, conformidade, política, telemetria
| Ferramenta | O que faz |
|---|---|
speclock_verify_audit | Verifica integridade da cadeia HMAC |
speclock_export_compliance | Relatórios SOC 2 / HIPAA / CSV |
speclock_policy_evaluate | Avalia regras de política |
speclock_policy_manage | CRUD para regras de política |
speclock_telemetry | Análises de uso opcionais |
Restrições Tipadas — numérica, intervalo, estado, temporal (v5.0)
| Ferramenta | O que faz |
|---|---|
speclock_add_typed_lock | Adiciona restrição tipada (numérica/intervalo/estado/temporal) |
speclock_check_typed | Verifica valores propostos contra restrições tipadas |
speclock_list_typed_locks | Lista todas as restrições tipadas |
speclock_update_threshold | Atualiza limites de bloqueio tipado |
Compilador de Especificações e Grafo de Código — NL→restrições, análise de dependências (v5.0)
| Ferramenta | O que faz |
|---|---|
speclock_compile_spec | Compila linguagem natural em restrições estruturadas |
speclock_build_graph | Constrói/atualiza grafo de dependências de código |
speclock_blast_radius | Calcula raio de impacto de alterações em arquivos |
speclock_map_locks | Mapeia 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)
| Ferramenta | O que faz |
|---|---|
speclock_review_patch | Veredito ALLOW/WARN/BLOCK para alterações propostas |
speclock_review_patch_diff | Revisão nativa de diff com pontuação de sinal + veredito unificado |
speclock_parse_diff | Analisa 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)
| Ferramenta | O que faz |
|---|---|
speclock_sync_rules | Sincroniza restrições para Cursor, Claude, Copilot, Windsurf, Gemini, Aider, AGENTS.md |
speclock_list_sync_formats | Lista todos os formatos de sincronização disponíveis |
speclock_replay | Reproduz a atividade de uma sessão — o que a IA tentou e o que foi bloqueado |
speclock_list_sessions | Lista sessões disponíveis para replay |
speclock_drift_score | Métrica de integridade do projeto 0-100 — o quanto a IA se desviou da intenção |
speclock_coverage | Auditoria de Cobertura de Bloqueios — encontre áreas de código desprotegidas |
speclock_strengthen | Avalia 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ável | Padrão | Descrição |
|---|---|---|
SPECLOCK_API_KEY | — | Chave de API para acesso autenticado |
SPECLOCK_ENCRYPTION_KEY | — | Habilita criptografia AES-256-GCM em repouso |
SPECLOCK_NO_PROXY | false | Define 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_TELEMETRY | false | Aná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íte | Testes | Taxa de Aprovação | O que cobre |
|---|---|---|---|
| Testadores do Mundo Real | 111 | 100% | 5 desenvolvedores, 30+ bloqueios, domínios diversos |
| Conflito Adversarial | 46 | 100% | Eufemismos, evasão temporal, frases compostas |
| Fase 4 (Multidomínio) | 91 | 100% | Fintech, e-commerce, IoT, saúde, SaaS |
| Sam (HIPAA Empresarial) | 124 | 100% | Bloqueios HIPAA, PHI, criptografia, RBAC |
| Autenticação e Criptografia | 114 | 100% | Chaves de API, RBAC, criptografia AES-256 |
| John (Jornada Dev Independente) | 86 | 100% | Build de 8 sessões no Bolt.new com 5 bloqueios |
| Revisão Nativa de Diff | 76 | 100% | Quebras de interface, mudanças de schema, impacto de API |
| Gateway de Patches | 57 | 100% | Vereditos ALLOW/WARN/BLOCK, raio de impacto |
| Exportação de Conformidade | 50 | 100% | Formatos SOC 2, HIPAA, CSV |
| Aplicação | 40 | 100% | Modo rígido/consultivo, sobrescritas |
| Cadeia de Auditoria | 35 | 100% | Integridade da cadeia HMAC-SHA256 |
| Grafo de Código | 33 | 100% | Análise de imports, raio de impacto, mapeamento de bloqueios |
| Compilador de Especificações | 24 | 100% | Análise NL→restrições, aplicação automática |
| Restrições Tipadas | 13 | 100% | Validação numérica, intervalo, estado, temporal |
| Regressão Claude | 9 | 100% | Detecção Vue, intenção segura, gateway de patches |
| Formulação de Perguntas | 9 | 100% | "E se..." e "Quão difícil seria..." |
| API REST v2 | 9 | 100% | Endpoints de restrições tipadas, SSE |
| Detecção de PII/Exportação | 8 | 100% | SSN, exportação de e-mail, violações de acesso a dados |
| Guardian (Proteção) | 47 | 100% | Extração de arquivos de regras sem configuração |
| Total | 1043 | 100% | 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ível | Preço | O que você recebe |
|---|---|---|
| Grátis | $0 | 10 bloqueios, detecção de conflitos, MCP, CLI |
| Pro | $19/mês | Bloqueios 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: 
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:
[](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
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.