Desenvolvimento Local¶
Entrypoints¶
O backend expõe múltiplos entrypoints independentes. Você pode rodar cada um separadamente de acordo com o que está desenvolvendo.
| Entrypoint | Comando | Porta | Descrição |
|---|---|---|---|
| Client API | make dev-api |
8000 |
API principal (frontend + webhooks) |
| Backoffice API | make dev-backoffice-api |
8001 |
API interna de administração |
| Public API | make dev-public-api |
8002 |
API de integração para clientes ⏳ planejada |
| Worker | make dev-worker |
— | Processador de tarefas em background (Celery) |
Para a maioria do desenvolvimento, rodar a Client API + Worker é suficiente.
1. Clonar o repositório¶
Você precisa de acesso ao repositório GitHub. Peça a um membro do time se ainda não tiver.
2. Configurar o Doppler¶
Todas as variáveis de ambiente são gerenciadas via Doppler. Cada entrypoint tem seu próprio projeto Doppler.
Apenas na primeira vez — autenticar:
Configurar cada projeto que pretende rodar:
Acesso necessário
Você precisa ser adicionado a cada projeto Doppler individualmente. Peça a um membro do time.
3. Instalar dependências¶
Instala todas as dependências Python (via uv) e configura os hooks do pre-commit.
4. Iniciar o banco de dados¶
Inicia uma instância local do Supabase (PostgreSQL + storage). Na primeira execução, as migrations são aplicadas automaticamente.
5. Iniciar o(s) entrypoint(s)¶
Execute os entrypoints que precisar:
- Base URL:
http://localhost:8001 - Swagger UI:
http://localhost:8001/docs
default e indexing. Necessário para indexação de documentos e memória de agentes.
Executar testes¶
make test # todos os testes
make test-unit # apenas testes unitários (sem banco)
make test-e2e # testes de contrato HTTP