Modern Java IDEs, such as Cursor AI, provide ways to customize how the Agent model
behaves using reusable and scoped instructions. This repository offers a collection of such Cursor rules specifically for Java development.
This collection of Cursor Rules for Java development, tries to enrich the developer experience when the Software engineer interact with LLMs daily.
Cursor Rule | Description | Prompt | Notes |
---|---|---|---|
110-java-maven-best-practices | Maven Best Practices | Help me to review the pom.xml following the best practices for dependency management and directory structure use the cursor rule @110-java-maven-best-practices |
Add in the context the pom.xml which you want to generate the documentation |
111-java-maven-deps-and-plugins | Maven Dependencies & Plugins | Can you improve the pom.xml using the cursor rule @111-java-maven-deps-and-plugins |
Add in the context the pom.xml which you want to generate the documentation. Conversational approach |
112-java-maven-documentation | Maven Documentation | Generate developer documentation with essential Maven commands using @112-java-maven-documentation |
Add in the context the pom.xml which you want to generate the documentation |
Cursor Rule | Description | Prompt | Notes |
---|---|---|---|
121-java-object-oriented-design | Object Oriented Design | Review my code for object-oriented design using the cursor rule @121-java-object-oriented-design |
Add in the context a package to improve the design |
122-java-type-design | Type Design | Help me improve my type design using the cursor rule @122-java-type-design |
Add in the context a package to improve the design |
Cursor Rule | Description | Prompt | Notes |
---|---|---|---|
123-java-general-guidelines | General Java Guidelines | Review my code for general Java best practices using the cursor rule @123-java-general-guidelines |
|
124-java-secure-coding | Secure Java Coding | Check my code for security issues using the cursor rule @124-java-secure-coding |
|
125-java-concurrency | Concurrency | Review my code for concurrency best practices using the cursor rule @125-java-concurrency |
|
126-java-logging | Logging Guidelines | Help me improve logging using the cursor rule @126-java-logging |
Cursor Rule | Description | Prompt | Notes |
---|---|---|---|
131-java-unit-testing | Unit Testing | Can improve the unit tests using the cursor rule @131-java-unit-testing |
Add in the context a Test Class or the package |
Cursor Rule | Description | Prompt | Notes |
---|---|---|---|
141-java-refactoring-with-modern-features | Add Modern Java Features | Refactor my code to use modern Java features using the cursor rule @141-java-refactoring-with-modern-features |
|
142-java-functional-programming | Functional Programming | Refactor my code to use functional programming using the cursor rule @142-java-functional-programming |
|
143-java-data-oriented-programming | Data Oriented Programming | Refactor my code to use data oriented programming using the cursor rule @143-java-data-oriented-programming |
Activity | Description | Prompt | Notes |
---|---|---|---|
151-java-profiling | Performance Profiling with async-profiler | Help me profile my Java application using async-profiler. I want to detect running Java processes, download the profiler for my OS, and generate flamegraphs and put the profiler folder in YOUR-DEVELOPMENT/profiler with the cursor rule @151-java-profiling.mdc |
Replace YOUR-DEVELOPMENT with your actual development path |
What reports to ask to detect Memory leaks | Given the different options from the script, what option do you recommend how to detect a potential memory leak? |
Add in the context the options from java-profile.sh |
|
Analyze profiling results | Given the following reports, can you identify potential issues in the profiling reports in html located in @/results to fix the development located in @/src but not refactor any class. |
If you are interested in getting the benefits from these cursor rules, you can manually download this repository and copy the './cursor' folder and paste it into your repository, or delegate this task to a specific command-line tool based on Jbang:
sdk install jbang
# Add cursor rules for Java in ./cursor/rules
jbang --fresh setup@jabrena init --cursor https://github.com/jabrena/cursor-rules-java
Once you have installed the cursor rules:
Phase | Role | Cursor Rule | Description |
---|---|---|---|
Getting Started | All | Create Java Development Guide | Cursor rule designed to help the user when using the whole set of cursor rules for Java in an easy way |
Type the following prompt in the cursor chat:
Create an java development guide using the cursor rule @100-java-checklist-guide
The rules was tested with the following examples:
- General: Maven Java project
- Microservices: Spring Boot application
- Microservices: Spring Boot application with Memory leaks
- Serverless: AWS Lambda
- Serverless: Azure Function
Java use JEPS as the vehicle to describe the new features to be added in the language. The repository review in a continuous way what JEPS could be improved any of the cursor rules present in this repository.
Review the template for details.
If you have new ideas to improve any of the current Cursor rules or add a new one, please fork the repo and send a PR.
- https://www.cursor.com/
- https://docs.cursor.com/context/rules
- https://docs.cursor.com/context/@-symbols/@-cursor-rules
- https://openjdk.org/jeps/0
- https://github.com/jabrena/101-cursor
- https://github.com/jabrena/cursor-rules-methodology
- https://github.com/jabrena/cursor-rules-agile
- https://github.com/jabrena/cursor-rules-java
- https://github.com/jabrena/cursor-rules-spring-boot
- https://github.com/jabrena/cursor-rules-examples
- https://github.com/jabrena/cursor-rules-sandbox
- https://github.com/jabrena/plantuml-to-png-cli
- https://github.com/jabrena/setup-cli
- https://github.com/jabrena/jbang-catalog