Monorepo e submódulos¶
Estrutura de diretórios¶
.
├── evo-auth-service-community/ # submodule: autenticação
├── evo-ai-crm-community/ # submodule: API principal
├── evo-ai-frontend-community/ # submodule: UI web
├── evo-ai-processor-community/ # submodule: processamento IA/MCP
├── evo-ai-core-service-community/ # submodule: gerenciamento de agentes
├── evo-bot-runtime/ # submodule: runtime de bots
├── evolution-api/, evolution-go/ # integrações externas (WhatsApp)
├── nginx/ # API Gateway de produção (fora do compose raiz)
├── docker-compose.yml # orquestração principal
├── Makefile # comandos do monorepo
└── docs/ # documentação (sessões, bugs, ADRs, Sphinx)
Clonando e atualizando¶
git clone --recurse-submodules <repo>
git submodule update --init --recursive # se já clonado sem --recurse-submodules
git submodule update --remote --merge # atualizar todos para o mais recente
Importante
Commits dentro de um submodule não atualizam o superprojeto
automaticamente. Após alterar um submodule: git add <submodule> e
git commit no repositório raiz.
Comandos do Makefile (raiz)¶
make help # lista todos os comandos
make setup # instala tudo
make start / stop # sobe/derruba containers
make seed # seed geral
make seed-auth / make seed-crm # seed por serviço
make shell-<serviço> # shell dentro do container
Nota
make up/make down/make test/make lint aparecem em versões antigas do
AGENTS.md, mas os targets reais são start/stop; test/lint não
existem como targets do Makefile raiz — usar os comandos por serviço
documentados em cada página de arquitetura.
Ordem de seed¶
evo-auth-service-community precisa ser semeado antes de
evo-ai-crm-community — o CRM depende do usuário criado pelo seed do Auth.