111-java-maven-dependencies

star 404

Use when you need to add or evaluate Maven dependencies that improve code quality — including nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), or architecture testing (ArchUnit) — and want a consultative, question-driven approach that adds only what you actually need. This should trigger for requests such as Add Maven dependencies; Add JSpecify nullness dependencies; Add Error Prone NullAway dependencies; Add VAVR functional dependencies; Add ArchUnit architecture testing dependencies. Part of cursor-rules-java project

jabrena By jabrena schedule Updated 6/15/2026

name: 111-java-maven-dependencies description: Use when you need to add or evaluate Maven dependencies that improve code quality — including nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), or architecture testing (ArchUnit) — and want a consultative, question-driven approach that adds only what you actually need. This should trigger for requests such as Add Maven dependencies; Add JSpecify nullness dependencies; Add Error Prone NullAway dependencies; Add VAVR functional dependencies; Add ArchUnit architecture testing dependencies. Part of cursor-rules-java project license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.15.0

Add Maven dependencies for improved code quality

Add essential Maven dependencies that enhance code quality and safety through a consultative, question-driven approach. This is an interactive SKILL.

What is covered in this Skill?

  • JSpecify: (nullness annotations, provided scope)
  • Error Prone + NullAway: (enhanced static analysis with compile-time null checking)
  • VAVR: (functional programming with Try/Either and immutable collections)
  • ArchUnit: (architecture rule enforcement, test scope)

Constraints

Before adding Maven dependencies, ensure the project is in a valid state. Use a consultative, question-driven flow that adds only what the user selects.

  • MANDATORY: Run ./mvnw validate or mvn validate before any changes
  • SAFETY: If validation fails, stop and ask the user to fix issues—do not proceed until resolved
  • BEFORE ASKING QUESTIONS: Read the reference to use the exact wording and options from the template. Ask questions one-by-one in strict order (JSpecify → Enhanced Compiler Analysis (conditional) → VAVR → ArchUnit) and add only what the user selects. Use consultative language, present trade-offs, and wait for user responses before implementing

When to use this skill

  • Add Maven dependencies
  • Add JSpecify nullness dependencies
  • Add Error Prone NullAway dependencies
  • Add VAVR functional dependencies
  • Add ArchUnit architecture testing dependencies

Workflow

  1. Validate project before changes

Run ./mvnw validate or mvn validate and stop if validation fails.

  1. Read dependency reference and ask guided questions

Read references/111-java-maven-dependencies.md and ask one-by-one in strict order: JSpecify, conditional Enhanced Compiler Analysis, VAVR, and ArchUnit.

  1. Add only selected dependencies

Implement only the dependencies and scopes chosen by the user, preserving existing pom.xml structure.

  1. Report trade-offs and next checks

Summarize what was added, why, and any recommended follow-up validations or tooling alignment.

Reference

For detailed guidance, examples, and constraints, see references/111-java-maven-dependencies.md.

Install via CLI
npx skills add https://github.com/jabrena/cursor-rules-java --skill 111-java-maven-dependencies
Repository Details
star Stars 404
call_split Forks 81
navigation Branch main
article Path SKILL.md
More from Creator