Thank you for your interest in contributing to XState! This project is made possible by contributors like you, and we welcome any contributions to the code base and the documentation.
- Ensure you have the latest version of Node and Yarn.
- Run
yarn
to install all needed dev dependencies.
Pull requests are encouraged. If you want to add a feature or fix a bug:
- Fork and clone the repository
- Create a separate branch for your changes
- Make your changes, and ensure that it is formatted by Prettier and type-checks without errors in TypeScript
- Write tests that validate your change and/or fix.
- Run
yarn build
and then run tests withyarn test
(for all packages) oryarn test:core
(for only changes to core XState). - For package changes, add docs inside the
/packages/*/README.md
. They will be copied on build to the corresponding/docs/packages/*/index.md
file. - Create a changeset by running
yarn changeset
. More info. - Push your branch and open a PR 🚀
PRs are reviewed promptly and merged in within a day or two (or even within an hour), if everything looks good.