# Contributing
A big welcome and thank you for considering contributing to [H & D](https://h-d-gmbh.de/) open
source projects!
We love your input! We want to make contributing to this project as easy and transparent as
possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
Reading and following these guidelines will help us make the process easy and effective for everyone
involved.
## General contribution information
Contributions are made to this repo via issues, discussions and pull requests (PRs).
A few general guidelines:
- To report security vulnerabilities, please write a mail to
[our team](mailto:contact-oss@h-d-gmbh.de?subject=%5BINCIDENT%5D%20quick-microservice-rs%20-%20)
and do not report it via issues or discussions.
- Search for existing issues, discussions and PRs before creating your own.
- Provide a detailed description and all necessary information required for your concern.
- For non-trivial changes, create a [discussion][discussions] first.
- PRs must address a single concern in the least number of changed lines as possible.
- Changes to the code are introduced using the [GitHub flow][github-flow].
### Discussions
[Discussions][discussions] are an informal way to talk about changes or to ask questions about the
project.
[Discussions][discussions] are also great to start a conversation about a planned change and to get
other opinions/solutions for them.
### Issues
[Issues][issues] are the formal way to report bugs or request new features.
To work efficiently with [issues], all the necessary information must be added in the description.
Adding a description of how to reproduce a bug or what the expectations for a new feature are does
help, too.
It is considered a good practice to first open an issue and give the team time to respond, before
proposing changes for it.
### Pull Requests (PRs)
Changes are introduced using pull requests with aforementioned [GitHub flow][github-flow]. \
Here is a quick overview over the workflow:
1. Fork the project
2. Clone your fork
3. Create a branch for your changes
4. Make your changes
5. Push your changes to your fork
6. Create a pull request
An ongoing effort is to ensure your fork is up-to-date and that your changes are made on top of the
latest changes in the upstream project.
[discussions]: https://github.com/hd-gmbh-dev/quick-microservice-rs/discussions
[issues]: https://github.com/hd-gmbh-dev/quick-microservice-rs/issues
[github-flow]: https://docs.github.com/en/get-started/using-github/github-flow