| title | Contributing |
|---|---|
| id | contributing |
If you have questions about implementation details, help or support, then please use our dedicated community forum at Github Discussions PLEASE NOTE: If you choose to instead open an issue for your question, your issue will be immediately closed and redirected to the forum.
If you have found what you think is a bug, first search the open and closed issues to make sure it has not already been reported. If you cannot find an existing report, use the bug report template. PLEASE NOTE: Issues that are identified as implementation questions or non-issues will be immediately closed and redirected to Github Discussions.
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.
Every pull request must follow the TanStack Devtools pull request template. Complete its description and checklist without removing or bypassing the required sections.
- Search the open and closed pull requests before starting work to avoid duplicating an existing contribution.
- Keep each pull request focused on one change or topic. Pull requests that combine unrelated changes will be closed with a request to split them into separately reviewable contributions.
- Write a concise description that clearly explains what changed and why. Follow the sections in the pull request template; a long, unstructured description makes a contribution harder to review.
- You may use AI tools to help generate code, but you remain responsible for understanding, testing, and verifying every submitted change. Do not submit unreviewed, low-quality, or irrelevant generated code.
- Do not mass-submit unrelated or low-quality AI-generated pull requests. We treat that behavior as spam and may close the pull requests, block the contributor, and report the GitHub account.
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
- Every change that affects a published package must include a changeset. Create the changelog entry with
pnpm changeset; documentation, CI, and development-only changes do not require one. - 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