First off, a very warm thank you for considering contributing to biotrainer
! It is people like you,
living the spirit of open source software, that will make a difference.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Open a new issue with a clear title and detailed description of the suggested enhancement.
At first, please create a fork of the repository in your own account. All PRs will be re-based on the development branch of this main repository (see below). We use a modified GitFlow workflow for this project. Here's an overview of the process:
main
: This branch contains production-ready code. All releases are merged intomain
and tagged with a version number.develop
: This is our main development branch. All features and non-emergency fixes are merged here.
-
Feature Branches:
- Name format:
feature/your-feature-name
- Branch off from:
develop
- Merge back into:
develop
- Used for developing new features or enhancements.
- Name format:
-
Bugfix Branches:
- Name format:
bugfix/issue-description
- Branch off from:
develop
- Merge back into:
develop
- Used for fixing non-critical bugs.
- Name format:
-
Release Branches:
- Name format:
release/vX-Y-Z
- Branch off from:
develop
- Merge back into:
develop
andmain
- Used for preparing a new production release.
- Name format:
-
Hotfix Branches:
- Name format:
hotfix/issue-description
- Branch off from:
main
- Merge back into:
develop
andmain
- Used for critical bugfixes that need to be addressed immediately.
- Name format:
-
For a new feature or non-critical bug fix:
- Create a new feature or bugfix branch from
develop
. - Work on your changes in this branch.
- When ready, create a pull request to merge your branch into
develop
.
- Create a new feature or bugfix branch from
-
For preparing a release:
- Create a release branch from
develop
. - Make any final adjustments, version number updates, etc.
- Create a pull request to merge the release branch into
main
. - After merging into
main
, also merge back intodevelop
. - Tag the merge commit in
main
with the version number.
- Create a release branch from
-
For critical hotfixes:
- Create a hotfix branch from
main
. - Make your fixes.
- Create a pull request to merge into
main
. - After merging into
main
, also merge intodevelop
. - Tag the merge commit in
main
with an updated version number.
- Create a hotfix branch from
- Ensure your code adheres to the project's coding standards.
- Update the README.md with details of changes to the interface, if applicable.
- Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
- You may merge the Pull Request in once you have the sign-off of one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you.
- Use the present tense ("Adding feature" not "Added feature")
- Limit the first line to 72 characters or fewer
- Reference issues and pull requests liberally after the first line
- Follow PEP 8.
- Use 4 spaces for indentation (not tabs).
- Use docstrings for functions, classes, and modules.
- Use Markdown for documentation.
This section lists the labels we use to help us track and manage issues and pull requests.
bug
- Issues that are bugs.enhancement
- Issues that are feature requests.documentation
- Issues or pull requests related to documentation.refactoring
- If you change something in the code, e.g. renaming function names.maintenance
- If you update parts of the project to newer versions, e.g. dependency updates or fixing examples.good first issue
- Good for newcomers.
Thank you for contributing to biotrainer
!