When contributing to this project, this document should help you get started.
This project adheres to the Contributor Covenant Code Of Conduct. By participating, you are expected to uphold this code.
GitHub issues are the way to track bugs and enhancements.
Issues are hold in high regards in this project, so please feel free to open issue for:
- Questions to help to improve the user experience
- Ideas which are a great source for contributions
- Problems show where this project is lacking or not working as expected.
If you are reporting a problem, please provide as much information as possible, since this will help us to fix it. This includes, if possible, a description or small sample project how to reproduce the problem.
Also please check out first if an issue had been already opened with your request.
Every change has to branch of from main
and use this branch naming convention:
feature/{type_of_change}-{short_description}
main
must be always in releasable state.
- add for new features or functionality
- change for changes in existing features or functionality
- deprecated for features which are at their end of life and will be removed in the future
- remove for removed features or functionality
- fix for any bug fixes
- bump for dependency updates
- security in case of vulnerabilities
Examples:
feature/add-awesome-hashing-algorithm
feature/remove-not-so-awesome-algorithm
feature/fix-algorithm-corner-case
feature/bump-lib-to-1.3.0
Pull requests are always welcome!
If you (going to) contribute, please make sure you made clear which problem you are attempt solve or what is nature of your improvement.
Please use our title pattern: {type of change} {short description}
:
type of change
can be:
- Add for new features or functionality,
- Change for changes in existing features or functionality,
- Deprecated for features which are at their end of life and will be removed in the future,
- Remove for removed features or functionality,
- Fix for any bug fixes,
- Security in case of vulnerabilities,
- Bump for dependency updates,
followed by a short description
of your change.
Example:
- Add awesome hashing algorithm
- Changed thumbnail generation
Pull requests must fill the provided template. Put N/A when a paragraph cannot be filled.
Labels should be used (enhancement,bugfix, help wanted etc...) to categorise your contribution.
Important: Work in progress pull-requests should be created as a draft.
Your contribution has to meet these criteria:
- Functional and fitting in the project
- Code style and naming conventions followed
- Test written and passing
- Existing Tests still passing
- Continuous Integration build passing
- Cross platform testing done for all supported platforms
- Documentation updated (if necessary)
- Changelog updated (if necessary)
Contributing code and introducing dependencies into the repository from other projects that use one of the following licenses is allowed.
Any other contribution needs to be signed off by the project owners.