Thank you for your interest in contributing! This guide will help you get started.
# Install dependencies
pnpm install
# Start dev server
pnpm dev
# Run tests (watch mode)
pnpm test
# Run tests once
pnpm test:once
# Type check
pnpm typecheck
# Build
pnpm build- Fork the repository and create your branch from
main. - Make your changes and ensure tests pass (
pnpm test:once). - Run the type checker (
pnpm typecheck). - Commit your changes using conventional commits:
feat:for new featuresfix:for bug fixesdocs:for documentation changeschore:for maintenance tasks
- Open a Pull Request with a clear description of the change.
Releases are published automatically to npm when a v* tag is pushed to GitHub.
pnpm releaseThis will:
- Prompt you to select a version increment (
patch,minor, ormajor) - Build the package
- Generate the changelog
- Commit the version bump and changelog
- Create a git tag (
vX.Y.Z) - Push the tag — this triggers the GitHub Action that publishes to npm
If you need to publish without the release script:
# Update the version in package.json
npm version patch # or minor / major
# Push the tag to trigger the CI publish
git push origin --tagsThe GitHub Action (.github/workflows/npm-publish.yml) will install dependencies, build, and run pnpm publish --no-git-checks --access public using the NPM_TOKEN repository secret.
- Use GitHub Discussions for questions and bug reports.
- Include a minimal reproduction when reporting bugs.
- TypeScript is used throughout the project.
- Follow the existing code style and conventions.
- Keep changes focused and minimal.