Backend
¶ API
cd apps/api
ruff check .
mypy app
pytest
Developer guide
Nothing except Alembic replay gates a production deploy. Run checks locally before promotion.
Checks per app
Integration harnesses
Integration tests that exercise DB/Redis require TEST_DATABASE_URL and TEST_REDIS_URL. Point them only at disposable instances.
When these variables are unset, the tests skip silently. Always check pytest's skip count before trusting a green run.
TEST_DATABASE_URLTEST_DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/replybox_test pytest
TEST_REDIS_URLTEST_REDIS_URL=redis://localhost:6379/15 pytest
DB tests that enqueue BullMQ jobs also need Redis. tests/conftest.py copies TEST_REDIS_URL to REDIS_URL, SOCKETIO_REDIS_URL, and RATE_LIMIT_REDIS_URL before importing app code, so always set TEST_REDIS_URL when running DB integration tests, in CI and locally. Set IQ_ENGINE_WIRE_ROOT when running the engine wire-parity node tests.
Cross-tenant deep links
Deep links point at a workspace. Tests keep them pointing at the right one.