A Claude Code pipeline that modernizes a Java/Maven repo, moving it to a newer Java and Spring Boot version. It runs four phases, and a human approves each one before the next starts:
- discover: inventories the repo (effective POM, dependency tree, SBOM, CVEs, coverage)
- determine: reconciles dependencies against the BOM and CVEs, scores testability, and writes a modernization plan
- test: raises test coverage until the testability score clears the threshold
- coding: upgrades Java and Spring Boot with OpenRewrite, then bumps dependencies, keeping the build green at every step
Runs are resumable. State is stored in .modernization/state.json.