|
| 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 | +} |
0 commit comments