Thank you for your interest in contributing to ReleasePilot! This guide covers everything you need to get started.
git clone https://github.com/polprog-tech/ReleasePilot.git
cd ReleasePilot
python3 -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip3 install -e ".[all]"Verify the installation:
releasepilot --versioncp scripts/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commitThe hook runs ruff lint (with auto-fix), ruff format check, and the full test suite before each commit.
pytest # all tests
pytest -v # verbose
pytest tests/test_dedup.py # specific file
pytest tests/test_dedup.py::TestExactDedup # specific classTests follow the GIVEN/WHEN/THEN docstring pattern (see existing tests for examples).
ruff check src/ tests/
ruff format --check src/ tests/The playground/ directory provides a full demo environment:
python3 playground/scripts/run_demo.py --setupSee playground/README.md for details.
Include: expected vs actual behavior, .releasepilot.json (redacted), Python/OS version, steps to reproduce.
- Branch from
main - Make changes + add tests
- Run
pytestandruff check src/ tests/ - Open PR with clear description
Conventional Commits: feat:, fix:, docs:, test:, refactor:, chore:
See LICENSE.