Skip to content
Merged
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
24 changes: 24 additions & 0 deletions .github/workflows/maven.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,27 @@ jobs:
java-version: '25'
- name: Build ${{ matrix.example.name }}
run: cd ${{ matrix.example.path }} && ./mvnw --batch-mode --no-transfer-progress ${{ matrix.example.goal }} --file pom.xml

package-agent-artifacts:
name: Package Agents and Skills
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: true
- name: Create agents archive
run: cd .cursor && zip -r ../agents.zip agents
- name: Create skills archive
run: zip -r skills.zip skills
- name: Upload agents.zip
uses: actions/upload-artifact@v4
with:
name: agents.zip
path: agents.zip
if-no-files-found: error
- name: Upload skills.zip
uses: actions/upload-artifact@v4
with:
name: skills.zip
path: skills.zip
if-no-files-found: error
34 changes: 17 additions & 17 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add INVEST validation to agile user-story workflow in `@014-agile-user-story` (#633)
- Maven Central search guidance skill (`@114-java-maven-search`) (#605)
- OpenSpec adoption for project change management in `@042-planning-openspec` (#620, #621, #616)
- GitHub issue management workflow support`@043-planning-github` (#607)
- GitHub issue management workflow support (`@043-planning-github-issues`) (#607)
- Jira planning support and guidance improvements in `@044-planning-jira` (#631, #641, #642)
- OpenAPI guidance skill `@701-technologies-openapi` (#635)
- WireMock guidance skill `@702-technologies-wiremock` (#636)
- Fuzz testing skill `@703-technologies-fuzzing-testing` and CATS example coverage (#634, #646)
- Cursor and Claude plugin support documentation/workflow (#622)

- **Rules:**
- Created an ADR to drop support for Rules in favor of Skills.
- Added an ADR documenting the decision to drop Rules in favor of Skills.

- **Examples:**
- Reduce CI Pipeline times, removing non essential examples
- Reduced CI pipeline duration by removing non-essential examples

## [0.13.0] 2026-03-30

Expand Down Expand Up @@ -71,12 +71,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- **Skills & Agent system**:
- SKILL generator for Cursor agent skills (#421).
- Skills support evolution (v1–v4) with skilljars and validation pipeline (#416, #418, #420, #423, #424).
- Skills support evolution (v1–v4) with Skill JARs and a validation pipeline (#416, #418, #420, #423, #424).
- Improved skill generation and minimum requirements (#417, #427, #451).

- **New Cursor Rules**:
- `@132-java-testing-integration-testing` with WireMock support (#443).
- Arch Unit support in `@111-java-maven-dependencies` (#445).
- ArchUnit support in `@111-java-maven-dependencies` (#445).

- **Maven rules & docs**:
- Centralized version management and best practices for multi-module POM in `@110-java-maven-best-practices` (#441).
Expand All @@ -98,11 +98,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- **Behaviours**:
- Added Tone variations to consultative and progressive learning behaviours (#330).
- Added Tone to Interactive prompts
- Added tone variations to consultative and progressive learning behaviours (#330).
- Added tone support for interactive prompts.

- **Website**:
- Added Website to communicate about System prompts for Java. https://jabrena.github.io/cursor-rules-java/
- Added a website covering system prompts for Java: https://jabrena.github.io/cursor-rules-java/

- **Educational content**:
- New "System Prompts for Java" course (#335). https://jabrena.github.io/cursor-rules-java/courses/system-prompts-java/index.html
Expand All @@ -121,8 +121,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Cursor rules**:
- Extensive refinements across multiple rules (dependencies, plugins, secure coding, concurrency, exception handling, functional programming, documentation, diagrams) (#309, #341).
- Decoupled system prompts from behaviours and added learning behaviour; reorganized generator templates and inventory (#309).
- All examples use single imports without using wildcard *
- Updated profiling Script to add support for Async-profiler 4.1 https://github.com/async-profiler/async-profiler/releases/tag/v4.1
- All examples use single-type imports (no wildcard `import ...*`)
- Updated profiling script to add support for Async-profiler 4.1: https://github.com/async-profiler/async-profiler/releases/tag/v4.1
- Improved JFR support

### Removed
Expand All @@ -143,7 +143,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- JMH (Java Microbenchmark Harness) support for Maven projects without modules
- Enhanced Maven plugins cursor rule with comprehensive JMH integration

- Tested the project for Cursor, Cursor CLI, Claude Code, GitHub Copilot & JetBrains Junie. Further information at https://github.com/jabrena/cursor-rules-java/blob/main/docs/reviews/review-20250829.md
- Tested the project for Cursor, Cursor CLI, Claude Code, GitHub Copilot, and JetBrains Junie. Further information: https://github.com/jabrena/cursor-rules-java/blob/main/docs/reviews/review-20250829.md

### Changed

Expand Down Expand Up @@ -289,7 +289,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `@304-java-rest-api-design` (moved to separate Spring Boot rules project)
- `@500-sql` (moved to Spring Boot rules)

## [0.6.0] 30/5/2025
## [0.6.0] 2025-05-30

### Added

Expand All @@ -301,7 +301,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Moved the Cursor rule about acceptance criteria as part of the repository about [Agile](https://github.com/jabrena/cursor-rules-agile)
- Increased consistency in all cursor rules, now all examples use asserts from AssertJ

## [0.5.0] 20/05/2025
## [0.5.0] 2025-05-20

### Added

Expand All @@ -313,7 +313,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Updated all cursor rules

## [0.4.0] 27/04/2025
## [0.4.0] 2025-04-27

### Added

Expand All @@ -323,7 +323,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Updated all cursor rules

## [0.3.0] 06/04/2025
## [0.3.0] 2025-04-06

### Added

Expand All @@ -334,7 +334,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated cursor rules (Java, Effective Java, Concurrency, Functional programming, Data-Oriented programming, Pragmatic Unit Testing, Spring Boot & Quarkus)


## [0.2.0] 01/03/2025
## [0.2.0] 2025-03-01

### Added

Expand All @@ -344,7 +344,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Updated cursor rules (Java, Effective Java, Concurrency, Functional programming, Data-Oriented programming & Spring Boot)

## [0.1.0] 09/02/2025
## [0.1.0] 2025-02-09

### Added

Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@

## Goal

A curated collection of `Skills` and `Agents` for Java Enterprise development, designed to streamline modern `SDLC` workflows.
A curated collection of `Skills` and `Agents` to be used in modern `SDLC` workflows for Java Enterprise development.

| QUESTION | ROLE | AREA | SUPPORT |
| ---------- | ------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| WHAT / WHEN | PO, BA, EA, SA, TL | Agile & Planning | `User Stories`, `Github Issues` & `Jira`|
| WHAT / WHEN | PO, BA, EA, SA, TL | Agile & Planning | `User Stories`, `GitHub Issues` & `Jira` |
| WHY | EA, SL, TL | Architecture | `ADRs` & `UML` / `C4` / `ER` Diagrams |
| HOW | SA, TL, SWE | Spec-Driven | `AI Plan mode` & `OpenSpec` |
| HOW | TL, SWE | Java development | `Build system based on Maven`, `Design`, `Coding`, `Testing`, `Observability`, `Refactoring & JMH Benchmarking`, `Performance testing with JMeter`, `Profiling with Async profiler/OpenJDK tools`, `Documentation`, `Spring Boot`, `Quarkus`, `Micronaut`, `OpenAPI`, `Wiremock` & `AGENTS.md` |
Expand All @@ -22,30 +22,30 @@ A curated collection of `Skills` and `Agents` for Java Enterprise development, d
The project generates a set of deliverables at the end of any iteration.


| Deliverable | Instalation | Getting Started |
| Deliverable | Installation | Getting Started |
| --------------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| 1. [Skills for Java](./documentation/INVENTORY-SKILLS-JAVA.md) | `npx skills add jabrena/cursor-rules-java --all --agent cursor` | [`Skills for Java`](./documentation/GETTING-STARTED-SKILLS.md) |
| 2. [Agents for Java](./documentation/INVENTORY-AGENTS-JAVA.md) | `@003-agents-installation` Install Agents in Cursor | [`Agents for Java`](./documentation/GETTING-STARTED-AGENTS.md) |

**Note:** Once you install all skills, you could install the agents easily for Cursor or Claude.
**Note:** After you install the skills, you can install the agents easily for Cursor or Claude.

### Compatibility

This project is compatible with any Tool compatible with `Skills`, `Agents`, `AGENTS.md` & `MCP` Servers.
This project is compatible with any tool that supports `Skills`, `Agents`, `AGENTS.md`, and `MCP` servers.

## How to use them?
## How to use them

The SDLC has evolved with the arrival of this new set of AI tooling, enhancing the Software Engineering process. In the development of this project, it was identified 3 different workflows: `Prompting Enginering Workflow`, `Pipelines Workflow` & `Agentic Workflow`.
The SDLC has evolved with this new wave of AI tooling, which enhances the software engineering process. While building this project, we identified three workflows: `Prompting Engineering Workflow`, `Pipelines Workflow`, and `Agentic Workflow`.

### Prompting Enginering Workflow
### Prompting Engineering Workflow

In this workflow, the Software engineer interact with models using `User prompts` and in an incremental way you delegate a delegate completely a task or ask help in certain moments. You could use this project to refactor the code generated or delegate the task and associate a System prompt / Skills to that task.
In this workflow, the software engineer interacts with models using `User prompts`. In an incremental way, you delegate a whole task or ask for help at specific points. You can use this project to refactor generated code, or delegate the task and attach a system prompt or Skills to it.

![](./documentation/images/workflow-prompts.png)

### Agent Workflow
### Agentic Workflow

`Agents for Java Enterprise development` were designed to help the Software engineer in the implementation phase. The software engineer define good `Specs` and that Specifications are delegated to Agents.
`Agents for Java Enterprise development` were designed to help the software engineer in the implementation phase. The engineer defines solid `Specs`, and those specifications are delegated to Agents.

![](./documentation/images/workflow-agents.png)

Expand All @@ -55,29 +55,29 @@ Adding AI tools to your pipeline can provide new opportunities to deliver more v

![](./documentation/images/workflow-pipelines.png)

Futher information [here`](./documentation/GETTING-STARTED-PIPELINES.md)
Further information [here](./documentation/GETTING-STARTED-PIPELINES.md).

## Limitations

### Lack of determinism

From the outset, be aware that the results provided by interactions with the different `Cursor rules` are not deterministic due to the nature of the models, but this can be mitigated with clear goals and validation checkpoints.
From the outset, be aware that results from interactions with these `Skills` and agents are not deterministic because of how the models behave, but you can mitigate that with clear goals and validation checkpoints.

### Not all models behave in the same way

In the project exist some Interactive skills which require to use `Premium` models to run in an interactive way in other case, they will work like in sequence of steps.
Some interactive skills require `Premium` models for interactive use; otherwise they follow a fixed sequence of steps.

### Limits of interactions with models

Models are able to generate code, but they cannot run code with your local data. To address this limitation, some prompts provide scripts to bridge this gap on the model side.
Models can generate code, but they cannot execute it against your local data. To bridge that gap, some Skills include scripts you run locally.

## Contribute

See [CONTRIBUTING.md](./CONTRIBUTING.md) for conventions, generator workflows, tests, and how to open a pull request.

## Examples

The repository includes [a collection of examples](./examples/) where you can explore the possibilities of these system prompts designed for Java.
The repository includes [a collection of examples](./examples/) where you can explore what these Skills and workflows enable for Java.

## Architectural decision records, ADR

Expand All @@ -87,11 +87,11 @@ The repository includes [a collection of examples](./examples/) where you can ex

- Review the [CHANGELOG](./CHANGELOG.md) for further details

## Java JEPS from Java 8
## Java JEPs from Java 8 onward

Java uses JEPs as the vehicle to describe new features to be added to the language. The repository continuously reviews which JEPs could improve any of the cursor rules present in this repository.
Java uses JEPs (JDK Enhancement Proposals) to describe new language and platform features. This repository tracks which JEPs could improve the Skills and guidance here.

- [JEPS List](./documentation/jeps/All-JEPS.md)
- [JEPs list](./documentation/jeps/All-JEPS.md)

## Meetups, Conferences, Workshops & Articles

Expand Down
45 changes: 38 additions & 7 deletions docs/2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Rules, Skills & Agents for Java</title>
<title>Skills & Agents for Java</title>
<meta name="author" content="" />
<meta name="description" content="">
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Rules, Skills & Agents for Java"/>
<link rel="alternate" type="application/atom+xml" href="../feed.xml" title="Skills & Agents for Java"/>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="../css/bootstrap.min.css">
Expand All @@ -35,7 +35,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">Rules, Skills & Agents for Java</a>
<a class="navbar-brand" href="../index.html">Skills & Agents for Java</a>
</div>

<div class="collapse navbar-collapse" id="main-navbar">
Expand Down Expand Up @@ -77,9 +77,9 @@
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Rules, Skills & Agents for Java</h1>
<h1>Skills & Agents for Java</h1>
<hr class="small">
<span class="page-subheading">A curated collection of Rules, Skills, and Agents for Java Enterprise development, designed to streamline modern SDLC workflows.</span>
<span class="page-subheading">A curated collection of Skills and Agents for Java Enterprise development, designed to streamline modern SDLC workflows.</span>
</div>
</div>
</div>
Expand All @@ -92,9 +92,9 @@ <h1>Rules, Skills & Agents for Java</h1>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Rules, Skills & Agents for Java</h1>
<h1>Skills & Agents for Java</h1>
<hr class="small">
<span class="page-subheading">A curated collection of Rules, Skills, and Agents for Java Enterprise development, designed to streamline modern SDLC workflows.</span>
<span class="page-subheading">A curated collection of Skills and Agents for Java Enterprise development, designed to streamline modern SDLC workflows.</span>
</div>
</div>
</div>
Expand All @@ -114,6 +114,37 @@ <h1>Rules, Skills & Agents for Java</h1>
<div class="posts-section">
<h2 class="section-title"><i class="fa fa-rss"></i> Latest Posts</h2>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2025/09/jfr-modern-java-profiling.html">Beyond Traditional Profiling: Mastering JFR for Modern Java Applications</a></h3>

<p class="post-meta">
<i class="fa fa-calendar-o"></i>
2025-09-17
&nbsp;
<i class="fa fa-pencil"></i>
MyRobot
<span class="blog-tags">
&nbsp;
<i class="fa fa-tags"></i>
<a href="../tags/blog.html">blog</a>
<a href="../tags/profiling.html">profiling</a>
<a href="../tags/jfr.html">jfr</a>
<a href="../tags/java.html">java</a>
<a href="../tags/performance.html">performance</a>
<a href="../tags/java-25.html">java-25</a>
</span>
</p>

<div class="post-entry-container">
<div class="post-entry">
Discovering JFR: A Journey into Modern Java Profiling Excellence
Symptom: memory usage drifts under real production load. Constraint: profiling cannot degrade latency or throughput. Solution: Java Flight Recorder (JFR) — the built‑in, low‑overhead recorder that captures CPU, memory, GC, I/O, and custom events from live systems with typically under 2% impact.
With JFR, production evidence replaces g...
<p></p>
<a href="../blog/2025/09/jfr-modern-java-profiling.html" class="post-read-more">[Read More]</a>
</div>
</div>
</article>
<article class="post-preview">
<h3 class="post-title"><a href="../blog/2025/09/release-0.10.0.html">What&apos;s new in Cursor rules for Java 0.10.0?</a></h3>

<p class="post-meta">
Expand Down
6 changes: 3 additions & 3 deletions docs/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>About - Rules, Skills & Agents for Java</title>
<title>About - Skills & Agents for Java</title>
<meta name="author" content="" />
<meta name="description" content="">
<link rel="alternate" type="application/atom+xml" href="feed.xml" title="Rules, Skills & Agents for Java"/>
<link rel="alternate" type="application/atom+xml" href="feed.xml" title="Skills & Agents for Java"/>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="css/bootstrap.min.css">
Expand All @@ -34,7 +34,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Rules, Skills & Agents for Java</a>
<a class="navbar-brand" href="index.html">Skills & Agents for Java</a>
</div>

<div class="collapse navbar-collapse" id="main-navbar">
Expand Down
Loading
Loading