| name | migrate-simple-without-mtool |
| description | Migrates a Spring Boot application to Quarkus. Analyze the code source. Use when the user wants to migrate, convert, or port a Spring Boot app to Quarkus, mentions "spring to quarkus", "quarkus migration", "replace spring", or asks about migrating "pom.xml", "build.gradle", "Spring MVC", "Spring Data JPA", "@SpringBootApplication". |
Spring Boot to Quarkus — Code Migration (without mtool)
Simulate to migrate Spring Boot Java source code to Quarkus.
Critical Rules
- Non-interactive. Do NOT ask the user any questions. Do NOT ask for strategy choices. Just run the steps below and report the results.
- Scope: code migration only. Do NOT migrate tests, frontend templates, static assets, or build plugins. Only migrate Java source files under
src/main/java/ and the build file (pom.xml or build.gradle). Leave everything else untouched.
- Never delete code you cannot migrate. Leave the original in place with a
// TODO: Migration required — <reason> comment.
- Don't compile the code using maven or gradle.
Step 1: Analyze the Project
1. Discover only the Java source files
Find all Java source files in the "src/main/java" project:
find src -name "src/main/java/*.java" -type f
For each Java file, note:
- The class name and package
- Which Spring annotations it uses (
@Component, @Service, @RestController, @Autowired, @Entity, @SpringBootApplication, etc.)
- Which Spring imports it has (
org.springframework.*)
2. Identify what to migrate
For each unique annotation discovered:
- Look it up in
references/annotation-map.md — find the matching row in the Spring column
- Check the Compat column to find the Quarkus Spring compatibility annotation replacing it
- Note the file path(s) from the report — these are the files where the change must be applied
Annotations that appear in annotation-map.md with "Same" or "Not needed" in the Quarkus column require no code change. Focus on annotations where the Quarkus equivalent differs (e.g. @Autowired → @Inject, @Controller → @Path, @Service → @ApplicationScoped).
Also check:
- Whether there is a
@SpringBootApplication main class to remove
- Whether any annotation is marked NOT supported in the compat column — these require manual migration
Step 2: Report
- Present a brief summary of what was found and what needs to change.
Step 3. Stop
Stop the migration process as we are simulating and wanted to get the token usage