# Developing ## Getting started with GitHub Codespaces To get started, create a codespace for this repository by clicking this 👇 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=83716883) A codespace will open in a web-based version of Visual Studio Code. The [dev container](.devcontainer/devcontainer.json) is fully configured with software needed for this project. **Note**: Dev containers is an open spec which is supported by [GitHub Codespaces](https://github.com/codespaces) and [other tools](https://containers.dev/supporting). ## Setup ```shell yarn ``` ## Testing ```shell yarn test ``` ### Testing for a specific library ```shell yarn nx test effects --watchAll yarn nx test --watchAll ``` ### Testing for a specific schematic unit test ```shell yarn jest modules/schematics/src/effect/index.spec.ts --watch yarn jest --watch ``` ## Submitting Pull Requests **Please follow these basic steps to simplify pull request reviews. If you don't you'll probably just be asked to anyway.** - Please rebase your branch against the current master. - Run the `Setup` command to make sure your development dependencies are up-to-date. - Please ensure the test suite passes before submitting a PR. - If you've added new functionality, **please** include tests which validate its behavior. - Make reference to possible [issues](https://github.com/ngrx/platform/issues) on PR comment. ## Submitting bug reports - Search through issues to see if a previous issue has already been reported and/or fixed. - Provide a _small_ reproduction using a [StackBlitz project](https://stackblitz.com/edit/ngrx-seed) or a GitHub repository. - Please detail the affected browser(s) and operating system(s). - Please be sure to state which version of Angular, node and npm you're using. ## Submitting new features - We value keeping the API surface small and concise, which factors into whether new features are accepted. - Submit an issue with the prefix `RFC:` with your feature request. - The feature will be discussed and considered. - Once the PR is submitted, it will be reviewed and merged once approved. ## Questions and requests for support Questions and requests for support should not be opened as issues and should be handled in the following ways: - Start a new [Q&A Discussion](https://github.com/ngrx/platform/discussions/new?category=q-a) on GitHub. - Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/ngrx) using the `ngrx` tag. - Join our [Discord server](https://discord.com/invite/ngrx). ## Commit Message 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**. But also, we use the git commit messages to **generate the NgRx changelog**. ### 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**: ``` ():