This document outlines different types of contributions and how YOU can help us to improve the project. Read it, as it provides guidelines that are there to help you and the maintainers.
In order to avoid having to manage ongoing discussions and bug reports on different communication channels, e.g. forums, messangers or other closed groups, we ask everyone to treat the issue section on gitlab as the place to open their relevant discussions and bug reports regarding the project.
The maintainers of the project do not have the time nor motivation to micromanage on the various channels and enter all data here to have it collected. This is a simple task that ANYONE can do allowing the maintainers and developers to spend their time on the codebase.
Follow these steps when reporting bugs to ensure you provide all information we always need and make your report valuable and actionable.
- On the bemanitools repository, go
Issues
on the left-hand sidebar. - Use the search function to check if there is an already open issue regarding what you want to
report
- If that applies, read the open issue to check what's already covered regarding the bug
- Provide additional information or things that are missing. Upload your log files, screenshots, videos etc. Be careful to remove sensitive information like PCBIDs
- Give a thumbs up to the issue to show you are interested/affected as well
- If no existing issue avilable, create a new one
- Come up with a descriptive title
- USE OUR BUG REPORTING TEMPLATE: Pick it by selecting
Bug
on theDescription
section - Follow the sections and their instructions provided by the template and fill them in. All fields are mandatory to provide a comprehensive report if not stated otherwise
- When finished, submit the issue
Pull requests are welcome! May it be a merge request to an already known issue or a new feature that you consider as a valuable contribution, please open a MR.
!!! Maintaining documentation by adding new or improving existing documentation is as important as code !!!
If you want to start working on a new feature that was proposed in an issue, yet, it is recommended to reach out to the active developers about this, first, to discuss if this contribution is valuable to the project. Otherwise, you might waste your time on implementing something that won't make it into master.
Please read our development guidelines as they contain valuable information that your contribution meets our standards. This is not meant to annoy people but ensures consistency that the project stays maintainable for everyone.
Steps for contributing to the repository using a merge request:
- If you are new to git, take a bit of time to learn the basics which are very simple, e.g. Google for "git tutorial for non-programmers"
- Fork the upstream repository (Fork button on the top right on the main page of the repository)
- You can start editing files like documentation easily inside gitlab which might be the prefered option for many non-coders
- Clone your fork to your local machine and start working on stuff
- Ensure you push your changes to your fork on gitlab
- When done, go to the
Merge Requests
section on the left sidebar of the upstream repository - Hit the
New merge request
button - Select the
master
branch as the source branch - Select whatever branch you worked, likely
master
if you didn't change that, as the target branch - Hit
Compare branches and continue
- Provide a descriptive title of what your change is about
- USE OUR MR TEMPLATES
- If you submit a bugfix, use the
Bugfix
tempalte and fill in the sections - If you submit a new feature, use the
Feature
template and fill in the sections
- If you submit a bugfix, use the
- If you submit some minor fixes or documentation improvements, there is no template for that. Please provide a expressive description what you did and why you did that
- If any of your changes are tied to one or multiple issues, link them in the description
- When done, hit
Submit merge request
The maintainers will take a look at your submission and provide their feedback. The intention of this process is to ensure the contribution meets the quality standards. Please also see this is a learning opportunity, especially with your first contribution, if a lot of comments and change requests are being made. The maintainers are open to discuss their suggestions/feedback if reasonable feedback is given back to them.
Once all discussion is resolved and the involved maintainers approved your submission, it will be merged into master and also included in the next release.
No concrete roadmap or timeline exists. We want to continue adding support for new games as well as old games (some of the old games supported by BT4 are not supported, yet).