Skip to content

Commit 64e3661

Browse files
authored
New progress (#471)
1 parent 773222e commit 64e3661

12 files changed

Lines changed: 128 additions & 24 deletions

File tree

AGENTS.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ You are an expert Java developer and technical writer for this project.
1010
- Skills live in `skills/` but are **generated** — you edit XML sources, not the output
1111

1212
## Tech stack
13+
1314
- **Language:** Java 25
1415
- **Build:** Maven (wrapper: `./mvnw`)
1516
- **Rule pipeline:** XML → XInclude → XSLT → Markdown cursor rules
1617
- **Site generator:** JBake 2.7.0 with FreeMarker templates → GitHub Pages
1718

1819
## File structure
20+
1921
- `skills/` – Generated SKILLS (READ only, never edit directly)
2022
- `.cursor/rules/` – Generated Cursor rules (READ only, never edit directly)
2123
- `system-prompts-generator/src/main/resources/` – XML rule sources (WRITE here to change rules) and generate rules into `.cursor/rules`
@@ -25,6 +27,7 @@ You are an expert Java developer and technical writer for this project.
2527
- `docs/` – Generated static website for GitHub Pages (READ only)
2628

2729
## Commands
30+
2831
```bash
2932
# Build and test everything
3033
./mvnw clean verify
@@ -35,14 +38,14 @@ You are an expert Java developer and technical writer for this project.
3538
# Deploy generated rules to .cursor/rules/
3639
./mvnw clean install -pl system-prompts-generator
3740

38-
# Regenerate the website into docs/
39-
./mvnw clean generate-resources -pl site-generator -P site-update
41+
# Deploy Skills to skills/
42+
./mvnw clean install -pl skills-generator
4043

4144
# Serve the website locally (mirrors GitHub Pages path: http://localhost:8820/)
4245
./mvnw clean generate-resources jbake:inline -pl site-generator -P local-preview
4346

44-
# Regenerate agent skills into skills/
45-
./mvnw clean install -pl skills-generator
47+
# Regenerate the website into docs/
48+
./mvnw clean generate-resources -pl site-generator -P site-update
4649

4750
# Validate agent skills
4851
npx skill-check skills
@@ -60,6 +63,8 @@ npx skill-check skills
6063
- `docs(readme): update installation instructions`
6164

6265
## Boundaries
63-
-**Always do:** Edit XML in `system-prompts-generator/src/main/resources/` to change rules, run `./mvnw clean verify` before promoting changes. When edit XML, follow PML Schema: https://jabrena.github.io/pml/schemas/0.5.0/pml.xsd
66+
67+
-**Always do:** Edit XML in `system-prompts-generator/src/main/resources/` to change rules, run `./mvnw clean verify` before promoting changes. When edit XML, follow PML Schema: [https://jabrena.github.io/pml/schemas/0.5.0/pml.xsd](https://jabrena.github.io/pml/schemas/0.5.0/pml.xsd)
6468
- ⚠️ **Ask first:** Adding new XML rule files, modifying the XSLT stylesheet, changing site templates
6569
- 🚫 **Never do:** Edit `.cursor/rules/` or `docs/` directly, commit secrets, skip tests before promoting
70+

docs/blog/2026/03/release-0.12.0.html

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ <h1>What's new in Cursor rules for Java 0.12.0?</h1>
102102
<article role="main" class="blog-post">
103103
<h2>What are Cursor rules for Java?</h2>
104104
<p>A curated collection of <code>System prompts</code> &amp; <code>Skills</code> for Java Enterprise development that help software engineers and pipelines in their daily programming work.</p>
105+
<p>Recently, we reached the milestone of <code>300+</code> ⭐ in Github.</p>
105106
<h2>What's new in this release?</h2>
106107
<p>In this release, the project introduces several updates and improvements:</p>
107108
<ul>
@@ -441,17 +442,58 @@ <h2>How to use Prompts, Agents.md, Skills &amp; MCP/Cli tools in your daily work
441442
<p>In 2026, the usage of AI tools is not optional but it is true that it depends on your organization and the nature of your project to select which tools fit better for your purpose. Get in touch with your <code>Platform engineering teams</code> to learn which <code>AI tools</code> are compliant and which <code>Skills</code> and <code>MCP/CLI tools</code> are supported as part of the good engineering practices.</p>
442443
<p>If you are using <code>Agile methodologies</code> and your team organizes the product evolution based on Agile concepts like <code>Intents</code>, <code>Epics</code>, <code>User Stories</code> &amp; <code>Tasks</code>, your first step should be to analyze your backlog and review if the tasks are <code>Ready for development</code>.</p>
443444
<p><a href="https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/define-features-epics?view=azure-devops&amp;tabs=agile-process"><img src="/cursor-rules-java/images/2026/3/agile.png" alt="" /></a></p>
445+
<p><strong>Source:</strong> <a href="https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/define-features-epics?view=azure-devops&amp;tabs=agile-process">https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/define-features-epics?view=azure-devops&amp;tabs=agile-process</a></p>
444446
<p>You could improve the analysis and design phase using the <a href="https://github.com/jabrena/cursor-rules-agile"><code>System prompts for Agile</code></a> which provides support for defining tasks about <code>Epics</code>, <code>Features</code> &amp; <code>User Stories</code> (with Gherkin acceptance criteria), <code>Diagrams</code>, Solutions for <code>functional</code> and <code>non-functional</code> requirements (ISO-25010) and others.</p>
445-
<h3>Solving an issue with a Prompt Engineering approach</h3>
446-
<p>First, create an empty Java project based on your favourite build system like <code>Maven</code> or <code>Gradle</code>. Once you have the pillars in place, ask your <code>Cursor</code>, <code>Claude</code> or other AI assistant to create an <code>AGENTS.md</code> using the Skill <code>@173-java-agents</code>. Once you define that file, in the next interactions the models will understand where the files are and how to interact with your build system and other details.</p>
447-
<p>If your approach is based on <code>Prompt Engineering</code>:</p>
448-
<p><img src="/cursor-rules-java/images/2026/3/workflow.png" alt="" /></p>
447+
<p>Using this kind of tools, your team will increase the delivery capacity but in order maintain the pace defining good User Stories, one alternative that you could apply is the usage of <code>Double Agile Loop</code>:</p>
448+
<p><a href="https://www.stride.build/blog/what-is-dual-track-agile-and-how-does-it-work"><img src="/cursor-rules-java/images/2026/3/double-agile-loop.png" alt="" /></a></p>
449+
<p><strong>Source:</strong> <a href="https://www.stride.build/blog/what-is-dual-track-agile-and-how-does-it-work">https://www.stride.build/blog/what-is-dual-track-agile-and-how-does-it-work</a></p>
450+
<h3>Solving an User Story with a Prompting Engineering approach</h3>
451+
<p>Imagine that you pick up the following <a href="https://github.com/jabrena/latency-problems/blob/master/docs/problem1/README.md">User Story</a> from your Backlog and you start reading the details:</p>
452+
<pre><code>As an API consumer / data analyst
453+
I want to consume God APIs (Greek, Roman &amp; Nordic), filter gods whose names start with 'n', convert each filtered god name into a decimal representation, and return the sum of those values
454+
So that I can perform cross-pantheon analysis and aggregate mythology data for research, reporting, or educational applications.
455+
</code></pre>
456+
<p>including the following Acceptance criteria:</p>
457+
<pre><code class="language-gherkin">Feature: God Analysis API
458+
# REST API: GET /api/v1/gods/stats/sum
459+
# Notes:
460+
# - Decimal Conversion Rule: Name then each char to its Unicode int value, then concatenate these ints as strings.
461+
# (e.g., &quot;Zeus&quot; -&gt; Z(90)e(101)u(117)s(115) -&gt; &quot;90101117115&quot;).
462+
# - If in the process to load the list, the timeout is reached, the process will calculate with the rest of the lists.
463+
# - Filtering for gods starting with 'n' is case-sensitive (only lowercase 'n').
464+
# - Greek API: https://my-json-server.typicode.com/jabrena/latency-problems/greek
465+
# - Roman API: https://my-json-server.typicode.com/jabrena/latency-problems/roman
466+
# - Nordic API: https://my-json-server.typicode.com/jabrena/latency-problems/nordic
467+
468+
Background:
469+
Given the God Analysis API is available at &quot;/api/v1&quot;
470+
And the system is configured with an API call timeout of 5 seconds
471+
472+
Scenario: Happy path - Get sum with explicit sources
473+
When the client sends a GET request to &quot;/gods/stats/sum&quot; with query parameters &quot;filter&quot; = &quot;n&quot; and &quot;sources&quot; = &quot;greek,roman,nordic&quot;
474+
Then the response status code should be 200
475+
And the response body should contain a JSON object with a &quot;sum&quot; field
476+
And the value of &quot;sum&quot; should be &quot;78179288397447443426&quot;
477+
</code></pre>
478+
<p>and finally you review that the <code>User story</code> includes details about the Stack to be used:</p>
479+
<pre><code>- Java 25
480+
- Spring Boot 4.0.x
481+
- Spring Boot Modulith
482+
- RestClient
483+
- Junit
484+
- Wiremock
485+
- RestAssured
486+
</code></pre>
487+
<p>So, lets clone the repository to implement the feature and when you you have the repo in the local dev environment, review that Build system works and review if the repository has any <code>AGENTS.md</code> file to help in the interactions with models. If the repo doesn´t have that file, you could use the following Skill <code>@173-java-agents</code> focused on this kind of files.</p>
488+
<p>Once you have the repository ready, the next step is to create a <code>Plan</code>. The most popular AI tools like <code>Cursor</code> &amp; <code>Claude</code> have support to generates Plan.</p>
449489
<ul>
450490
<li><a href="https://cursor.com/docs/agent/plan-mode">https://cursor.com/docs/agent/plan-mode</a></li>
451491
<li><a href="https://code.claude.com/docs/en/common-workflows#use-plan-mode-for-safe-code-analysis">https://code.claude.com/docs/en/common-workflows#use-plan-mode-for-safe-code-analysis</a></li>
452492
</ul>
453-
<p>You could begin the development by creating an empty unit test and adding a few Java comments. Those comments could be your first prompt in that project. Using this approach and depending on the level of detail of your notes as a prompt, you could send that selection to the context to develop the test and later the implementation following a TDD approach. The model will follow the <code>User prompt</code> and the <code>AGENTS.md</code> file.</p>
454-
<p>After that, you could continue indicating notes incrementally and maybe triggering some Skills to improve the development.</p>
493+
<p>review and iterate the document created and when the Plan is stable, pass to the model. Include in the context the different files created in design phase, OAS files and Gherkin files to enhance the process.</p>
494+
<p><img src="/cursor-rules-java/images/2026/3/workflow.png" alt="" /></p>
495+
<p>Using a <code>Prompting engineering</code> aproach, it is necessary to iterate over the development. In any iteration, it is important that model verify changes it self and not the Software engineer, for this verification step, it is nice to count with the file <code>AGENTS.md</code> because it explain that kind of technical details.</p>
496+
<p>PENDING</p>
455497
<p>Read this section carefully and explore this approach. In this repository, you could find some nontrivial problems: <a href="https://github.com/jabrena/latency-problems">https://github.com/jabrena/latency-problems</a> to be solved with this approach.</p>
456498
<h3>Enhance your pipeline with AI Tools</h3>
457499
<p>On the other hand, if you are interested in adding <code>AI Capabilities</code> to your pipelines:</p>

docs/feed.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<feed xmlns='http://www.w3.org/2005/Atom' xml:lang='en'>
33
<id>https://jabrena.github.io/cursor-rules-java/</id>
44
<title>Cursor rules and Skills for Java</title>
5-
<updated>2026-03-07T14:11:56+0100</updated>
5+
<updated>2026-03-07T17:27:35+0100</updated>
66
<link rel="alternate" type="text/html" href="https://jabrena.github.io/cursor-rules-java/" />
77
<link rel='self' type='application/atom+xml' href='https://jabrena.github.io/cursor-rules-java//feed.xml' />
88
<entry>
@@ -13,12 +13,12 @@
1313
<updated>2026-03-08T00:00:00+0100</updated>
1414
<summary>What are Cursor rules for Java?
1515
A curated collection of System prompts &amp;amp; Skills for Java Enterprise development that help software engineers and pipelines in their daily programming work.
16+
Recently, we reached the milestone of 300+ ⭐ in Github.
1617
What&apos;s new in this release?
1718
In this release, the project introduces several updates and improvements:
1819

1920
Added Skill Support:
20-
Published an initial set of 20 Skills for Java Enterprise development
21-
Designed and im...</summary>
21+
Published an initial set of 2...</summary>
2222
</entry>
2323
<entry>
2424
<id>https://jabrena.github.io/cursor-rules-java//blog/2025/11/the-tour-in-europe-2025-is-over.html</id>
97 KB
Loading

docs/images/2026/3/workflow.png

-226 KB
Loading

docs/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,12 @@ <h3 class="post-title"><a href="blog/2026/03/release-0.12.0.html">What&apos;s ne
132132
<div class="post-entry">
133133
What are Cursor rules for Java?
134134
A curated collection of System prompts &amp; Skills for Java Enterprise development that help software engineers and pipelines in their daily programming work.
135+
Recently, we reached the milestone of 300+ ⭐ in Github.
135136
What's new in this release?
136137
In this release, the project introduces several updates and improvements:
137138

138139
Added Skill Support:
139-
Published an initial set of 20 Skills for Java Enterprise development
140-
Designed and im...
140+
Published an initial set of 2...
141141
<p></p>
142142
<a href="blog/2026/03/release-0.12.0.html" class="post-read-more">[Read More]</a>
143143
</div>

docs/tags/blog.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,12 @@ <h2 class="post-title"><a href="../blog/2026/03/release-0.12.0.html">What&apos;s
102102
<div class="post-entry">
103103
What are Cursor rules for Java?
104104
A curated collection of System prompts &amp; Skills for Java Enterprise development that help software engineers and pipelines in their daily programming work.
105+
Recently, we reached the milestone of 300+ ⭐ in Github.
105106
What's new in this release?
106107
In this release, the project introduces several updates and improvements:
107108

108109
Added Skill Support:
109-
Published an initial set of 20 Skills for Java Enterprise development
110-
Designed and im...
110+
Published an initial set of 2...
111111
<p></p>
112112
<a href="../blog/2026/03/release-0.12.0.html" class="post-read-more">[Read More]</a>
113113
</div>

documentation/images/workflow.png

-226 KB
Loading
3.29 KB
Loading
97 KB
Loading

0 commit comments

Comments
 (0)