Thank you for your interest in contributing to Stately repos! Contributors like you make this project possible, and we welcome any contributions to the code base and the documentation.
There are several ways you can contribute:
- 📥 Submit an issue
- ✨ Solve an issue or make a change
- 🖊️ Write documentation
- 💬 Respond to support questions in the XState GitHub discussions
- 🛟 Respond to questions in the Help channel on Discord
Please read our code of conduct.
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
. These docs will be copied on build to the corresponding/docs/packages/*/index.md
file. - Create a changeset by running
yarn changeset
. More about changesets. - 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.
Issues and bug reports are also encouraged. If you want to submit an issue:
- Search existing issues to check if your issue already exists or has been solved.
- Create a new issue if your issue has not yet been submitted.
- Ensure you fill out all the details in the issue template to help us understand the issue.
We’ll try to respond promptly and address your issue as soon as possible.
Our new docs are now in their own docs repo. Read the contribution guide for our Stately Studio and XState docs.