Skip to content

Commit 78ae646

Browse files
authored
Initial work with plugins (#512)
1 parent 635f0d1 commit 78ae646

3 files changed

Lines changed: 234 additions & 2 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
{
2+
"name": "cursor-rules-java",
3+
"owner": {
4+
"name": "Juan Antonio Breña Moral",
5+
"email": "bren@juanantonio.info"
6+
},
7+
"metadata": {
8+
"description": "Curated collection of System prompts & Skills for moden SDLC that help software engineers and pipelines in their daily work for Java Enterprise development.",
9+
"homepage": "https://jabrena.github.io/cursor-rules-java/",
10+
"repository": "https://github.com/jabrena/cursor-rules-java",
11+
"version": "0.13.0",
12+
"license": "Apache-2.0"
13+
},
14+
"plugins": [
15+
{
16+
"name": "014-agile-user-story",
17+
"source": "./skills/014-agile-user-story",
18+
"description": "Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files.",
19+
"version": "0.13.0"
20+
},
21+
{
22+
"name": "020-architecture-functional-requirements-cli",
23+
"source": "./skills/020-architecture-functional-requirements-cli",
24+
"description": "Create ADRs for CLI development. Use when the user wants to document CLI architecture, capture functional requirements for a command-line tool, create ADRs for CLI projects, or design CLI applications with documented decisions.",
25+
"version": "0.13.0"
26+
},
27+
{
28+
"name": "021-architecture-functional-requirements-rest",
29+
"source": "./skills/021-architecture-functional-requirements-rest",
30+
"description": "Create ADRs for REST API development. Use when the user wants to document REST API architecture, capture functional requirements for APIs, create ADRs for REST/HTTP services, or design APIs with documented decisions.",
31+
"version": "0.13.0"
32+
},
33+
{
34+
"name": "030-architecture-non-functional-requirements",
35+
"source": "./skills/030-architecture-non-functional-requirements",
36+
"description": "Create ADRs for Non-Functional Requirements using the ISO/IEC 25010:2023 quality model. Use when documenting quality attributes, NFR decisions, security/performance/scalability architecture, or designing systems with measurable quality criteria.",
37+
"version": "0.13.0"
38+
},
39+
{
40+
"name": "040-planning-enhance-ai-plan-mode",
41+
"source": "./skills/040-planning-enhance-ai-plan-mode",
42+
"description": "Java Design Plan Creation for Cursor Plan Mode. Use when creating a plan, designing an implementation, structuring a development plan, or using plan mode for outside-in TDD, feature implementation, or refactoring work.",
43+
"version": "0.13.0"
44+
},
45+
{
46+
"name": "110-java-maven-best-practices",
47+
"source": "./skills/110-java-maven-best-practices",
48+
"description": "Review, improve, or troubleshoot Maven pom.xml — dependency management with BOMs, plugin configuration, version centralization, multi-module project structure, build profiles.",
49+
"version": "0.13.0"
50+
},
51+
{
52+
"name": "111-java-maven-dependencies",
53+
"source": "./skills/111-java-maven-dependencies",
54+
"description": "Add Maven dependencies for improved code quality — nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), or architecture testing (ArchUnit).",
55+
"version": "0.13.0"
56+
},
57+
{
58+
"name": "112-java-maven-plugins",
59+
"source": "./skills/112-java-maven-plugins",
60+
"description": "Add or configure Maven plugins — enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd, OWASP, Spotless, JMH — through a consultative, modular step-by-step approach.",
61+
"version": "0.13.0"
62+
},
63+
{
64+
"name": "113-java-maven-documentation",
65+
"source": "./skills/113-java-maven-documentation",
66+
"description": "Create DEVELOPER.md for Maven projects — combining a fixed base template with dynamic sections from pom.xml, including Plugin Goals Reference, Maven Profiles table, and Submodules table.",
67+
"version": "0.13.0"
68+
},
69+
{
70+
"name": "121-java-object-oriented-design",
71+
"source": "./skills/121-java-object-oriented-design",
72+
"description": "Review, improve, or refactor Java code for OOP quality — SOLID, DRY, YAGNI, class/interface design, code smells (God Class, Feature Envy, Data Clumps), exception handling.",
73+
"version": "0.13.0"
74+
},
75+
{
76+
"name": "122-java-type-design",
77+
"source": "./skills/122-java-type-design",
78+
"description": "Review or refactor Java code for type design quality — type hierarchies, naming conventions, value objects, generic type parameters, fluent interfaces, precision-appropriate numeric types.",
79+
"version": "0.13.0"
80+
},
81+
{
82+
"name": "123-java-exception-handling",
83+
"source": "./skills/123-java-exception-handling",
84+
"description": "Apply Java exception handling best practices — specific exception types, try-with-resources, exception chaining, fail-fast validation, @throws documentation, logging policy, API boundary translation.",
85+
"version": "0.13.0"
86+
},
87+
{
88+
"name": "124-java-secure-coding",
89+
"source": "./skills/124-java-secure-coding",
90+
"description": "Apply Java secure coding best practices — input validation, injection defence, least privilege, strong crypto, secure exception handling, secrets management, avoiding unsafe deserialization.",
91+
"version": "0.13.0"
92+
},
93+
{
94+
"name": "125-java-concurrency",
95+
"source": "./skills/125-java-concurrency",
96+
"description": "Apply Java concurrency best practices — thread safety, ExecutorService, Producer-Consumer patterns, CompletableFuture, immutability, virtual threads, structured concurrency, scoped values.",
97+
"version": "0.13.0"
98+
},
99+
{
100+
"name": "128-java-generics",
101+
"source": "./skills/128-java-generics",
102+
"description": "Review or refactor Java code for generics quality — avoiding raw types, PECS principle, bounded type parameters, diamond operator, type erasure, Records/sealed types integration.",
103+
"version": "0.13.0"
104+
},
105+
{
106+
"name": "131-java-testing-unit-testing",
107+
"source": "./skills/131-java-testing-unit-testing",
108+
"description": "Review, improve, or write Java unit tests — JUnit 5, AssertJ, Given-When-Then, parameterized tests, Mockito, boundary conditions (RIGHT-BICEP, CORRECT, A-TRIP), JSpecify null-safety.",
109+
"version": "0.13.0"
110+
},
111+
{
112+
"name": "132-java-testing-integration-testing",
113+
"source": "./skills/132-java-testing-integration-testing",
114+
"description": "Set up or improve Java integration tests — BaseIntegrationTest with WireMock, HTTP client detection, JSON mapping files, stub isolation, HTTP interaction verification.",
115+
"version": "0.13.0"
116+
},
117+
{
118+
"name": "141-java-refactoring-with-modern-features",
119+
"source": "./skills/141-java-refactoring-with-modern-features",
120+
"description": "Refactor Java code to adopt modern features (Java 8+) — lambdas, Stream API, Optional, java.time, collection factory methods, CompletableFuture, text blocks, var, Java 25 features.",
121+
"version": "0.13.0"
122+
},
123+
{
124+
"name": "142-java-functional-programming",
125+
"source": "./skills/142-java-functional-programming",
126+
"description": "Apply functional programming principles in Java — Records, pure functions, lambdas, Stream API, Optional, pattern matching, sealed classes, Stream Gatherers, effect boundary separation.",
127+
"version": "0.13.0"
128+
},
129+
{
130+
"name": "143-java-functional-exception-handling",
131+
"source": "./skills/143-java-functional-exception-handling",
132+
"description": "Apply functional exception handling — Optional and VAVR Either, error type hierarchies with sealed classes, monadic pipelines, reserving exceptions for system-level failures.",
133+
"version": "0.13.0"
134+
},
135+
{
136+
"name": "144-java-data-oriented-programming",
137+
"source": "./skills/144-java-data-oriented-programming",
138+
"description": "Apply data-oriented programming in Java — separating code from data with records, immutable data, pure transformation functions, flat denormalized structures, generic data access layers.",
139+
"version": "0.13.0"
140+
},
141+
{
142+
"name": "170-java-documentation",
143+
"source": "./skills/170-java-documentation",
144+
"description": "Generate or improve Java project documentation — README.md, package-info.java, Javadoc — through a modular, step-based interactive process.",
145+
"version": "0.13.0"
146+
},
147+
{
148+
"name": "171-java-adr",
149+
"source": "./skills/171-java-adr",
150+
"description": "Generate Architecture Decision Records (ADRs) through an interactive, conversational process that gathers context, stakeholders, options, and outcomes.",
151+
"version": "0.13.0"
152+
},
153+
{
154+
"name": "172-java-diagrams",
155+
"source": "./skills/172-java-diagrams",
156+
"description": "Generate Java project diagrams — UML sequence, class, state machine, C4 model, ER — through a modular, step-based interactive process.",
157+
"version": "0.13.0"
158+
},
159+
{
160+
"name": "173-java-agents",
161+
"source": "./skills/173-java-agents",
162+
"description": "Generate AGENTS.md for Java repositories — project conventions, tech stack, file structure, commands, Git workflow, contributor boundaries — through a modular, step-based interactive process.",
163+
"version": "0.13.0"
164+
},
165+
{
166+
"name": "301-frameworks-spring-boot-core",
167+
"source": "./skills/301-frameworks-spring-boot-core",
168+
"description": "Review, improve, or build Spring Boot applications — @SpringBootApplication, component annotations, bean management, @ConfigurationProperties, constructor injection, scheduled tasks.",
169+
"version": "0.13.0"
170+
},
171+
{
172+
"name": "302-frameworks-spring-boot-rest",
173+
"source": "./skills/302-frameworks-spring-boot-rest",
174+
"description": "Design, review, or improve REST APIs with Spring Boot — HTTP methods, resource URIs, status codes, DTOs, versioning, error handling, API documentation, problem details.",
175+
"version": "0.13.0"
176+
},
177+
{
178+
"name": "303-frameworks-spring-data-jdbc",
179+
"source": "./skills/303-frameworks-spring-data-jdbc",
180+
"description": "Use Spring Data JDBC with Java records — entity design, repository pattern, immutable updates, aggregate relationships, custom queries, transaction management.",
181+
"version": "0.13.0"
182+
},
183+
{
184+
"name": "311-frameworks-spring-boot-slice-testing",
185+
"source": "./skills/311-frameworks-spring-boot-slice-testing",
186+
"description": "Write slice tests for Spring Boot — @WebMvcTest, @JdbcTest, @JsonTest, @MockBean, test profiles, @TestConfiguration for focused layer testing.",
187+
"version": "0.13.0"
188+
},
189+
{
190+
"name": "312-frameworks-spring-boot-integration-testing",
191+
"source": "./skills/312-frameworks-spring-boot-integration-testing",
192+
"description": "Write or improve integration tests — Testcontainers, TestRestTemplate, data management, test structure, performance optimization.",
193+
"version": "0.13.0"
194+
},
195+
{
196+
"name": "313-frameworks-spring-boot-local-testing",
197+
"source": "./skills/313-frameworks-spring-boot-local-testing",
198+
"description": "Configure local testing with spring-boot-docker-compose — dependency setup, compose services, profiles, integration test setup, service connections, health checks.",
199+
"version": "0.13.0"
200+
}
201+
]
202+
}

.cursor-plugin/plugin.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "cursor-rules-java",
3+
"displayName": "Cursor Rules for Java",
4+
"version": "0.13.0-SNAPSHOT",
5+
"description": "Curated collection of `System prompts` & `Skills` for moden `SDLC` that help software engineers and pipelines in their daily work for Java Enterprise development.",
6+
"author": {
7+
"name": "Juan Antonio Breña Moral",
8+
"email": "bren@juanantonio.info"
9+
},
10+
"homepage": "https://jabrena.github.io/cursor-rules-java/",
11+
"repository": "https://github.com/jabrena/cursor-rules-java",
12+
"license": "Apache-2.0",
13+
"keywords": [
14+
"system-prompts",
15+
"skills",
16+
"java",
17+
"enterprise",
18+
"development"
19+
],
20+
"category": "developer-tools",
21+
"tags": [
22+
"ai-driven-agile",
23+
"architecture",
24+
"java",
25+
"enterprise",
26+
"development"
27+
],
28+
"skills": "./skills/"
29+
}

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
<version>0.13.0-SNAPSHOT</version>
1111
<packaging>pom</packaging>
1212
<name>cursor-rules-java</name>
13-
<description>The project provides a curated collection of `System prompts` and `Skills` for Java Enterprise
14-
development that help software engineers and pipelines in their daily programming work.</description>
13+
<description>The project provides a curated collection of System prompts and Skills for moden
14+
SDLC that help software engineers and pipelines in their daily work for Java Enterprise
15+
development.</description>
1516

1617
<properties>
1718
<java.version>25</java.version>

0 commit comments

Comments
 (0)