Contributions of docs, tests, or code are welcome. Please open an issue first to discuss substantial changes.
- Fork the repo
- Clone your fork (
git clone <your_fork_url>) - Create a branch (
git checkout -b my_branch) - Install dependencies:
uv sync - Make your changes
- Run the verification pipeline and fix any issues
- Commit using Conventional Commits
- Push your branch (
git push origin my_branch) - Open a Pull Request
- Python 3.14+
- uv as the package manager
Run all checks before submitting a PR. Every step must pass.
# lint
uv run ruff check src/ tests/
# format
uv run ruff format --check src/ tests/
# type check
uv run ty check src/
# tests with coverage (must be 100%)
uv run pytest tests/ -v --cov=steamcleaner --cov-report=term-missingCI requires 100% code coverage.
Use Conventional Commits: feat:, fix:, refactor:, test:, docs:, chore:, ci:, style:, etc.
Write tests for every new feature or bug fix. Use assertpy2 assertions (assert_that) in tests.