Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions .cursor/rules/100-java-system-prompt-java-list.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
author: Juan Antonio Breña Moral
version: 0.12.0-SNAPSHOT
---
# Java Profiling Workflow / Step 4 / Compare results after refactoring
# Java Profiling Workflow / Step 4 / Verify results

## Role

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Architecture Decision Records (ADRs)**: Added formal documentation for architectural decisions
- ADR-001: Generate cursor rules from XML files
- ADR-002: Configure cursor rules with manual scope
- **Comprehensive User Guide**: Added `CURSOR-RULES-JAVA.md` as a complete reference guide for all cursor rules
- **Comprehensive User Guide**: Added `SYSTEM-PROMPTS-JAVA.md` as a complete reference guide for all cursor rules
- **Build Infrastructure Improvements**:
- JBang script for markdown validation
- GitHub workflow artifact upload for generated cursor rules
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
## Goal

The project provides a collection of `System prompts` for Java Enterprise development that help software engineers in their daily programming work and data pipelines.
The [available System prompts for Java](./CURSOR-RULES-JAVA.md) cover aspects like `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with Async profiler/OpenJDK tools`, `Documentation` & `Diagrams`.
The [available System prompts for Java](./SYSTEM-PROMPTS-JAVA.md) cover aspects like `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with Async profiler/OpenJDK tools`, `Documentation` & `Diagrams`.

### Compatibility with Modern IDEs, CLI & Others

