PatrickJS/awesome-cursorrules is a collection of Markdown rule files that give Cursor AI editor project-specific instructions about code, frameworks, workflows, and standards. Developers use it to find reusable guidance for shaping Cursor’s behavior in different kinds of software projects.
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.
npx agentmods add rules/patrickjs/awesome-cursorrules/kotlin-springboot-best-practices-cursorrules-prompt-filegit clone --depth 1 https://github.com/PatrickJS/awesome-cursorrulesWrote 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/patrickjs/awesome-cursorrules/kotlin-springboot-best-practices-cursorrules-prompt-file)<a href="https://agentmods.dev/rules/patrickjs/awesome-cursorrules/kotlin-springboot-best-practices-cursorrules-prompt-file"><img src="https://agentmods.dev/badge/rules/patrickjs/awesome-cursorrules/kotlin-springboot-best-practices-cursorrules-prompt-file.svg" alt="Measured on agentmods" 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.01518 | $0.01518 |
| Opus 5 | $0.00759 | $0.00759 |
| Sonnet 5 | $0.00304 | $0.00304 |
| Haiku 4.5 | $0.00152 | $0.00152 |
Grade A, and why
kotlin-springboot-best-practices-cursorrules-prompt-file 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 2d 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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Kotlin Coding Best Practices for Spring Boot Development
Project Structure and Organization
- Group your source code into clearly defined packages like controller, service, repository, and model to separate concerns and improve maintainability.
- Organize your file system so that each directory mirrors the Kotlin package name (e.g. put com.myapp.users under src/main/kotlin/com/myapp/users).
- Name each Kotlin file after the primary class or concept it contains to make the codebase easier to navigate and understand.
- Avoid vague file names like Utils.kt; instead, use concise and meaningful names that reflect the purpose of the file’s contents.
- Place your Spring Boot application entry point in the root package and structure sub-packages by layer or feature to help Spring scan and organize components efficiently.
Coding Style and Conventions
- Use PascalCase for class and object names, camelCase for functions and variables, and UPPER_SNAKE_CASE for constants to follow Kotlin naming conventions and improve readability.
- Declare variables using
valby default, and only usevarwhen mutation is necessary to promote safer, more predictable code.val maxConnections = 10 // immutable reference var currentUsers = 0 // mutable, try to avoid if possible - Limit the scope of variables to where they are actually used—inside functions or smaller blocks—to avoid accidental misuse and make code easier to follow.
- Format your code consistently using 4-space indentation, proper spacing around operators and commas, and short, focused functions to improve clarity and maintainability.
- Write clear and expressive code instead of clever one-liners; break complex logic into intermediate variables or well-named functions to improve readability.
- Name classes, functions, and variables descriptively to convey intent, and avoid vague suffixes like '-Manager' or '-Helper' that don’t add meaning.
- Keep property getters and setters simple and free of heavy logic; if complex behavior is needed, move it into a separate method to keep property access predictable.
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.
- 2d ago First seen · 103 lines · 1,518 tokens per session scan A 4d90ef789668
kotlin-springboot-best-practices-cursorrules-prompt-file is a cursor rule published in the GitHub repository PatrickJS/awesome-cursorrules (40,732 stars, last pushed 3mo ago), licensed CC0-1.0. It adds 1,518 tokens to every session, about $0.0076 per session on Opus 5. 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-09-03.
Other cursor rules, from other repositories
kotlin
Kotlin: coroutines, null safety, idiomatic patterns.
swift
Swift patterns: SwiftUI, actors, async/await, value types.
swiftui
SwiftUI best practices for iOS, macOS, and cross-platform Apple development.
04-kotlin
Cursor rule "04-kotlin" from orbitalsonic/AndroidPilot, covering kotlin rules, prefer, coroutines, null safety and naming.
android-jetpack-compose---general-best-practices
Applies general best practices for Android Jetpack Compose development within the main application code.
cursorrules
// Good: Use anyhow for application errors use anyhow::{Context, Result}.