.github/CONTRIBUTING.md
# Contributing
Thank you for your interest in contributing to the cloudflare-queue-consumer.
- If you're unsure if a feature would make a good addition, you can always [create an issue](https://github.com/bbc/cloudflare-queue-consumer/issues/new) first. Raising an issue before creating a pull request is recommended.
- We aim for 100% test coverage. Please write tests for any new functionality or changes.
- Any API changes should be fully documented.
- Make sure your code meets our linting standards. Run `npm run lint` to check your code.
- Maintain the existing coding style.
- Be mindful of others when making suggestions and/or code reviewing.
## Reporting Issues
Before opening a new issue, first check that there is not already an [open issue or Pull Request](https://github.com/bbc/cloudflare-queue-consumer/issues?utf8=%E2%9C%93&q=is%3Aopen) that addresses it.
If there is, make relevant comments and add your reaction. Use a reaction in place of a "+1" comment:
- 👍 - upvote
- 👎 - downvote
If you cannot find an existing issue that describes your bug or feature, create a new issue using the guidelines below.
1. Pick an appropriate template for the type of issue [from here](https://github.com/bbc/cloudflare-queue-consumer/issues/choose)
2. Provide as much detail as possible
3. Follow your issue in the issue tracking workflow
## Contributing Code
If you do not have push access to the repository, please [fork it](https://help.github.com/en/articles/fork-a-repo). You should then work on your own `main` branch.
Otherwise, you may clone this repository and create a working branch with a _kebab-case_ name reflecting what you are working on (e.g. `fix-the-thing`).
Follow the setup instructions in the [README](../README.md).
Ensure all your code is thoroughly tested and that this testing is detailed in the pull request.
## Contributors Licence Agreement
In order to accept contributions, we need all contributors grant Us a licence to the intellectual
property rights in their Contributions. This Agreement (“Agreement”) is intended to protect your
rights as a contributor, and to help ensure that the intellectual property contained
within is available to the whole community, to use and build on.
When you raise a pull request and you haven't previously signed a CLA, the bot will automatically
ask you to do this. You must complete this step in order for your PR to be merged.
## Pull Request Process
1. Make sure you have opened an issue and it was approved by a project maintainer before working on a PR
2. Read and complete all relevant sections of the PR template
3. Wait for the PR get approved