Contributing
Thank you for your interest in contributing to Refract π
We welcome contributions of all kinds β from bug fixes and documentation improvements to new features and plugins. This guide will help you get started.
Getting Startedβ
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone https://github.com/your-username/refract.git
cd refract
Install dependencies:
bash
npm install
Run the dev build to make sure everything works:
bash
npm run dev
Ways to Contributeβ
π Report bugs β Open an issue with details, steps to reproduce, and screenshots if possible.
π Improve docs β Fix typos, add examples, or expand explanations in the docs/ folder.
β‘ Suggest enhancements β Propose new features or APIs via an issue or discussion.
π Build plugins β Extend Refract with router, compiler, or state plugins.
π§ͺ Write tests β Help us increase coverage and reliability.
Code Guidelinesβ
- Style: Follow our ESLint + Prettier rules.
- Commits: Use Conventional Commits. Example:
- feat(router): add lazy loading for routes
- fix(state): correct refraction update logic
- docs: update lenses usage guide
- Testing: Make sure npm test passes before pushing.
Pull Request Processβ
Create a new branch for your work:
git checkout -b feat/my-new-feature
-
Make your changes and commit with a clear message.
-
Push to your fork and open a PR against main.
A maintainer will review your PR. Please be open to feedback π.
Communityβ
π¬ Join the Refract Community Discord to discuss ideas.
π¦ Tag us on Twitter (@RefractJS) when you share plugins or demos.
π Check the Advanced Guide for ideas on extending Refract.
Code of Conductβ
We follow the Contributor Covenant.
By participating, you agree to uphold a welcoming and respectful environment for everyone.
Thank You π
Every contribution makes Refract better. Whether itβs your first PR or your 100th, weβre grateful for your time and effort!