Thanks for your interest in contributing to this project.
- Rust: 1.93.1+ (see rust-toolchain.toml)
- Node: 24+ with Bun (see package.json)
# Install Rust (rustup will use rust-toolchain.toml)
rustup show
# Install JS tooling and hooks
bun install| Command | Description |
|---|---|
bun run format |
Format Rust code (cargo fmt) |
bun run lint |
Lint with Clippy (cargo clippy) |
bun run test |
Run tests (cargo test) |
bun run test:coverage |
Coverage with cargo-tarpaulin (optional; run cargo install cargo-tarpaulin first) |
bun run check |
Lint/format JS/TS (Biome) |
bun run commit |
Commit with Commitizen (conventional commits) |
We use Conventional Commits and commitlint. Use:
bun run commitExamples: feat: add foo, fix: bar, chore(deps): bump x.
- Branch from
main, make changes, runbun run format,bun run lint,bun run test. - Push and open a PR. CI will run format check, Clippy, and tests on Ubuntu, Windows, and macOS.
- Keep the scope small and the title/commits clear.
Maintainers use:
bun run bump:patch/bump:minor/bump:majorto bump version inCargo.toml, commit, tag, and push.bun run releaseto generate changelog and sync a GitHub release.
Publishing to crates.io is done manually when ready.