Hooks são aditivos: configurações globais e de workspace são mescladas. Hooks de workspace complementam os globais, nunca os substituem.
Configuração
Os hooks são definidos em arquivos JSON em dois níveis:Estrutura do Arquivo
Eventos Disponíveis
O ChatCLI emite 9 eventos de lifecycle aos quais hooks podem se vincular:Tipos de Hook
- Command (Shell)
- HTTP (Webhook)
Executa um comando shell no sistema operacional. O comando tem acesso a variáveis de ambiente com contexto do evento.Exit codes:
0— Sucesso (execução continua normalmente)1— Erro (logado, mas não bloqueia)2— Bloqueia a operação (apenas paraPreToolUse)
O comando e executado via
sh -c no Linux/macOS e cmd /c no Windows.ToolPattern — Filtro por Ferramenta
O campotoolPattern permite filtrar quais ferramentas acionam o hook. Ele aceita padroes glob:
Variáveis de Ambiente
Hooks do tipocommand recebem variáveis de ambiente com contexto do evento:
Exemplos Completos
- Auto-Format
- Notificações
- Bloqueio de Comandos
- Auditoria
Auto-formatar arquivos Go após qualquer edicao:
Casos de Uso
Auto-Format
Execute formatadores (gofmt, prettier, black) automaticamente após edicoes de arquivo.
Notificações
Envie alertas para Slack, Discord ou email ao final de sessões ou em erros.
Guardrails
Bloqueie comandos perigosos (rm -rf, DROP TABLE, force push) com PreToolUse.
Auditoria
Registre todas as ações do agent em arquivos de log para compliance.
Testes Automaticos
Execute testes automaticamente após cada edicao de código.
Linting
Execute linters (golangci-lint, eslint) após cada write/patch.
Próximos Passos
Coder Security
Politicas de segurança e aprovação para operações do coder.
Segurança
Entenda o modelo de segurança do ChatCLI.
UI Compacta
Modo de exibicao minimalista para o coder mode.
Modo Coder
O ciclo completo de engenharia com hooks integrados.