| title | Contributing |
|---|---|
| id | contributing |
If you have questions about implementation details, help, or support, use GitHub Discussions. Issues should be reserved for reproducible bugs and concrete feature requests.
If you have found what you think is a bug, please file an issue with a minimal reproduction and the expected behavior.
If you are here to suggest a feature, first create an issue if it does not already exist. From there, we will discuss use-cases for the feature and then finally discuss how it could be implemented.
Before proceeding with development, ensure you match one of the following criteria:
- Fixing a small bug
- Fixing a larger issue that has been previously discussed and agreed-upon by maintainers
- Adding a new feature that has been previously discussed and agreed-upon by maintainers
- Fork this repository; we prefer the
feat-*branch name style - Ensure you have
pnpminstalled - Install projects dependencies and linkages by running
pnpm install - Auto-build and auto-test files as you edit by running
pnpm dev - Implement your changes and tests
- To run examples, follow their individual directions. Usually this includes:
- cd into the example directory
- Do NOT install dependencies again or do any linking. Nx already handles this for you. Only run install from the project root.
- Starting the dev server with
pnpm devorpnpm start(from the example directory)
- To test in your own projects:
- Build/watch for changes with
pnpm build/pnpm dev
- Build/watch for changes with
- Document your changes in the appropriate documentation website markdown pages
- Run
pnpm testto ensure all tests pass before committing - Create a changeset (changelog entry) for your changes by running
pnpm changeset - Commit your work and open a pull request
- Submit PR for review
- Clone an existing example into the appropriate
examplesdirectory - Name it the example name in kebab-case
- Update the new example's package.json to match the new example name and any other details
- Check dependencies for unused packages
- Install any additional packages to the example that you may need
- Update the docs/config.json file to include the new example in the navigation sidebar
- Commit the example eg.
docs: Add example-name