Contribuir
O LiteZap é open source (Apache-2.0) e aceita contribuições.
Ambiente
Seção intitulada “Ambiente”- Go na versão do
go.mod. - Para o site: Node.js e pnpm.
git clone https://github.com/douglasdf99/litezap.git && cd litezapgo build -o litezap ./cmd/litezapgo test -race ./...Estrutura
Seção intitulada “Estrutura”| Pasta | O quê |
|---|---|
cmd/litezap |
Binário (serve, worker, mcp, version) |
internal/api |
REST (rotas chi, autenticação) |
internal/service |
Casos de uso compartilhados por REST e MCP |
internal/mcp |
Servidor MCP (/mcp) e ponte stdio (litezap mcp) |
internal/dashboard, cmd/litezap-app |
Painel web em /app/ e app de bandeja |
internal/manager, internal/spawner |
Ciclo de vida das instâncias e processos worker |
internal/worker |
Worker com whatsmeow, falando gRPC com o supervisor |
internal/queue, internal/lookup |
Fila de envio, ritmo e verificação de números |
internal/events, internal/webhook |
Barramento de eventos, webhooks e SSE |
internal/store |
SQLite e migrações |
proto/ |
Contrato gRPC supervisor ↔ worker (go tool buf generate depois de mudar) |
site/ |
Este site (Astro + Starlight) |
- Unitários por pacote, com relógio falso para ritmo, backoff e janelas.
- Worker falso (
internal/workertest): implementa o contrato gRPC e simula conectar, cair, travar, banimento e mensagens recebidas, para testar o supervisor inteiro sem WhatsApp real. - Contrato da API via
httptest. - E2E com número de teste real, atrás de
-tags=e2e, fora do CI.
Documentação
Seção intitulada “Documentação”Toda mudança de API atualiza no mesmo PR o site/public/openapi.yaml (a referência é gerada dele), o catálogo de
eventos e o changelog. Para ver o site:
cd site && pnpm install && pnpm devAntes de abrir um PR
Seção intitulada “Antes de abrir um PR”go test -race ./...passando epnpm buildnosite/sem erros.- Mensagens de commit no formato convencional (
feat(api): ...,fix(queue): ...,docs: ...). - Recursos que aumentam o risco de banimento (envio em massa, rotação de IP) não serão aceitos; veja o uso aceitável.
Vulnerabilidades: não abra issue pública; veja a política de segurança.

