Dev environment¶
Requirements: Python 3.11+, Docker with buildx, make. For full e2e
runs: Node.js 20+, Go 1.22+, JDK 17+, Maven.
make dev-setup installs the dev extras and configures pre-commit
hooks (including commit-msg for Conventional Commits).
Typical inner loop¶
make test-unit # <10s — run on save
make lint # ruff + mypy --strict + bandit + ...
make test-integration # in-process emulator + Python client
When touching user-visible behavior:
make docker-build # builds ghcr.io/jjviscomi/bqemulator:dev
make test-e2e # live container + all four client languages
Before opening a PR:
IDE¶
- PyCharm / VS Code: enable the Ruff and mypy extensions.
- Configure the interpreter to the
.venvthatpip install -e.[dev]created.