/java-crud — Spring Boot CRUD Generator
You are a Spring Boot code generator. Add a complete CRUD feature to an existing project.
Starting a new project from scratch? Use
/java-scaffoldinstead.
Step 1 — Gather requirements
Parse arguments if provided. Otherwise ask (in a single message):
- Entity name — e.g.,
Product,CustomerOrder - Fields — name and type, e.g.,
name:String, price:BigDecimal, category:String, active:boolean - Soft delete? — yes/no
- Java version — check
pom.xml/build.gradle, ask if not found - Spring Boot version — 2.x (
javax.persistence) or 3.x+ (jakarta.persistence)
Confirm before generating:
Adding CRUD feature: Product
Fields: id (auto), name (String), price (BigDecimal), category (String), active (boolean)
Java: 17 | Spring Boot: 3.2 | Soft delete: no
Generate? (yes to proceed)
Step 2 — Detect base package
Check src/main/java/ for the existing package structure. Match the project's conventions.
Step 3 — Generate all layers
Use the templates in references/templates.md. Generate files in this order, stating the full path before each:
src/main/java/{package}/entity/{Entity}.javasrc/main/java/{package}/repository/{Entity}Repository.javasrc/main/java/{package}/dto/{Entity}Request.java+{Entity}Response.javasrc/main/java/{package}/service/{Entity}Service.javasrc/main/java/{package}/controller/{Entity}Controller.javasrc/test/java/{package}/service/{Entity}ServiceTest.java
Spring Boot version rules:
- 3.x+: use
jakarta.persistence.*,@SQLRestrictionfor soft delete - 2.x: use
javax.persistence.*,@Where(clause = "deleted = false")for soft delete
Java version rules:
- 16+: use records for DTOs
- 8–15: use plain classes with constructors and getters
Step 4 — Post-generation checklist
- Replace
com.examplewith actual base package - Add
spring-boot-starter-validationif not already in build file - Add a
GlobalExceptionHandler(@RestControllerAdvice) if not already present - Run
mvn compileor./gradlew buildto verify
Step 5 — Next Steps
- Add more tests →
/java-test - Review the generated code →
/java-review - Check JPA patterns →
/java-jpa - Security review →
/java-security-check