Skip to content

CCE vs OpenRewrite

CCE (Code Context Engine) inventories what application code calls. OpenRewrite changes source to match target patterns. They are complementary, not substitutes.

At a glance

CCE OpenRewrite
Core job Discover and report call sites Modify and print source
Output JSON / SARIF entitlement reports Git diffs
Engine tree-sitter + Grok lenses LST + recipes/visitors
Sweet spot Cloud IAM (PoLP), SDK uplift backlog, CVE reachability Spring/Jakarta migrations, Java framework upgrades

Best together

  1. CCE scan — cce -folder . -mapper-file https://releases.stackgen.com/cce/lenses/sdk-uplift/latest/sdk-uplift_lenses.yaml -format json
  2. OpenRewrite migrate — recipes linked in lens openrewrite_recipe fields
  3. CCE verify — cce diff baseline.json after.json -policy docs/recipes/policies/sdk-uplift.yaml

See OpenRewrite pipeline and analysis recipes.

What CCE adopted from OpenRewrite (without rewriting code)

  • Analysis recipe catalog — cce catalog
  • Recipe packs — cce run -pack modernization-pack
  • Baseline diff / policies — cce diff
  • Lens fixture tests — testdata/recipes/
  • Data tables in YAML — prefixes_from in lenses
  • SARIF export — -format sarif
  • Maven/Gradle hooks — integrations/

CCE deliberately does not embed an LST rewrite engine; use OpenRewrite for the apply step.