Probe that using Cursor rules for Agile & Java are useful when the Software Engineer have to face non trivial Java problems.
Intall the cursor rules which you are going to use in your workspace
#deprecated
sdk install jbang
jbang --fresh setup@jabrena
jbang setup@jabrena init --cursor https://github.com/jabrena/cursor-rules-agile
npx skills add jabrena/cursor-rules-java --all --agent cursorGenerate the software requirements based on the initial problem description
Create an agile development checklist using @2000-agile-checklistNote: The Cursor rules for Agile could help several roles: EA, PO, BA, SA, TL, SSE & SE.
Note: Using the Cursor rules for agile, the implementation phase and the models provided by Cursor will have better context information to be used in the implementation & testing phase.
- 4.1 Setup the Maven project
Depending of the requirements and the requirements will use one command or another:
jbang setup@jabrena init --maven
jbang setup@jabrena init --spring-boot
jbang setup@jabrena init --quarkus- 4.2 Implement the Acceptance test (Outside-in TDD London) based on the Gherkin file described in the implementation.
Note: Attach the User story & Gherkin file from requirements folder
Implement an acceptance tests in the package info.jab.latency for the scenarios
Don´t develop any source code, only implement the acceptance test.
It will fail because in this phase, doesn´t exist any implemention.- 4.3 Implement the solution to pass the acceptance tests
Implement a solution in the package info.jab.latency from src.
Create a solution and later add test classes.
Dont´t change the acceptance tests.
Verify the changes with the command: ./mvnw clean verify- 4.3 Implement the solution to pass the acceptance tests
Note: At the end of this phase, the development should build with ./mvnw clean verify and at runtime the solution will work.
- 4.4 Implement the rest of the requirements.
Note: Follow the task list in orther to build the solution in a incremental way.
- 5.1 Increase the Code coverage
Review current state with:
./mvnw clean verify jacoco:report -Pjacoco
jwebserver -p 8002 -d "$(pwd)/target/site/jacoco"And improve the test coverage:
Review the coverage with ./mvnw clean verify jacoco:report -Pjacoco and increase the coverage in instructions, classes & branches until 80% @problem4- 5.2 Refactor the initial stable solution
Review current implementation to have a high level view what is the current implementation:
Create the UML diagram based on @example/implementation/src/main/java using the cursor rule @2200-uml-class-diagram.mdcGenerate the png files on-fly with the following utility:
jbang --fresh puml-to-png@jabrena
jbang puml-to-png@jabrena --watch problem5/requirementsNote: Review all files if something is possible to be simplified.
- 5.3 Enrich the solution
Install the specific cursor rules for Java
jbang setup@jabrena init --cursor https://github.com/jabrena/cursor-rules-java
#TODO: Create a checklist for the java cursor rulesNote: No recipe, this is the added value of a good SSE. ¯_(ツ)_/¯```
Enjoy in the refactoring process
- https://editor-next.swagger.io/
- https://www.plantuml.com/plantuml/uml/
- https://cekrem.github.io/posts/double-loop-tdd-blog-engine-pt2/
- https://github.com/jabrena/101-cursor
- https://github.com/jabrena/cursor-rules-methodology
- https://github.com/jabrena/cursor-rules-agile
- https://github.com/jabrena/cursor-rules-java
- https://github.com/jabrena/cursor-rules-spring-boot
- https://github.com/jabrena/cursor-rules-examples
- https://github.com/jabrena/cursor-rules-sandbox
- https://github.com/jabrena/plantuml-to-png-cli
- https://github.com/jabrena/setup-cli
- https://github.com/jabrena/jbang-catalog


