We want this community to be friendly and respectful to each other. Please read the full text so that you can understand what actions will and will not be tolerated.
The core team works directly on GitHub and all work is public.
Working on your first pull request? You can learn how from this free series: How to Contribute to an Open Source Project on GitHub.
- Fork the repo and create your branch from
master
(a guide on how to fork a repository). - Do the changes you want and test them out before sending a pull request.
We follow the conventional commits specification for our commit messages:
fix
: bug fixes, e.g. fix something meaningful.feat
: new features, e.g. add new API.refactor
: code refactor, e.g. new folder structure.docs
: changes into documentation, e.g. add usage example.test
: adding or updating tests, eg unit, snapshot testing.chore
: tooling changes, e.g. change circleci config.BREAKING CHANGE
: for changes that break existing usage, e.g. change API.
We type our code with Flow or TypeScript, use ESLint with Prettier for linting and formatting the code, and Jest for testing. Our pre-commit hooks verify that the linter and tests pass when commiting. You can also run the following commands manually:
pnpm typecheck
: run type checks.pnpm lint
: lint files with eslint and prettier.pnpm test
: run unit tests with jest.
When you're sending a pull request:
- Prefer small pull requests focused on one change.
- Verify that all checks are passing.
- Follow the pull request template when opening a pull request.
You can report issues on our bug tracker. Please follow the issue template when opening an issue.
By contributing to this project, you agree that your contributions will be licensed under its MIT license.