# Contributing ## Questions If you have questions about implementation details, help or support, then please use our dedicated community forum at [GitHub Discussions](https://github.com/tannerlinsley/react-query/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. ## Reporting Issues If you have found what you think is a bug, please [file an issue](https://github.com/tannerlinsley/react-query/issues/new). **PLEASE NOTE:** Issues that are identified as implementation questions or non-issues will be immediately closed and redirected to [GitHub Discussions](https://github.com/tannerlinsley/react-query/discussions) ## Suggesting new features 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. ## Development If you have been assigned to fix an issue or develop a new feature, please follow these steps to get started: - Fork this repository - Install dependencies by running `$ yarn` - Link `react-query` locally by running `$ yarn link` - Auto-build files as you edit by running `$ yarn start` - Implement your changes and tests to files in the `src/` directory and corresponding test files - To run examples, follow their individual directions. Usually this is just `$ yarn && yarn start`. - To run examples using your local build, link to the local `react-query` by running `$ yarn link react-query` from the example's directory - Document your changes in the appropriate doc page - Git stage your required changes and commit (see below commit guidelines) - Submit PR for review ## Online one-click setup You can use Gitpod (An Online Open Source VS Code like IDE which is free for Open Source) for developing online. With a single click it will start a workspace and automatically: - clone the `react-query` repo. - install all the dependencies in `/` and `/docs`. - run `yarn start` in the root(`/`) to Auto-build files. - run `yarn dev` in `/docs`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/tannerlinsley/react-query) ## Commit message conventions `react-query` is using [Angular Commit Message Conventions](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines). We have very precise rules over how our git commit messages can be formatted. This leads to **more readable messages** that are easy to follow when looking through the **project history**. ### Commit Message Format Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: ``` ():