Expand Down Expand Up @@ -63,7 +63,7 @@ New to this repository? Start with our [comprehensive guide](./documentation/GET

## How many system prompts for Java does this project include?

Explore the [complete catalog of available System prompts](./CURSOR-RULES-JAVA.md) to discover the full range of capabilities and find the perfect rules for your specific use cases.
Explore the [complete catalog of available System prompts](./SYSTEM-PROMPTS-JAVA.md) to discover the full range of capabilities and find the perfect rules for your specific use cases.

## Constraints, Output format & Safety guards

Expand Down
2 changes: 1 addition & 1 deletion CURSOR-RULES-JAVA.md → SYSTEM-PROMPTS-JAVA.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Use the following collection of System prompts of Java to improve your Java deve
| [161-java-profiling-detect](.cursor/rules/161-java-profiling-detect.md) | Profile your development in runtime and collect evidences to be analyzed later. | **Prompt:** `My Java application has performance issues - help me set up comprehensive profiling process using @161-java-profiling-detect and use the location YOUR-DEVELOPMENT/profiler` **Note:** Replace YOUR-DEVELOPMENT with your actual development path. Example: examples/spring-boot-memory-leak-demo/profiler | Non conversational cursor rule. The Cursor rule will generate 2 scripts. One script designed to run your development with the right JVM flags for profiling and the second scripts will ask few questions about what problem do you want to solve/analyze over one particular PID. **Step 1:** execute `./run-with-profiler.sh --help` **Step2:** execute `./run-jmeter.sh --help` **Step 3:** execute `./profiler/scripts/java-profile.sh` |
| [162-java-profiling-analyze](.cursor/rules/162-java-profiling-analyze.md) | Analyze results from previous step and generate reports with the analysis results.| **Prompt:** `Analyze the results located in YOUR-DEVELOPMENT/profiler and use the cursor rule @162-java-profiling-analyze` **Note:** Replace YOUR-DEVELOPMENT with your actual development path. Example: examples/spring-boot-memory-leak-demo/profiler | Non conversational cursor rule. |
| - | Code Refactoring from suggestions from analysis | `Can you apply the solutions from @profiling-solutions-yyyymmdd.md in @/info to mitigate bottlenecks` | Make a refactoring with the notes from the analysis |
| [164-java-profiling-compare](.cursor/rules/164-java-profiling-compare.md) | Compare results comparing results before and after applying changes in the code | **Prompt:** `Review if the problems was solved with last refactoring using the reports located in @/results with the cursor rule @164-java-profiling-compare` **Note:** Put in the context the folder with the results | This cursor rule is applied automatically without any interaction with the Software engineer. |
| [164-java-profiling-verify](.cursor/rules/164-java-profiling-verify.md) | Compare results comparing results before and after applying changes in the code | **Prompt:** `Review if the problems was solved with last refactoring using the reports located in @/results with the cursor rule @164-java-profiling-verify` **Note:** Put in the context the folder with the results | This cursor rule is applied automatically without any interaction with the Software engineer. |

## Documentation rules

Expand Down
Binary file modified site-generator/assets/images/0.11.0-github-stats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions site-generator/content/blog/2025/09/release-0.10.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ status=published
## What are Cursor rules for Java?

The project provides a collection of System prompts for Java that help software engineers in their daily programming work.
The [available System prompts for Java](https://github.com/jabrena/cursor-rules-java/blob/main/CURSOR-RULES-JAVA.md) cover aspects like `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with Async profiler/JDK tools` & `Documentation`.
The [available System prompts for Java](https://github.com/jabrena/cursor-rules-java/blob/main/SYSTEM-PROMPTS-JAVA.md) cover aspects like `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with Async profiler/JDK tools` & `Documentation`.

![](/cursor-rules-java/images/workflow.png)

Expand Down Expand Up @@ -282,7 +282,7 @@ Add Maven Enforcer plugin only from the rule @112-java-maven-plugins without any
Add tests for the following classes with @131-java-unit-testing
```

Additional examples in the [documentation](https://github.com/jabrena/cursor-rules-java/blob/main/CURSOR-RULES-JAVA.md).
Additional examples in the [documentation](https://github.com/jabrena/cursor-rules-java/blob/main/SYSTEM-PROMPTS-JAVA.md).

### Improve readability in system prompts

Expand Down
6 changes: 3 additions & 3 deletions site-generator/content/blog/2025/09/release-0.11.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ status=published

## What are Cursor rules for Java?

The project provides a collection of System prompts for Java Enterprise development that help software engineers in their daily programming work & data pipelines. The [available System prompts for Java](https://github.com/jabrena/cursor-rules-java/blob/main/CURSOR-RULES-JAVA.md) cover areas such as `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with async-profiler/JDK tools`, `Documentation`, and `Diagrams`.
The project provides a collection of System prompts for Java Enterprise development that help software engineers in their daily programming work & data pipelines. The [available System prompts for Java](https://github.com/jabrena/cursor-rules-java/blob/main/SYSTEM-PROMPTS-JAVA.md) cover areas such as `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with async-profiler/JDK tools`, `Documentation`, and `Diagrams`.

## What's new in this release?

Expand Down Expand Up @@ -71,7 +71,7 @@ Improve the classes provided in the context
by applying the system prompt @128-java-generics
```

Further information: https://github.com/jabrena/cursor-rules-java/blob/0.11.0/CURSOR-RULES-JAVA.md
Further information: https://github.com/jabrena/cursor-rules-java/blob/0.11.0/SYSTEM-PROMPTS-JAVA.md

With this evolution, software engineers now can combine pure system prompts and specialized behaviors in `16^3 = 4096` combinations by design.

Expand Down Expand Up @@ -133,7 +133,7 @@ In this release, the script `profile-java-process.sh`, included in `@161-java-p

![](/cursor-rules-java/images/0.11.0-profiling-menu.png)

In recent months, I have been inspired by the work of outstanding engineers in this field: [Francesco Nigro](https://x.com/forked_franz), [Jaromir Hamala](https://x.com/jerrinot), [Johannes Bechberger](https://x.com/parttimen3rd) & [Brendan Gregg](https://x.com/brendangregg). I highly recommend following them.
In recent months, I have been inspired by the work of outstanding engineers in this field: [Francesco Nigro](https://x.com/forked_franz), [Jaromir Hamala](https://x.com/jerrinot), [Johannes Bechberger](https://x.com/parttimen3rd), [Erik Gahlin](https://x.com/ErikGahlin), [Marcus Hirt](https://x.com/hirt) & [Brendan Gregg](https://x.com/brendangregg). I highly recommend following them.

If you are interested in the Profiling model `Detect, Analyze, Refactor & Compare` implemented with the following set of System prompts:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
<metadata>
<author>Juan Antonio Breña Moral</author>
<version>0.12.0-SNAPSHOT</version>
<title>Create a Checklist with all Java steps to use with cursor rules for Java</title>
<title>Create a Checklist with all Java steps to use with system prompts for Java</title>
</metadata>

<role>You are a Senior software engineer with extensive experience in Java software development</role>

<goal> Your task is to create a comprehensive step-by-step guide that follows the exact format
and structure defined in the embedded template below. Create a markdown file named
`CURSOR-RULES-JAVA.md` with the following content:
`SYSTEM-PROMPTS-JAVA.md` with the following content:

```markdown
<xi:include href="fragments/java-cursor-rules-list-template.md" parse="text" />
<xi:include href="fragments/java-system-prompts-java-list-template.md" parse="text" />
```
</goal>

Expand All @@ -37,10 +37,10 @@
<output-format>
<output-format-list>
<output-format-item>**File Creation**: Generate the complete markdown file named
`CURSOR-RULES-JAVA.md` in the project root directory</output-format-item>
`SYSTEM-PROMPTS-JAVA.md` in the project root directory</output-format-item>
<output-format-item>**Template Adherence**: Follow the embedded template structure and
content exactly - no additions, modifications, or omissions</output-format-item>
<output-format-item>**File Handling**: If `CURSOR-RULES-JAVA.md` already exists,
<output-format-item>**File Handling**: If `SYSTEM-PROMPTS-JAVA.md` already exists,
overwrite it completely with the new generated content</output-format-item>
</output-format-list>
</output-format>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<metadata>
<author>Juan Antonio Breña Moral</author>
<version>0.12.0-SNAPSHOT</version>
<title>Java Profiling Workflow / Step 4 / Compare results after refactoring</title>
<title>Java Profiling Workflow / Step 4 / Verify results</title>
</metadata>

<role>You are a Senior software engineer with extensive experience in Java software development</role>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Use the following collection of System prompts of Java to improve your Java deve
| [161-java-profiling-detect](.cursor/rules/161-java-profiling-detect.md) | Profile your development in runtime and collect evidences to be analyzed later. | **Prompt:** `My Java application has performance issues - help me set up comprehensive profiling process using @161-java-profiling-detect and use the location YOUR-DEVELOPMENT/profiler` **Note:** Replace YOUR-DEVELOPMENT with your actual development path. Example: examples/spring-boot-memory-leak-demo/profiler | Non conversational cursor rule. The Cursor rule will generate 2 scripts. One script designed to run your development with the right JVM flags for profiling and the second scripts will ask few questions about what problem do you want to solve/analyze over one particular PID. **Step 1:** execute `./run-with-profiler.sh --help` **Step2:** execute `./run-jmeter.sh --help` **Step 3:** execute `./profiler/scripts/java-profile.sh` |
| [162-java-profiling-analyze](.cursor/rules/162-java-profiling-analyze.md) | Analyze results from previous step and generate reports with the analysis results.| **Prompt:** `Analyze the results located in YOUR-DEVELOPMENT/profiler and use the cursor rule @162-java-profiling-analyze` **Note:** Replace YOUR-DEVELOPMENT with your actual development path. Example: examples/spring-boot-memory-leak-demo/profiler | Non conversational cursor rule. |
| - | Code Refactoring from suggestions from analysis | `Can you apply the solutions from @profiling-solutions-yyyymmdd.md in @/info to mitigate bottlenecks` | Make a refactoring with the notes from the analysis |
| [164-java-profiling-compare](.cursor/rules/164-java-profiling-compare.md) | Compare results comparing results before and after applying changes in the code | **Prompt:** `Review if the problems was solved with last refactoring using the reports located in @/results with the cursor rule @164-java-profiling-compare` **Note:** Put in the context the folder with the results | This cursor rule is applied automatically without any interaction with the Software engineer. |
| [164-java-profiling-verify](.cursor/rules/164-java-profiling-verify.md) | Compare results comparing results before and after applying changes in the code | **Prompt:** `Review if the problems was solved with last refactoring using the reports located in @/results with the cursor rule @164-java-profiling-verify` **Note:** Put in the context the folder with the results | This cursor rule is applied automatically without any interaction with the Software engineer. |

## Documentation rules

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ private SystemPromptsInventory() {

public static final Stream<String> baseNames() {
return Stream.of(
"100-java-cursor-rules-list",
"100-java-system-prompt-java-list",
"110-java-maven-best-practices",
"111-java-maven-dependencies",
"112-java-maven-plugins",
Expand All @@ -29,7 +29,7 @@ public static final Stream<String> baseNames() {
"151-java-performance-jmeter",
"161-java-profiling-detect",
"162-java-profiling-analyze",
"164-java-profiling-compare",
"164-java-profiling-verify",
"170-java-documentation",
"171-java-diagrams",
"behaviour-consultative-interaction",
Expand Down
Loading