AI Skill StudioAI Skill Studio
Skills
Presets:

Target Standard & File Format

AI Agent Rules & Skills
Context Shields & Privacy (Ignore Files)
Integrations & Machine Documentation
AI Governance & Multi-Agent Planning Suite

Cursor Rule Scope

.cursor/rules/*.mdc

Scopes rule to matching files. Use **/* for global workspace scope.

When ON, Cursor injects this rule in every generation context.

Identity & Activation Rules

3 chips
Scoped domain keywords evaluated in real time
api-routescode-auditsrefactoring
Suggested Chips:

Technology Stack Context

Engineering Philosophy

Flexible & Adaptable

Architectural & Code Quality Conventions

Less rigid & configurable

Agent Behavioral Guardrails

Select active rules
Security & Trust Boundaries
Always included
  • Untrusted Content Is Data
  • Encoded Payloads
  • Least-Privilege File Access
  • Confirm Irreversible Actions
  • Secret Handling
  • Validation Failures
  • Conflicting Requests

Step-by-Step Workflow Procedures

Spring Boot 3 & Java 21 Cursor Rules (.mdc) | Modern Enterprise Java

Generate Spring Boot 3 and Java 21 Cursor rules enforcing record DTOs, virtual threads (Project Loom), Jakarta EE 10 namespaces, and Spring Data JPA standards. Spring Boot 3 requires Java 17+ (ideally Java 21) and migrates all packages from javax.* to jakarta.*. AI models trained on legacy Java code constantly hallucinate deprecated javax.persistence imports, bulky Lombok boilerplate instead of Java Records, and legacy WebSecurityConfigurerAdapter classes.

Target Path
.cursor/rules/spring-boot-3.mdc
Execution Scope
Glob pattern match
Specification Format
Frontmatter MDC (.mdc)
AI Tool Support
Cursor
02 / WHY IT HELPS

What this file changes for Spring Boot 3 & Java 21

Without it

Spring Boot 3 requires Java 17+ (ideally Java 21) and migrates all packages from javax.* to jakarta.*. AI models trained on legacy Java code constantly hallucinate deprecated javax.persistence imports, bulky Lombok boilerplate instead of Java Records, and legacy WebSecurityConfigurerAdapter classes.

What the file tells the agent
Use jakarta.* packages for persistence, validation, and servlets; ban legacy javax.* imports.
Represent immutable request/response DTOs using native Java Records with Jakarta validation annotations.
Enable Java 21 Virtual Threads (spring.threads.virtual.enabled=true) for high-throughput non-blocking I/O.
Configure Spring Security using the modern SecurityFilterChain bean approach; never extend deprecated WebSecurityConfigurerAdapter.
Avoid N+1 queries in Spring Data JPA: use @EntityGraph or JOIN FETCH JPQL queries for relational fetches.
03 / CODE PATTERNS

Spring Boot 3 & Java 21: code to avoid and code to write instead

Avoid
// Discouraged: Legacy javax namespace, verbose POJO with setters, mutable entity exposure
import javax.persistence.*; // Obsolete in Spring Boot 3!

public class BadOrderDTO {
    private String customerId;
    public void setCustomerId(String id) { this.customerId = id; }
}
Write instead
package com.example.demo.order;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;

public record CreateOrderRequest(
    @NotBlank String customerId,
    @Positive BigDecimal amount
) {}

public record OrderResponse(Long id, String customerId, BigDecimal amount) {}

@RestController
@RequestMapping("/api/v1/orders")
public class OrderController {
    private final OrderService orderService;

    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }

    @PostMapping
    public ResponseEntity<OrderResponse> create(@RequestBody CreateOrderRequest request) {
        OrderResponse response = orderService.processOrder(request);
        return ResponseEntity.ok(response);
    }
}
04 / REPOSITORY PLACEMENT & 3-STEP TERMINAL INSTALLATION

How to Install Spring Boot 3 & Java 21 Cursor Rules (.mdc) via Terminal

1

Step 1: Open Project Directory & Verify Target Placement

Open your terminal and navigate to your project root folder where the .cursor/rules/spring-boot-3.mdc file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:

.cursor/rules/spring-boot-3.mdc
2

Step 2: Fetch Rule File via Terminal Command

Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to .cursor/rules/spring-boot-3.mdc:

Terminal One-Liner Install

Run directly in your project root to stream and write this rule file with one command.

Raw API Stream
$mkdir -p ".cursor/rules" && curl -fsSL "https://www.devscratchpad.tech/api/raw/cursor-rules/spring-boot-3" -o ".cursor/rules/spring-boot-3.mdc"
3

Step 3: Check that Cursor uses it

Cursor picks up rules in .cursor/rules/ automatically. This one attaches when files matching its globs are in the request, or when you @-mention it.

05 / ROUTE DIRECTORY & CROSS-TOOLING
Format Pillar Hub

Cursor rules generator: .cursor/rules/*.mdc for your stack

Cursor Rules (.mdc): how it works, where the file goes, and every Cursor Rules preset.

/cursor-rules Directory
06 / RELATED DEVELOPER TOOLS

Tools for Spring Boot 3 & Java 21 work

Browser-based utilities to test, format and inspect the code your AI tool writes. Nothing you paste is uploaded.

View all 28 tools

Live Repository & Schema Ingestion

Inspect any public or private GitHub repository, or paste SQL DDL and Prisma models directly in AI Skill Studio to auto-generate authentic rules. Zero server transmission.

Launch AI Skill Studio

Migrating from Legacy .cursorrules or CLAUDE.md?

Use the free, in-browser converter to turn one long rules file into Cursor .mdc, Claude SKILL.md or Windsurf rules.

Convert Rules Free
07 / FREQUENTLY ASKED QUESTIONS

Technical FAQ: Spring Boot 3 & Java 21 AI Rulebooks

Does this rulebook support Java 21 virtual threads?

Yes, it guides configuration and usage of lightweight virtual threads (Project Loom) for high-concurrency Spring Boot 3 services.

Why does it ban javax.* packages?

Spring Boot 3 requires Jakarta EE 10 APIs; javax.persistence and javax.servlet cause immediate compilation failures.