Contributing to marge-bot
marge-bot is a community project and contributions are more than welcome to keep the project going. Below are some basic guidelines to help you get started.
Development environment
This project uses uv for managing the virtual environment and dependencies.
After checking out the repository, use uv sync to set up the virtual environment and
install all dependencies.
bash session
git clone git@gitlab.com:marge-org/marge-bot.git
cd marge-bot
uv sync --group dev
VS Code
Open the project in VS Code, let VS Code install the recommended extensions, and make sure to select the Python virtual environment that Poetry created as the Python interpreter for the project.
A Marge Run/Debug target is available out of the box. The target assumes that a
development-config.yaml file exists in the root of the repository.
Commit messages
We use the Conventional Commits specification to format all our commit messages. As a community-maintained project without a dedicated release management team, this helps us automate our releases and changelog generation.
Commit formats are enforced using commitizen in our merge request pipelines. Please make sure your commit messages match this format and amend your commit message if the commit lint step fails.
Below are a few examples of commits that would fail or pass our checks:
- Bad:
Added support for batching - Good:
feat(api): add support for batching merge requests - Bad:
Update documentation for batch jobs - Good:
docs(projects): update example for batch jobs