.PHONY: up down logs test lint seed reset n8n-setup demo e2e up: docker compose up --build -d down: docker compose down logs: docker compose logs -f --tail=200 test: docker compose run --rm api pytest lint: docker compose run --rm api ruff check . docker compose run --rm api mypy app seed: docker compose exec api python -m app.cli seed --reset reset: docker compose down -v docker compose up --build -d # One-time per environment: imports and activates the n8n return-processing workflow. # The n8n owner account itself cannot be scripted safely and must be created once at # http://localhost:5678/setup (any email/password, no verification required) before # this target's activation takes effect. See docs/17-runbook.md. n8n-setup: docker compose exec n8n n8n import:workflow --input=//imports/mobilityops-return-processing.json docker compose exec n8n n8n publish:workflow --id=mobilityops-return-processing docker compose restart n8n # Full deterministic demo bootstrap: build, migrate (automatic on api startup), seed. demo: up docker compose exec api python -m app.cli seed --reset e2e: cd frontend && npx playwright test