Thanks for taking the time to contribute. This document is short on purpose — read it once and you should have everything you need to send a useful change.
- Open an issue — bug reports and feature requests
- Discussions — design questions, ideas
- Roadmap and known limitations
git clone https://github.com/EstebanCastel/KMP-IMPACT-Reviewing-Dependency-Updates-in-Kotlin-Multiplatform.git
cd KMP-IMPACT-Reviewing-Dependency-Updates-in-Kotlin-Multiplatform
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -qTo preview the documentation site locally:
pip install -r docs/requirements.txt
mkdocs servesrc/kmp_impact_analyzer/ # tool source — one sub-package per pipeline phase
tests/ # pytest suite, fixtures included
docs/ # MkDocs Material site (deployed via GitHub Pages)
examples/github-action/ # reference workflow + Dependabot config
gradle-init/ # Gradle init script used by the static phase
tools/ # auxiliary scripts (ksp dump, etc.)
A deeper map lives in docs/architecture/pipeline-overview.md.
- Python 3.10+, type hints required on public functions.
- Cross-phase data goes through the Pydantic v2 contracts in
contracts.py— never invent ad-hoc dicts. - New behaviour ships with a test in
tests/. The suite must stay green on Python 3.10, 3.11 and 3.12 (CI matrix). - No mocks in integration paths: when an APK or UTG cannot be produced, return
BLOCKEDwith an explicit reason rather than fabricating data.
- One logical change per commit. Conventional-commit prefixes are encouraged:
feat:,fix:,docs:,refactor:,test:,chore:,ci:. - PR titles mirror the commit style.
- Every PR must update CHANGELOG.md under
## [Unreleased]. - Reference issues with
Closes #N/Refs #Nin the PR body.
- Bump
versioninpyproject.toml. - Move entries from
## [Unreleased]to a new dated section inCHANGELOG.md. - Open a release PR (
release: vX.Y.Z). - After merge, tag
vX.Y.Zonmainand push the tag — therelease.ymlworkflow handles the GitHub Release.
Please do not open public issues for security reports. Email juanvalencia@habi.co with the details and we will coordinate a fix and a coordinated disclosure window.