Thanks for contributing to
bun-scikit! We welcome contributions from the community and appreciate your help in making this project better.Development Setup
Project Commands
Testing
Testing
Documentation
Documentation
Benchmarking
Benchmarking
Pull Request Guidelines
Scope
Keep changes scoped to one objective. Focus on a single feature, bug fix, or improvement per PR.
Testing
Include tests for behavioral changes. Ensure all tests pass before submitting.
Documentation
Update docs when public APIs or workflows change. Keep documentation in sync with code.
Changelog
Add changelog entries under
## [Unreleased] in CHANGELOG.md for notable changes.Pre-PR Checklist
Commit Guidelines
Commit Message Format
Use clear, imperative commit messages with conventional prefixes:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changestest:- Test additions or modificationsci:- CI/CD changeschore:- Maintenance tasksperf:- Performance improvementsrefactor:- Code refactoring
Examples
Benchmark Policy
Code Style
TypeScript
- Use TypeScript for all new code
- Enable strict type checking
- Avoid
anytypes where possible - Document public APIs with JSDoc comments
Formatting
- Follow existing code style
- Use 2 spaces for indentation
- Use meaningful variable names
- Keep functions focused and small
Testing Guidelines
Unit Tests
Unit Tests
Write unit tests for:
- New estimators and transformers
- Metrics and utilities
- Edge cases and error handling
- Parameter validation
Integration Tests
Integration Tests
Write integration tests for:
- End-to-end workflows
- Pipeline compositions
- Cross-validation scenarios
- Real dataset examples
Parity Tests
Parity Tests
For scikit-learn compatible APIs:
- Add fixtures to
test/fixtures/sklearn-snapshots.json - Run
scripts/generate-sklearn-fixtures.pyto generate reference outputs - Ensure parity checks pass with
bun run parity:check
Getting Help
GitHub Discussions
Ask questions and discuss ideas with the community
GitHub Issues
Report bugs or request features
Documentation
Read the full documentation
Support
View support and community resources