Skip to content

Latest commit

 

History

History
50 lines (38 loc) · 1.69 KB

File metadata and controls

50 lines (38 loc) · 1.69 KB

Contributing

Development Workflow

  1. Run pnpm install to install dependencies and set up Git hooks via Husky
  2. Create a feature branch from main
  3. Make your changes with conventional commits
  4. Push and create a Pull Request
  5. CI runs tests, linting, and type checking
  6. After approval, rebase and merge to main
  7. Semantic Release automatically creates a new version

Commit Convention

Use conventional commits for automatic versioning:

  • feat: - New feature (minor version)
  • fix: - Bug fix (patch version)
  • feat!: or BREAKING CHANGE: - Breaking change (major version)
  • docs:, chore:, test: - No version bump

Husky setup

This project relies on Husky for Git hooks. Husky is installed as a dev dependency, so the hooks have to be configured locally:

  • pnpm install (or npm install) runs the prepare lifecycle script, which invokes Husky and writes the hooks into .git/hooks.
  • The prepare script also runs automatically before pnpm publish, pnpm pack, and when installing the project from a Git URL. This ensures the hooks are present for contributors and before release builds are created.
  • Unlike postinstall, prepare is skipped for consumers installing the published package from the npm registry. That keeps end users from needing Husky (or other dev tooling) in their production environments.

Code Quality

All code must pass:

  • TypeScript type checking
  • Biome linting and formatting
  • Test coverage requirements
  • Pre-commit hooks

Pull Request Guidelines

  • Use descriptive titles and descriptions
  • Keep changes focused and atomic
  • Ensure all CI checks pass
  • Request review from maintainers
  • Rebase before merging to maintain linear history