Thanks for your interest in contributing to Xolo Pipeline! This document outlines the workflow and conventions for development.
We follow a simple Git branching model inspired by GitFlow:
main→ Stable production-ready code.dev→ Integration branch for new features.feature/<short-desc>→ Feature branches offdev.- Example:
feature/ocio-support
- Example:
release/vX.Y.Z→ Prepares a version release.- Example:
release/v1.2.0
- Example:
hotfix/<short-desc>→ Urgent fixes offmain.
- Create a new branch from
dev:git checkout -b feature/my-new-feature dev - Implement your feature.
- Push and create a PR into
dev. - Once approved and merged → included in next release.
We use Semantic Versioning (SemVer):
vMAJOR.MINOR.PATCH
- MAJOR → Breaking changes.
- MINOR → New features (backward compatible).
- PATCH → Bug fixes and small improvements.
Example: v1.3.2
- Python code follows PEP8.
- Use black for formatting.
- Use ruff for linting.
- Type hints required for all functions.
- PRs must target
dev, nevermain. - Include a clear title and description.
- Link related issues (e.g.,
Closes #42). - At least one approval required before merge.
- All code must include basic tests (pytest).
- Run tests locally before submitting PRs:
uv run pytest