# Contributing

First off, thank you so much for taking the time to contribute. All contributions are more than welcome!

## How can I contribute?

If you have an awesome new feature that you want to implement or you found a bug that you would like to fix, here are some instructions to guide you through the process:

- **Create an issue** to explain and discuss the details
- **Fork the repo**
- **Clone the repo** and set it up (check out the [manual installation](https://github.com/hagopj13/node-express-boilerplate#manual-installation) section in README.md)
- **Implement** the necessary changes
- **Create tests** to keep the code coverage high
- **Send a pull request**

## Guidelines

### Git commit messages

- Limit the subject line to 72 characters
- Capitalize the first letter of the subject line
- Use the present tense ("Add feature" instead of "Added feature")
- Separate the subject from the body with a blank line
- Reference issues and pull requests in the body

### Coding style guide

We are using ESLint to ensure a consistent code style in the project, based on [Airbnb's JS style guide](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb-base).

Some other ESLint plugins are also being used, such as the [Prettier](https://github.com/prettier/eslint-plugin-prettier) and [Jest](https://github.com/jest-community/eslint-plugin-jest) plugins.

Please make sure that the code you are pushing conforms to the style guides mentioned above.
