Latest versions of every OpenRewrite module
OpenRewrite's modules are published to Maven Central. Each time a release is made, a bill of materials artifact is also published to correctly align and manage the versions of all published artifacts. The Gradle plugin is published to the Gradle Plugin Portal.
It is highly recommended that developers use the rewrite-recipe-bom to align the versions of Rewrite's modules to ensure compatibility. The use of the "bill of materials" means that a developer will only need to specify explicit versions of the BOM and the build plugins:
CLI Installation
Install the latest versions of all the OpenRewrite recipe modules into the Moderne CLI:
- Pinned versions
- Latest versions
mod config recipes jar install io.moderne.recipe:recipes-kotlin:0.1.0 io.moderne.recipe:recipes-scala:0.1.0 io.moderne.recipe:rewrite-ai:0.3.4 io.moderne.recipe:rewrite-cryptography:0.13.6 io.moderne.recipe:rewrite-devcenter:1.24.1 io.moderne.recipe:rewrite-dropwizard:0.3.1 io.moderne.recipe:rewrite-elastic:0.6.5 io.moderne.recipe:rewrite-hibernate:0.23.0 io.moderne.recipe:rewrite-jasperreports:0.5.4 io.moderne.recipe:rewrite-java-application-server:0.7.0 io.moderne.recipe:rewrite-kafka:0.6.0 io.moderne.recipe:rewrite-prethink:0.6.0 io.moderne.recipe:rewrite-program-analysis:0.12.5 io.moderne.recipe:rewrite-release-metromap:0.2.2 io.moderne.recipe:rewrite-spring:0.33.0 io.moderne.recipe:rewrite-tapestry:0.3.4 io.moderne.recipe:rewrite-vulncheck:0.6.10 org.openrewrite:rewrite-cobol:2.17.5 org.openrewrite:rewrite-core:8.83.1 org.openrewrite:rewrite-csharp:8.83.1 org.openrewrite:rewrite-docker:8.83.1 org.openrewrite:rewrite-gradle:8.83.1 org.openrewrite:rewrite-groovy:8.83.1 org.openrewrite:rewrite-hcl:8.83.1 org.openrewrite:rewrite-java:8.83.1 org.openrewrite:rewrite-json:8.83.1 org.openrewrite:rewrite-kotlin:8.83.1 org.openrewrite:rewrite-maven:8.83.1 org.openrewrite:rewrite-polyglot:2.10.6 org.openrewrite:rewrite-properties:8.83.1 org.openrewrite:rewrite-protobuf:8.83.1 org.openrewrite:rewrite-templating:1.41.7 org.openrewrite:rewrite-toml:8.83.1 org.openrewrite:rewrite-xml:8.83.1 org.openrewrite:rewrite-yaml:8.83.1 org.openrewrite.meta:rewrite-analysis:2.33.0 org.openrewrite.recipe:rewrite-ai-search:0.33.4 org.openrewrite.recipe:rewrite-all:1.25.4 org.openrewrite.recipe:rewrite-android:0.17.1 org.openrewrite.recipe:rewrite-apache:2.26.0 org.openrewrite.recipe:rewrite-circleci:3.11.0 org.openrewrite.recipe:rewrite-codemods:0.25.5 org.openrewrite.recipe:rewrite-codemods-ng:0.20.6 org.openrewrite.recipe:rewrite-compiled-analysis:0.13.4 org.openrewrite.recipe:rewrite-concourse:3.10.4 org.openrewrite.recipe:rewrite-cucumber-jvm:2.11.16 org.openrewrite.recipe:rewrite-dotnet:0.15.4 org.openrewrite.recipe:rewrite-feature-flags:1.20.6 org.openrewrite.recipe:rewrite-github-actions:3.23.0 org.openrewrite.recipe:rewrite-gitlab:0.22.2 org.openrewrite.recipe:rewrite-hibernate:2.20.3 org.openrewrite.recipe:rewrite-jackson:1.23.0 org.openrewrite.recipe:rewrite-java-dependencies:1.55.0 org.openrewrite.recipe:rewrite-java-security:3.31.0 org.openrewrite.recipe:rewrite-jenkins:0.35.0 org.openrewrite.recipe:rewrite-joda:0.8.4 org.openrewrite.recipe:rewrite-kubernetes:3.16.4 org.openrewrite.recipe:rewrite-liberty:1.23.15 org.openrewrite.recipe:rewrite-logging-frameworks:3.28.0 org.openrewrite.recipe:rewrite-micrometer:0.28.12 org.openrewrite.recipe:rewrite-micronaut:2.34.0 org.openrewrite.recipe:rewrite-migrate-java:3.35.0 org.openrewrite.recipe:rewrite-migrate-kotlin:0.4.0 org.openrewrite.recipe:rewrite-netty:0.9.3 org.openrewrite.recipe:rewrite-okhttp:0.22.7 org.openrewrite.recipe:rewrite-openapi:0.31.7 org.openrewrite.recipe:rewrite-prethink:0.5.3 org.openrewrite.recipe:rewrite-quarkus:2.32.0 org.openrewrite.recipe:rewrite-reactive-streams:0.19.4 org.openrewrite.recipe:rewrite-rewrite:0.25.0 org.openrewrite.recipe:rewrite-spring:6.31.0 org.openrewrite.recipe:rewrite-spring-to-quarkus:0.9.0 org.openrewrite.recipe:rewrite-sql:2.11.4 org.openrewrite.recipe:rewrite-static-analysis:2.35.0 org.openrewrite.recipe:rewrite-struts:0.25.9 org.openrewrite.recipe:rewrite-terraform:3.14.0 org.openrewrite.recipe:rewrite-testing-frameworks:3.36.0 org.openrewrite.recipe:rewrite-third-party:0.39.0
mod config recipes pip install openrewrite==8.83.1 openrewrite-migrate-python==0.7.3
mod config recipes npm install @openrewrite/recipes-angular@1.2.0 @openrewrite/recipes-react@0.3.0 @openrewrite/rewrite@8.83.1 @openrewrite/recipes-nodejs@0.45.1
Install without a pinned version so you can later run mod config recipes upgrade to pull the newest versions without editing this command.
mod config recipes jar install io.moderne.recipe:recipes-kotlin:LATEST io.moderne.recipe:recipes-scala:LATEST io.moderne.recipe:rewrite-ai:LATEST io.moderne.recipe:rewrite-cryptography:LATEST io.moderne.recipe:rewrite-devcenter:LATEST io.moderne.recipe:rewrite-dropwizard:LATEST io.moderne.recipe:rewrite-elastic:LATEST io.moderne.recipe:rewrite-hibernate:LATEST io.moderne.recipe:rewrite-jasperreports:LATEST io.moderne.recipe:rewrite-java-application-server:LATEST io.moderne.recipe:rewrite-kafka:LATEST io.moderne.recipe:rewrite-prethink:LATEST io.moderne.recipe:rewrite-program-analysis:LATEST io.moderne.recipe:rewrite-release-metromap:LATEST io.moderne.recipe:rewrite-spring:LATEST io.moderne.recipe:rewrite-tapestry:LATEST io.moderne.recipe:rewrite-vulncheck:LATEST org.openrewrite:rewrite-cobol:LATEST org.openrewrite:rewrite-core:LATEST org.openrewrite:rewrite-csharp:LATEST org.openrewrite:rewrite-docker:LATEST org.openrewrite:rewrite-gradle:LATEST org.openrewrite:rewrite-groovy:LATEST org.openrewrite:rewrite-hcl:LATEST org.openrewrite:rewrite-java:LATEST org.openrewrite:rewrite-json:LATEST org.openrewrite:rewrite-kotlin:LATEST org.openrewrite:rewrite-maven:LATEST org.openrewrite:rewrite-polyglot:LATEST org.openrewrite:rewrite-properties:LATEST org.openrewrite:rewrite-protobuf:LATEST org.openrewrite:rewrite-templating:LATEST org.openrewrite:rewrite-toml:LATEST org.openrewrite:rewrite-xml:LATEST org.openrewrite:rewrite-yaml:LATEST org.openrewrite.meta:rewrite-analysis:LATEST org.openrewrite.recipe:rewrite-ai-search:LATEST org.openrewrite.recipe:rewrite-all:LATEST org.openrewrite.recipe:rewrite-android:LATEST org.openrewrite.recipe:rewrite-apache:LATEST org.openrewrite.recipe:rewrite-circleci:LATEST org.openrewrite.recipe:rewrite-codemods:LATEST org.openrewrite.recipe:rewrite-codemods-ng:LATEST org.openrewrite.recipe:rewrite-compiled-analysis:LATEST org.openrewrite.recipe:rewrite-concourse:LATEST org.openrewrite.recipe:rewrite-cucumber-jvm:LATEST org.openrewrite.recipe:rewrite-dotnet:LATEST org.openrewrite.recipe:rewrite-feature-flags:LATEST org.openrewrite.recipe:rewrite-github-actions:LATEST org.openrewrite.recipe:rewrite-gitlab:LATEST org.openrewrite.recipe:rewrite-hibernate:LATEST org.openrewrite.recipe:rewrite-jackson:LATEST org.openrewrite.recipe:rewrite-java-dependencies:LATEST org.openrewrite.recipe:rewrite-java-security:LATEST org.openrewrite.recipe:rewrite-jenkins:LATEST org.openrewrite.recipe:rewrite-joda:LATEST org.openrewrite.recipe:rewrite-kubernetes:LATEST org.openrewrite.recipe:rewrite-liberty:LATEST org.openrewrite.recipe:rewrite-logging-frameworks:LATEST org.openrewrite.recipe:rewrite-micrometer:LATEST org.openrewrite.recipe:rewrite-micronaut:LATEST org.openrewrite.recipe:rewrite-migrate-java:LATEST org.openrewrite.recipe:rewrite-migrate-kotlin:LATEST org.openrewrite.recipe:rewrite-netty:LATEST org.openrewrite.recipe:rewrite-okhttp:LATEST org.openrewrite.recipe:rewrite-openapi:LATEST org.openrewrite.recipe:rewrite-prethink:LATEST org.openrewrite.recipe:rewrite-quarkus:LATEST org.openrewrite.recipe:rewrite-reactive-streams:LATEST org.openrewrite.recipe:rewrite-rewrite:LATEST org.openrewrite.recipe:rewrite-spring:LATEST org.openrewrite.recipe:rewrite-spring-to-quarkus:LATEST org.openrewrite.recipe:rewrite-sql:LATEST org.openrewrite.recipe:rewrite-static-analysis:LATEST org.openrewrite.recipe:rewrite-struts:LATEST org.openrewrite.recipe:rewrite-terraform:LATEST org.openrewrite.recipe:rewrite-testing-frameworks:LATEST org.openrewrite.recipe:rewrite-third-party:LATEST
mod config recipes pip install openrewrite openrewrite-migrate-python
mod config recipes npm install @openrewrite/recipes-angular @openrewrite/recipes-react @openrewrite/rewrite @openrewrite/recipes-nodejs
Moderne Installation
Install the latest versions of all the OpenRewrite recipe modules into Moderne using the GraphQL endpoint.
Show GraphQL mutation.
mutation seedOpenRewriteArtifacts {
load_io_moderne_recipe_recipes_kotlin: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "recipes-kotlin"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_recipes_scala: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "recipes-scala"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_ai: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-ai"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_angular: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-angular"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_cryptography: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-cryptography"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_devcenter: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-devcenter"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_dropwizard: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-dropwizard"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_elastic: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-elastic"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_hibernate: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-hibernate"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_jasperreports: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-jasperreports"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_java_application_server: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-java-application-server"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_kafka: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-kafka"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_prethink: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-prethink"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_program_analysis: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-program-analysis"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_react: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-react"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_release_metromap: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-release-metromap"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_spring: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-spring"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_tapestry: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-tapestry"
version: "LATEST"
) {
id
}
load_io_moderne_recipe_rewrite_vulncheck: loadRecipesAsync(
groupId: "io.moderne.recipe"
artifactId: "rewrite-vulncheck"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_cobol: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-cobol"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_core: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-core"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_csharp: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-csharp"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_docker: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-docker"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_gradle: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-gradle"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_groovy: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-groovy"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_hcl: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-hcl"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_java: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-java"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_javascript: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-javascript"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_json: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-json"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_kotlin: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-kotlin"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_maven: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-maven"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_polyglot: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-polyglot"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_properties: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-properties"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_protobuf: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-protobuf"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_python: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-python"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_templating: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-templating"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_toml: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-toml"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_xml: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-xml"
version: "LATEST"
) {
id
}
load_org_openrewrite_rewrite_yaml: loadRecipesAsync(
groupId: "org.openrewrite"
artifactId: "rewrite-yaml"
version: "LATEST"
) {
id
}
load_org_openrewrite_meta_rewrite_analysis: loadRecipesAsync(
groupId: "org.openrewrite.meta"
artifactId: "rewrite-analysis"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_ai_search: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-ai-search"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_all: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-all"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_android: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-android"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_apache: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-apache"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_circleci: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-circleci"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_codemods: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-codemods"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_codemods_ng: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-codemods-ng"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_compiled_analysis: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-compiled-analysis"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_concourse: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-concourse"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_cucumber_jvm: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-cucumber-jvm"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_dotnet: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-dotnet"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_feature_flags: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-feature-flags"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_github_actions: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-github-actions"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_gitlab: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-gitlab"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_hibernate: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-hibernate"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_jackson: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-jackson"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_java_dependencies: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-java-dependencies"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_java_security: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-java-security"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_jenkins: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-jenkins"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_joda: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-joda"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_kubernetes: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-kubernetes"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_liberty: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-liberty"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_logging_frameworks: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-logging-frameworks"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_micrometer: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-micrometer"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_micronaut: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-micronaut"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_migrate_java: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-migrate-java"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_migrate_kotlin: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-migrate-kotlin"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_migrate_python: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-migrate-python"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_netty: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-netty"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_nodejs: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-nodejs"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_okhttp: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-okhttp"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_openapi: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-openapi"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_prethink: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-prethink"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_quarkus: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-quarkus"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_reactive_streams: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-reactive-streams"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_rewrite: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-rewrite"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_spring: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-spring"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_spring_to_quarkus: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-spring-to-quarkus"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_sql: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-sql"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_static_analysis: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-static-analysis"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_struts: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-struts"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_terraform: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-terraform"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_testing_frameworks: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-testing-frameworks"
version: "LATEST"
) {
id
}
load_org_openrewrite_recipe_rewrite_third_party: loadRecipesAsync(
groupId: "org.openrewrite.recipe"
artifactId: "rewrite-third-party"
version: "LATEST"
) {
id
}
}
Marketplace Sync
As an alternative to installing modules one by one, the Moderne CLI can mirror an entire recipe marketplace into your local CLI.
Option 1: Sync from app.moderne.io
The default tenant is the free public Moderne instance at app.moderne.io, which already publishes every OpenRewrite recipe artifact listed in the table above. Point the CLI at it (or any other Moderne tenant you have access to), log in, and sync:
mod config moderne edit https://app.moderne.io
mod config moderne login
mod config recipes moderne sync
Option 2: Import a self-hosted CSV
If you cannot reach a Moderne tenant — for example in an air-gapped environment — you can supply your own CSV in the same recipes-v5.csv format and import it directly:
mod config recipes import csv path/to/recipes.csv
Recipes with the same name are replaced by the imported version, so this can be re-run to refresh the marketplace. Pair it with the matching JAR/pip/npm/NuGet installs from CLI Installation above so the recipes resolve when run.
Additional sync details
Under the hood, mod config recipes moderne sync picks one of two paths against the configured Moderne tenant:
- Preferred — REST CSV (SaaS v2): the CLI first tries
GET <apiHost>/api/recipes. If the endpoint responds, the body is written to~/.moderne/cli/recipes-v5.csvand sync is done. The CSV has one row per recipe, with columns:ecosystem,packageName,requestedVersion,version,name,displayName,description,recipeCount,category1–category6,category1Description–category6Description,options, anddataTables. The CLI uses this catalog for search, tab completion, and MCP tooling. The same CSV is a good starting point for Option 2: fetch it once from a tenant you have access to, then host or distribute it as the seed formod config recipes import csvin environments that cannot reach Moderne directly. - Fallback — GraphQL + per-artifact install (SaaS v1): if the REST endpoint is unavailable, the CLI issues a GraphQL query for every finished recipe deployment and installs each artifact from Maven, the same way
mod config recipes jar installwould:query {
recipeDeployments(state: FINISHED) {
artifact {
groupId
artifactId
version
requestedVersion
datedSnapshotVersion
}
}
}