O que claude-code-hooks-daemon faz?
Sistema de hooks baseado em daemon para Claude Code com inicialização preguiçosa, desligamento automático e extensibilidade de manipuladores em nível de projeto.
Visão Geral
Este skill fornece um daemon que executa hooks (manipuladores) customizados em resposta a eventos do Claude Code, como beforeCommand ou afterCommand. O daemon é iniciado sob demanda (lazy startup) e desligado automaticamente após um período de inatividade, minimizando o uso de recursos.
Funcionalidades
- Inicialização Preguiçosa: O daemon é iniciado apenas quando um hook é acionado.
- Desligamento Automático: O daemon é encerrado após um período configurável de inatividade.
- Extensibilidade por Projeto: Manipuladores podem ser definidos em nível de projeto usando um arquivo de configuração.
- Fácil Integração: Funciona diretamente com o Claude Code, sem scripts externos.
Instalação
Adicione este skill ao seu projeto Claude Code:
claude add skill Edmonds-Commerce-Limited/claude-code-hooks-daemon
Configuração
Crie um arquivo .claude-hooks.json na raiz do projeto com a seguinte estrutura:
{
"hooks": {
"beforeCommand": ["echo \"Executando comando...\""],
"afterCommand": ["echo \"Comando concluído.\""]
},
"daemon": {
"idleTimeout": 300000,
"port": 8080
}
}
Opções de Configuração
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
hooks.beforeCommand | string[] | [] | Comandos executados antes de cada comando do Claude Code. |
hooks.afterCommand | string[] | [] | Comandos executados após cada comando do Claude Code. |
daemon.idleTimeout | number | 300000 | Tempo (em ms) de inatividade antes do desligamento automático. |
daemon.port | number | 8080 | Porta na qual o daemon escutará. |
Uso
Após a configuração, o daemon será iniciado automaticamente quando o Claude Code executar um comando. Exemplo:
# O Claude Code iniciará o daemon e executará os hooks configurados
claude "execute: npm run build"
Manipuladores Customizados
Para manipuladores mais complexos, crie um script executável e referencie-o no arquivo de configuração:
{
"hooks": {
"beforeCommand": ["./scripts/pre-command.sh"]
}
}
Contribuição
Contribuições são bem-vindas! Consulte o repositório oficial para detalhes.
Licença
Distribuído sob a licença MIT. Veja LICENSE para mais informações.