Thanks for your interest in contributing! This document outlines how to get started.
- Fork and clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
- Run tests to make sure everything works:
npm test
npm run build # Compile TypeScript and bundle with Vite
npm run dev # Watch mode for developmentnpm test # Run tests with coverage
npm run test:watch # Run tests in watch modenpm run bench # Run performance benchmarks├── src/ # TypeScript source files
├── lib/ # Compiled output (generated)
├── test/ # Test files
├── examples/ # Usage examples (Node, web, React)
├── benchmarks/ # Performance benchmarks
└── docs/ # Documentation
-
Create a branch for your feature or fix:
git checkout -b feature/my-feature
-
Make your changes and ensure:
- All tests pass (
npm test) - Code follows existing style (check
.eslintrc) - TypeScript compiles without errors (
npm run build)
- All tests pass (
-
Add tests for new functionality
-
Update documentation if needed (README.md, docs/, examples/)
- Keep PRs focused on a single change
- Write clear commit messages
- Include tests for new features or bug fixes
- Update the CHANGELOG.md if applicable
- Make sure CI passes before requesting review
- Written in TypeScript
- Follow existing patterns in the codebase
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
When reporting bugs, please include:
- Node.js version
- Steps to reproduce
- Expected vs actual behavior
- Minimal code example if possible
Open an issue or start a discussion on GitHub.
By contributing, you agree that your contributions will be licensed under the MIT License.