Thank you for your interest in contributing! Please read the guidelines below before opening issues or submitting pull requests.
Every pull request must reference at least one open issue.
The workflow is:
- Find or create an issue that describes the bug, feature, or improvement.
- Discuss the approach in the issue comments before writing code — this avoids duplicate effort and ensures alignment with the project direction.
- Open a PR that references the issue using one of the keywords below.
If you open a PR without referencing an open issue, an automated check will fail and the PR cannot be merged until the link is added.
Add a line to the PR description using one of the closing keywords (automatically closes the issue when the PR is merged):
Closes #<issue-number>
Fixes #<issue-number>
Resolves #<issue-number>
Or use a non-closing reference when the issue should remain open after merge (e.g. the PR only partially addresses it):
Addresses #<issue-number>
References #<issue-number>
Related to #<issue-number>
Part of #<issue-number>
See #<issue-number>
# Install dependencies
bun install
# Run the linter and type-checker
bun run check
# Run the test suite
bun run test
# Start the dev server with file watching
bun run devPlease make sure bun run check and bun run test both pass before requesting a
review.
Use short, imperative-mood subject lines (e.g. fix: correct edge case in q2Encode).
Scope prefixes (feat:, fix:, chore:, docs:, test:) are encouraged.
- TypeScript strict mode is enabled;
@typescript-eslint/no-explicit-anyis an error. - Follow the patterns already present in
src/for new files. - Tests live in
test/and use Vitest.