Skip to content

Development flow

This page defines the standard contribution flow for Qubex.

Branching

  • Create a topic branch from the latest default branch.
  • Keep branch scope focused on one feature/fix.
  • Prefer descriptive names such as:
  • feature/<short-name>
  • fix/<short-name>
  • docs/<short-name>
  • refactor/<short-name>

Development commands in this repository assume a uv-managed environment.

  1. Sync your local default branch.
  2. Create a topic branch.
  3. Add or update tests first when possible.
  4. Implement the change.
  5. Run local quality checks:
  6. uv run ruff check
  7. uv run ruff format
  8. uv run pyright
  9. uv run pytest
  10. Open a pull request with context, impact, and verification results.

Release version updates

When you need to update the shared release version for qubex and the publishable companion packages:

  1. Set the new version and synchronize all package metadata:
  2. make sync-release-version VERSION=1.5.0b5
  3. Verify that no version drift remains:
  4. make check-release-version
  5. Re-run the normal checks after the version update:
  6. make check
  7. make build-all

The shared source of truth is the repository-root VERSION file.

Keep changes reviewable

  • Keep pull requests small and focused.
  • Split unrelated refactors from behavior changes.
  • Update user/developer documentation when behavior or APIs change.

Naming conventions

See Naming guidelines for naming rules.