# Contributing to the Project
If you want to contribute to project here are the guidelines:
- [Bugs and feature requests](#bfr)
- [Environment setup](#ese)
- [Submission guidelines](#sug)
- [Coding rules](#cru)
- [Commit message guidelines](#cmg)
- [Final message](#fmg)
## Bugs and feature requests
### For bugs
If you find a bug you can help the project by submitting an issue to the [GitHub Repository](https://www.github.com/mauriciovigolo/keycloak-angular). You may also submit a Pull Request with the bug fix, but before, please check the project's coding rules and commit templates.
### Feature requests
Missing an important feature? Please open an issue for discussion. If you want to implement this new feature, before submiting a Pull Request, please open the issue.
## Environment setup
- First of all, fork this repository at GitHub.
- Clone the forked repository
```sh
git clone https://github.com/YOUR-USERNAME/keycloak-angular.git
```
- Install the dependencies
```sh
npm install
```
## Submission guidelines
### For issues
Before submitting an issue, please search if there is an open issue for the same bug. A minimal reproduce scenario is necessary to help to understand the problem.
For opening an issue, you can fill out this [issue form](https://github.com/mauriciovigolo/keycloak-angular/issues/new).
### Submitting a Pull Request (PR)
Before submitting a Pull Request, please:
- Search for open and closed related PRs.
- Follow the coding rules.
- Follow the commit message guidelines.
- Checkout the code documentation - jsdoc.
## Coding rules
This project uses the [Airbnb coding style](https://github.com/airbnb/javascript) with little
exceptions. The project tslint.json file extends tslint-config-airbnb. Check if you have the tslint
extension in your editor.
Details:
- The code must also be documented following the [jsdoc guidelines](http://usejsdoc.org/).
- Wrap all code at 100 characters.
## Commit message guidelines
This project follows the [Angular commit message guidelines](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit).
From the Angular documentation:
### 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:
```
():