Thank you for your interest in contributing to our project. The following is a set of guidelines for contributing to this project.
We use pre-commit to ensure code quality. Please install it following the steps below:
Install pre-commit package globally:
pip install pre-commit
Then install the git hook scripts, run:
pre-commit install
Pre-commit will now run on every commit. If you want to run pre-commit manually, you can use:
pre-commit run
Before you start working, please create a new feature branch. This will ensure your ongoing work does not affect the main branch and makes it easier to merge your changes later.
To create a new branch:
git checkout -b your-new-branch
While doing changes, make sure to update self-dependencies in actions versions.
Once ready, you can create a PR. We require pull request titles to follow the Conventional Commits specification. Make sure to prefix the title with one of the following: fix:
, feat:
, feature:
, chore:
, hotfix:
. Breaking change pull requests may include !
after the type/scope, e.g. <type>!: <description>
.
This helps maintainers to categorize the PR and understand its purpose easier.
After a PR is created, it needs to be checked and reviewed before merging.
Review the changes in the PR and ensure they adhere to the code quality standards and are aligned with the project's objectives. Once approved, merge the PR and squash the commits.
Follow the steps below to create a new release on GitHub:
- Navigate to your repository homepage.
- Click on the "Releases" tab which is next to the "About" section on the right side of the page.
- Click on "Draft a new release" button which is toward the right side of the screen.
- Select the main branch as the target for the release.
- Enter a unique tag for the new version following your project's versioning system. This tag will be used to identify this specific release.
- Under "Release title", give a short, meaningful name for the release.
- Make sure "Generate Release Notes" option is selected. GitHub will automatically include a changelog of all commit messages since your last release.
- Once all the details are finalized, click on the "Publish release" button.