Saltar para o conteúdo principal
O instalador configura três coisas para o Claude Code. Todas elas também podem ser configuradas manualmente conforme descrito abaixo.

O que o instalador grava

Configuração manual do MCP

Equivalente ao que o instalador faz:
Opcionalmente, adicione --env ZEROPATH_ORG_ID=... (contas multiorganização) e --env ZEROPATH_BASE_URL=... (self-hosted).

Configuração manual do hook

Em ~/.claude/settings.json:
O hook lê o payload do Stop hook via stdin, escaneia o diff não commitado do workspace e responde usando o protocolo de hooks do Claude Code:
  • Modo de monitoramento (padrão): emite uma systemMessage resumindo os achados; o Claude não é interrompido. Relatório completo em ~/.zeropath/logs/.
  • Modo de bloqueio (ZEROPATH_BLOCKING_STOP_HOOKS=true em ~/.zeropath/config.env): emite {"decision": "block", "reason": ...} para achados no limiar de severidade ou acima dele. O Claude recebe os achados e as correções sugeridas como sua próxima instrução, remedia, e a nova varredura na próxima parada decide novamente. Os loops são limitados por um orçamento de bloqueios por sessão (padrão: 3).

Notas de comportamento

  • O hook escaneia git diff HEAD (staged + unstaged). Arquivos novos não rastreados não estão nesse diff; o Claude é orientado (via CLAUDE.md) a escaneá-los por meio da ferramenta MCP asyncCodeScans.submit com input.kind: "files".
  • Um turno que não altera código reutiliza o veredito anterior (cache de hash do diff) — turnos conversacionais não pagam a latência da varredura.
  • Falhas de varredura seguem a política de fail open com uma systemMessage visível, nunca um bloqueio.

Verificar

Depois, faça uma mudança de código em um repositório Git e encerre o turno; no modo de monitoramento, você deve ver uma mensagem de sistema do ZeroPath se houver achados, e um arquivo de log em ~/.zeropath/logs/ de qualquer forma.