Contributing
- Keep source tests alongside each package’s
tests/directory. - Run
pixi run -e bun bun run testfor local tests andpixi run -e bun bun run coveragefor the coverage gates used by CI and pre-push. - Keep direct Pixi dependency versions exactly pinned in
pixi.tomland refreshpixi.lockwhen they change. - Python build tooling and Twine stay in the Pixi Python feature; Bun remains in its separate environment.
- Lefthook runs staged-file Ruff/Biome checks, Convco validates commit messages, and pre-push runs the coverage task.
Commit messages use Conventional Commits form (validated by Convco). Prefix every SDK-defined exception class (Python or TypeScript) with QgisSdk and export only prefixed exception names.