Comandos Make¶
Referência de todos os comandos disponíveis via make. Execute make help para um resumo no terminal.
Desenvolvimento¶
| Comando | O que faz |
|---|---|
make install |
Instala todas as dependências Python (via uv sync --all-extras) e configura os pre-commit hooks |
make sync |
Atualiza dependências sem instalar hooks (útil após git pull) |
make dev-api |
Sobe a App API com hot reload via Doppler (config dev, porta 8000) |
make dev-backoffice-api |
Sobe a Backoffice API com hot reload via Doppler (config dev, porta 8001) |
make dev-worker |
Sobe o Celery Worker com Doppler (config dev, filas default e indexing) |
Banco de Dados¶
| Comando | O que faz |
|---|---|
make db-start |
Sobe PostgreSQL local via Supabase CLI (Docker) com pgvector e demais extensões |
make db-stop |
Para o container do PostgreSQL local |
make db-reset |
Derruba e recria o banco, reaplicando todas as migrations e seeds |
make db-status |
Lista migrations e indica quais foram aplicadas (supabase migration list) |
make db-migration |
Cria um novo arquivo de migration vazio (pede nome interativamente) |
make db-diff |
Gera uma migration a partir das diferenças entre o schema declarativo e o banco local |
make db-push |
Aplica migrations no banco remoto (mostra dry-run primeiro, pede confirmação) |
make db-link |
Linka o projeto local a um projeto remoto do Supabase (pede project ref) |
Fluxo de migration
Edite supabase/schemas/ → make db-diff (gera o arquivo em supabase/migrations/) → revise → make db-reset (valida local) → abra PR.
Testes¶
| Comando | O que faz |
|---|---|
make test |
Roda todos os testes exceto tests/integration |
make test-unit |
Roda apenas os testes unitários (marcados com @pytest.mark.unit), sem banco |
make test-integration |
Roda testes de integração via Doppler (repositórios, serviços, com banco real) |
make test-e2e |
Roda testes HTTP/WebSocket via Doppler (contrato de API completo) |
make test-all |
Roda unit + integration + e2e em sequência |
Testes de integração localmente
make test-integration e make test-e2e requerem make db-start rodando e Doppler configurado.
Qualidade de Código¶
| Comando | O que faz |
|---|---|
make lint |
Verifica formatação e lint com ruff (apenas leitura, não altera arquivos) |
make format |
Formata todos os arquivos Python com ruff format |
make fix |
Corrige automaticamente problemas de lint com ruff check --fix |
make typecheck |
Verifica tipos com ty check (exclui tests/) |
make pre-commit |
Roda todos os hooks do pre-commit em todos os arquivos |
make all |
Roda lint + typecheck + test em sequência |
Antes de abrir um PR
make fix && make lint && make typecheck && make test-unit cobre a maioria dos checks do CI sem precisar do banco.
Docker¶
| Comando | O que faz |
|---|---|
make docker-build |
Builda a imagem Docker da App API (spryx-backend:latest) |
make docker-run |
Roda a App API em Docker com token Doppler de 1 minuto (porta 8000) |
make worker-build |
Builda a imagem Docker do Worker (spryx-worker:latest) |
make worker-run |
Roda o Worker em Docker com token Doppler de 10 minutos |
make worker-logs |
Exibe logs do container do Worker em modo follow |
make worker-stop |
Para o container do Worker |
make worker-shell |
Abre um shell interativo dentro do container do Worker |
make docs-docker-build |
Builda a imagem Docker da documentação (spryx-docs:latest) |
make docs-docker-run |
Roda a documentação via nginx no Docker (porta 8080) |
Documentação¶
| Comando | O que faz |
|---|---|
make docs-serve |
Serve a documentação localmente com hot reload (http://localhost:8000) |
make docs-build |
Gera o site estático em site/ |
make docs-docker-build |
Builda a imagem Docker nginx com o site estático |
make docs-docker-run |
Roda a imagem em http://localhost:8080 |
Outros¶
| Comando | O que faz |
|---|---|
make mcp-sync |
Sincroniza configuração MCP de .mcp.json para Cursor e Codex |
make clean |
Remove artefatos de build (.pytest_cache, .ruff_cache, __pycache__, .pyc) |
make help |
Lista todos os comandos disponíveis com descrição resumida |