You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Improve current tests to generate better System prompts encoded in Markdown format
18
-
- Develop or Refactor current System prompts with new Examples
40
+
### 🎯 .cursor/rules/
41
+
The main output of the project - a collection of 25 system prompts for Java Enterprise development. These Markdown files are automatically generated from XML sources and provide AI coding assistance across build systems, design patterns, testing, profiling, and documentation.
19
42
20
-
When you add new code, format the code before testing:
43
+
### 🏗️ system-prompts-generator/
44
+
Java transformation engine that converts XML rule definitions into Markdown cursor rules using XSLT. Features a 4-stage functional pipeline with XInclude support for modularity, automated testing, and Maven integration for deployment to `.cursor/rules/`.
21
45
22
-
```bash
23
-
./mvnw clean spotless:apply
24
-
```
46
+
### 🧪 examples/
47
+
Nine comprehensive demo projects showcasing different Java frameworks and scenarios:
-**Cloud demos**: AWS Lambda and Azure Functions serverless examples
51
+
-**Maven demos**: Both working and intentionally broken projects for testing cursor rules
52
+
53
+
### 📚 site-generator/
54
+
JBake-powered static site generator that transforms Markdown content into a professional documentation website. Features 18 specialized FreeMarker templates, structured learning courses (like the 5-module Java Generics course), blog system with tagging, and automated deployment to GitHub Pages.
55
+
56
+
### 📖 documentation/
57
+
Comprehensive documentation ecosystem including:
58
+
-**ADRs**: 3 Architectural Decision Records documenting technical choices
59
+
-**Reviews**: AI tool compatibility matrices and evaluations
60
+
-**JEPs**: Java Enhancement Proposals tracking for language evolution
61
+
-**Conference Materials**: Reveal.js presentation for conferences and meetups
62
+
-**Visual Documentation**: Excalidraw diagrams and system visualizations
63
+
64
+
### 🌐 docs/
65
+
Generated static website deployed to GitHub Pages, containing structured courses, technical blog posts, and topic-based navigation with 23 different tags for content organization.
66
+
67
+
## Development Guidelines
68
+
69
+
-**Rule Editing**: Don't update files in `.cursor/rules` directly - find the XML source files in `system-prompts-generator/src/main/resources/`
70
+
-**Java Version**: The project is based on Java 24
71
+
-**Build Workflow**: Use the XML-to-Markdown transformation pipeline to generate cursor rules from XML sources
72
+
-**Testing**: Always run tests before promoting changes to ensure rule generation works correctly
73
+
74
+
## The Comprehensive Documentation Ecosystem
75
+
76
+
The repository includes a sophisticated documentation framework with multiple specialized components:
77
+
78
+
### 1. Architectural Decision Records (ADRs)
79
+
-**Location**: `documentation/adr/`
80
+
-**Purpose**: Formal documentation of technical decisions with rationale and consequences
81
+
-**Content**: 3 ADRs covering major architectural choices:
82
+
- XML-based rule generation approach
83
+
- Manual scope configuration
84
+
- Website generation strategy
85
+
86
+
### 2. Tool Compatibility & Review System
87
+
-**Location**: `documentation/reviews/`
88
+
-**Purpose**: Systematic evaluation of AI coding assistants
89
+
-**Content**: Detailed comparison matrices of 6+ AI tools (Cursor, JetBrains, GitHub Copilot, etc.)
90
+
-**Metrics**: Usability, response speed, reasoning, model support, context windows
91
+
92
+
### 3. Java Enhancement Proposals (JEPs) Tracking
93
+
-**Location**: `documentation/jeps/`
94
+
-**Purpose**: Continuous monitoring of Java language evolution from Java 8 to Java 25
95
+
-**Integration**: Analysis of how new JEPs could improve existing cursor rules
96
+
-**Value**: Keeps the project current with Java language developments
97
+
98
+
## System Architecture
25
99
26
-
Run the tests:
100
+
### The Transformation Pipeline
27
101
102
+
The repository implements a sophisticated XML-to-Markdown transformation system that powers the entire cursor rules generation process through a multi-stage pipeline:
103
+
104
+
#### Core Architecture
105
+
-**XML Schema-Based Rule Definitions**: 25+ structured XML files defining complete cursor rules following a common vocabulary defined by [pml.xsd](https://jabrena.github.io/pml/schemas/0.1.0-SNAPSHOT/pml.xsd) (see [system-prompts-generator/src/main/resources/](system-prompts-generator/src/main/resources/))
106
+
-**XSLT Transformation Engine**: Single unified stylesheet (`cursor-rules.xsl`) converting XML to Markdown
107
+
-**Java Processing Pipeline**: 4-stage functional pipeline with XInclude support for modularity
108
+
-**Modular Fragment System**: 13 reusable templates and automation scripts
-**Consistency at Scale**: All 25+ cursor rules follow identical structure and formatting
117
+
-**Domain-Specific Language**: Structured approach to prompt engineering with reusable components
118
+
-**Enterprise Maintainability**: Single source of truth with automated testing and deployment
119
+
-**Build Integration**: Maven-driven automation with automatic deployment to `.cursor/rules/`
120
+
121
+
This pipeline essentially functions as a **compiler for cursor rules**, transforming high-level XML specifications into deployable Markdown files while ensuring consistency, maintainability, and scalability across the entire rule set.
122
+
123
+
### Site Generation & Public Documentation System
124
+
125
+
The repository includes a comprehensive **JBake-powered static site generator** that transforms Markdown content into a professional documentation website deployed at `https://jabrena.github.io/cursor-rules-java/`.
126
+
127
+
#### Architecture & Integration
128
+
-**Technology Stack**: JBake 2.7.0-rc.7 with FreeMarker templates and Maven integration
129
+
-**Build Integration**: Dedicated Maven module (`site-generator`) with specialized profile (`site-update`)
130
+
-**Output Location**: Generates static HTML/CSS/JS files in the `docs/` directory for GitHub Pages deployment
-**SEO Optimization**: Proper meta tags, sitemaps, and RSS feeds
162
+
-**Analytics Integration**: Google Analytics and social media integration
163
+
-**Asset Management**: Optimized handling of images, CSS, and JavaScript resources
164
+
165
+
#### Content Strategy
166
+
The site serves multiple purposes:
167
+
1.**Public Documentation**: User-facing guides and tutorials
168
+
2.**Educational Content**: Structured courses for learning Java concepts
169
+
3.**Project Updates**: Release notes and development progress
170
+
4.**Community Engagement**: Blog posts and technical articles
171
+
172
+
This system transforms the repository from a simple rule collection into a **comprehensive educational platform** that supports both immediate cursor rule usage and long-term Java learning objectives.
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ The repository was designed to offer support for Cursor, but other tools have ev
20
20
21
21
A system prompt is a set of instructions given to an AI model that defines how it should behave, what role it should take on, and what guidelines it should follow when responding to users. Think of it as the "operating manual" that shapes the AI's personality, capabilities, and boundaries.
22
22
23
-

23
+

24
24
25
25
### Types of System prompts
26
26
@@ -38,25 +38,25 @@ The repository provides System prompts that can behave interactively or non-inte
38
38
39
39
Adding AI tools to the Java development workflow can increase the possibilities of implementing software specifications on time and with quality.
40
40
41
-

41
+

42
42
43
43
**Note:** Remember that if you use models and ask questions about recent topics like *Java 25*, it is probable that models will not provide accurate answers.
44
44
45
45
## Getting started
46
46
47
-
New to this repository? Start with our [comprehensive guide](./GETTING-STARTED.md) for a quick introduction to setting up and using the Cursor rules.
47
+
New to this repository? Start with our [comprehensive guide](./documentation/GETTING-STARTED.md) for a quick introduction to setting up and using the Cursor rules.
48
48
49
49
## How to use a System prompt in your development?
50
50
51
-
Learn [how to integrate System prompts](./HOW-TO-USE.md) into your development workflow and maximize their effectiveness in your daily coding tasks.
51
+
Learn [how to integrate System prompts](./documentation/HOW-TO-USE.md) into your development workflow and maximize their effectiveness in your daily coding tasks.
52
52
53
53
## How many System prompts include this repository?
54
54
55
55
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.
56
56
57
57
## Constraints, Output format & Safety guards
58
58
59
-
The cursor rules in this repository follow [The Three-Node Quality Framework for AI Prompts](./docs/articles/prompt-quality-framework.md), which ensures both comprehensive responses and safe execution. This framework consists of three distinct pillars: **constraints**, **output-format** and **safeguards**. Each node operates at different phases of the AI interaction timeline, creating a defense-in-depth strategy.
59
+
The cursor rules in this repository follow [The Three-Node Quality Framework for AI Prompts](https://jabrena.github.io/cursor-rules-java/blog/2025/prompt-quality-framework.html), which ensures both comprehensive responses and safe execution. This framework consists of three distinct pillars: **constraints**, **output-format** and **safeguards**. Each node operates at different phases of the AI interaction timeline, creating a defense-in-depth strategy.
60
60
61
61
The **constraints** act as gate-keeping mechanisms that define hard requirements and blocking conditions before any work begins - essentially asking "Can I start?" The **output-format** provides prescriptive guidance during execution, ensuring comprehensive coverage and organized responses by defining "What should I deliver?" Finally, **safeguards** implement protective measures throughout and after execution, continuously asking "Did it work safely?" This temporal flow from pre-execution validation to structured execution to continuous monitoring ensures quality at every stage.
Copy file name to clipboardExpand all lines: documentation/GETTING-STARTED.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ If you are interested in getting the benefits of these cursor rules for Java, yo
8
8
9
9
This view has a big green button with the text: `<> Code`. If you click on it, you will see the tab `Local` and you will see the link for: `Download Zip`.
10
10
11
-

11
+

12
12
13
13
Once you have downloaded it, go to the `Downloads` folder in your system and you should see the zip file: `cursor-rules-java-main.zip`. Unzip it and copy the folder `.cursor` into the Java repository where you want to use these Cursor rules.
0 commit comments