# 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 ```bash git clone --recurse-submodules git submodule update --init --recursive # se já clonado sem --recurse-submodules git submodule update --remote --merge # atualizar todos para o mais recente ``` ```{important} Commits dentro de um submodule **não** atualizam o superprojeto automaticamente. Após alterar um submodule: `git add ` e `git commit` no repositório raiz. ``` ## Comandos do Makefile (raiz) ```bash 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- # shell dentro do container ``` ```{note} `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.