Thank you for your interest in contributing to rescript-tea!
-
Node.js 18+
-
npm or pnpm
-
ReScript compiler (installed via npm)
-
Nix (optional, for reproducible development environment)
# Clone the repository
git clone https://github.com/Hyperpolymath/rescript-tea.git
cd rescript-tea
# Install dependencies
npm install
# Build the project
npm run build
# Run in watch mode
npm run devThis project follows the RSR Tri-Perimeter Contribution Framework:
Maintainers only. Changes to:
-
Build system configuration
-
Core runtime (
Tea_App.res) -
Release management
-
Security-critical code
Trusted contributors. Changes to:
-
Protocol extensions
-
New subscription types
-
Performance optimizations
-
API design changes
-
Check existing issues to avoid duplicates
-
Create a new issue with:
-
Clear, descriptive title
-
Steps to reproduce
-
Expected vs actual behavior
-
ReScript/Node.js versions
-
Minimal reproduction code
-
-
Open a discussion or issue
-
Describe the use case
-
Explain why existing features don’t suffice
-
Propose an API design (if applicable)
-
Fork the repository
-
Create a feature branch:
git checkout -b feature/my-feature -
Make your changes
-
Add/update tests
-
Ensure all tests pass:
npm test -
Add SPDX headers to new files
-
Update documentation if needed
-
Submit a pull request
-
Follow existing code patterns
-
Use meaningful variable names
-
Keep functions small and focused
-
Add type annotations for public APIs
-
Document complex logic with comments
All source files must include SPDX headers:
// SPDX-License-Identifier: PMPL-1.0-or-later
// SPDX-FileCopyrightText: 2024 Your NameFollow conventional commits:
type(scope): description [optional body] [optional footer]
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat(cmd): add Cmd.debounce for rate-limited commands fix(sub): prevent memory leak in subscription cleanup docs: update README with new API examples
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch-
Update README.adoc for user-facing changes
-
Add JSDoc comments to public functions
-
Include examples for new features
-
Update CHANGELOG.md
Please read and follow our Code of Conduct.
By contributing, you agree that your contributions will be licensed under the project’s dual MIT and Palimpsest v0.8 license.