Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/lsampaioweb/ai-instructionsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/lsampaioweb/ai-instructions/spring-boot-java-style)<a href="https://agentmods.dev/rules/lsampaioweb/ai-instructions/spring-boot-java-style"><img src="https://agentmods.dev/badge/rules/lsampaioweb/ai-instructions/spring-boot-java-style/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/lsampaioweb/ai-instructions/spring-boot-java-style"><img src="https://agentmods.dev/badge/rules/lsampaioweb/ai-instructions/spring-boot-java-style.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01632 |
| Opus 5.5 | $0.00000 | $0.00653 |
| Sonnet 5.5 | $0.00000 | $0.00326 |
| Haiku 4.5 | $0.00000 | $0.00163 |
Grade A, and why
spring-boot-java-style scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 14d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Java Style Contract
Formatting
- Use exactly two spaces per indentation level in every Java file. Never use tabs, and never use non-two-space indentation, regardless of what an IDE or generator produced by default.
Imports
- Order imports in four groups, separated by exactly one blank line between groups,
omitting any group that has no members:
- Static imports.
java.*/jakarta.*standard/platform imports.- Third-party imports (Spring, other framework, and library packages).
- Project-local imports.
- Import each type explicitly; wildcard imports are forbidden.
- Remove unused imports before finishing a file.
Visibility and dependency injection
- Declare every field and helper method with the most restrictive visibility that
satisfies its usage scope; default to
private, expanding only when external access is required. - Use constructor injection for every dependency; never use field injection or setter injection.
- Do not add
Objects.requireNonNull(...)guards in constructors of classes that are instantiated exclusively by the framework's dependency injection container (services, repositories, controllers) - the container guarantees a non-null dependency graph and the check only adds boilerplate. - Use
Objects.requireNonNull(...)in constructors of classes that can be instantiated directly by arbitrary calling code outside of the DI container (for example configuration/properties holders built from parsed values, or public utility classes), where a null argument would otherwise fail confusingly downstream. - Do not expose implementation details through public fields or helper methods unless they are part of a real API contract (e.g., a documented constant shared across classes).
Annotation order
- Order class-level annotations as:
- Logging annotation (e.g.,
@Slf4j). - Framework stereotype annotation (e.g.,
@Service,@Repository,@Controller,@RestController,@Component,@ConfigurationProperties). - Lombok generation annotations other than the logging annotation (e.g.,
@RequiredArgsConstructor). - Behavioral/validation annotations (e.g.,
@Validated).
- Logging annotation (e.g.,
- Annotate every method that implements or overrides an interface/superclass method with
@Override. - Keep annotations directly attached to the declaration they annotate; never separate an annotation from its target with a blank line or comment.
- Do not use
@Data,@Builder,@AllArgsConstructor, or@NoArgsConstructoron business classes (services, repositories, controllers). Lombok ownership of allowed annotations and record preference is in the Lombok contract.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 14d ago Changed · +105 lines f1c0ca108238
- 27d ago Changed · +14 lines eeecfe6f5ad5
- 1mo ago First seen · 29 lines · 0 tokens per session scan A b18cca2545f0
spring-boot-java-style is a cursor rule published in the GitHub repository lsampaioweb/ai-instructions (1 stars, last pushed 14d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,632 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
java-import-fqn
A Java code rule that requires using imports and short class names when class names do not conflict. Fully qualified names remain allowed for documented exceptions such as naming conflicts and certain strings.
gradle
Enforce modern Gradle build practices for Java and Android projects, focusing on Kotlin DSL, modularity, version catalogs, and performance optimizations.
mockito
This guide provides definitive best practices for writing robust, maintainable, and readable unit tests using Mockito with JUnit 5, focusing on modern patterns and common pitfalls.
springboot-jpa-best-practices
A set of Chinese-language rules for structuring Java Spring Boot applications that use JPA, a library for database access.
graftcode-java
Mandatory Graftcode architecture rules for building Java backend services (plain Maven/Gradle modules exposed via Graftcode Gateway, not REST).
component-parameter-key-no-dot
A naming rule for Java code parameters marked with @ComponentParameter. Their keys must be flat names using letters, numbers, and underscores; dots are not allowed.