Thanks for your interest in contributing! This guide will help you get started.
-
Clone the repository
git clone https://github.com/Wandersalamander/python-content-tree-generator.git cd python-content-tree-generator -
Create a virtual environment
python -m venv .venv source .venv/bin/activate # Linux / macOS .venv\Scripts\activate # Windows
-
Install in editable mode with dev and test extras
pip install -e ".[dev,test]" -
Install the pre-commit hooks
pre-commit install
pytestWith coverage:
pytest --cov --cov-report=term-missing-
Formatting & linting are handled by Ruff.
-
Type checking is done with ty.
-
Pre-commit hooks run automatically on every commit. You can also run them manually:
pre-commit run --all-files
-
All code must include type annotations and pass the type checker.
-
Aim for clear, single-responsibility functions with docstrings.
- Fork the repository and create a feature branch from
main. - Make your changes and add tests where appropriate.
- Ensure all checks pass (
pre-commit run --all-files && pytest). - Open a pull request with a clear description of the change.
Please use GitHub Issues to report bugs or request features. Include:
- Steps to reproduce (for bugs).
- Expected vs. actual behaviour.
- Python version and OS.