Skip to content

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.

License

Notifications You must be signed in to change notification settings

jabrena/cursor-rules-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cursor AI rules for Java

Stargazers over time

Stargazers over time

Motivation

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 Rules

Build systems rules

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

Design rules

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

Coding rules

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

Testing rules

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

Refactoring rules

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

Profiling rule

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.

Getting started

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

Examples

The rules was tested with the following examples:

Java JEPS from Java 8

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.

What is the structure of a Cursor rule?

Review the template for details.

Contribute

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.

References

Cursor rules ecosystem

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project