Skip to content

Commit 7313427

Browse files
committed
Finishing task 1
1 parent b39fd00 commit 7313427

37 files changed

+3962
-29
lines changed

.github/workflows/maven.yaml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,20 @@ jobs:
1717
- name: Maven build
1818
run: cd examples/maven-demo && ./mvnw --batch-mode --no-transfer-progress verify --file pom.xml
1919
- name: Spring Boot build
20-
run: cd examples/spring-boot-demo/implementation && ./mvnw --batch-mode --no-transfer-progress verify --file pom.xml
20+
run: cd examples/spring-boot-demo/implementation && ./mvnw --batch-mode --no-transfer-progress verify --file pom.xml
21+
- name: Spring Boot startup test
22+
run: |
23+
cd examples/spring-boot-demo/implementation
24+
# Start the application in the background
25+
./mvnw clean spring-boot:run -Dspring-boot.run.profiles=local &
26+
APP_PID=$!
27+
28+
# Wait for 30 seconds to let the application start and run
29+
echo "Testing application startup for 30 seconds..."
30+
sleep 30
31+
32+
# Stop the application
33+
kill $APP_PID || true
34+
wait $APP_PID 2>/dev/null || true
35+
36+
echo "Application startup test completed successfully"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
description: Create a Checklist with all agile steps to use the Agile cursor rules
3+
globs:
4+
alwaysApply: false
5+
---
6+
# Create a Checklist with all agile steps to use the Agile cursor rules
7+
8+
You are an expert in Agile methodologies and technical documentation. Your task is to create a comprehensive step-by-step guide that follows the exact format and structure defined in the embedded template below.
9+
10+
## Context
11+
You have access to a set of cursor rules that automate agile artifact creation. You need to create a structured guide that helps new users navigate through the entire agile development lifecycle from initial requirements to final solution review.
12+
13+
## Template Structure (Self-Contained)
14+
Create a markdown file named `AGILE-DEVELOPMENT-GUIDE.md` with the following exact structure: [agile-checklist-template.md](mdc:.cursor/rules/templates/agile-checklist-template.md)
15+
16+
## Instructions for AI
17+
1. **Follow the exact format** shown in the template above
18+
2. **Use the specific numbering system** (1.1, 1.2, etc.) as shown
19+
3. **Include all the bash commands exactly** as specified in the template
20+
4. **Maintain the checkbox structure** for progress tracking
21+
5. **Keep all notes and warnings** from the original PROMPTS.md format
22+
6. **Add the reference table and best practices** as shown in the template
23+
7. **Make it self-contained** - no external references needed
24+
25+
## Output Requirements
26+
- Generate the complete markdown file following the embedded template exactly
27+
- Include all sections: Prerequisites, Process Overview, Reference Table, Tips, Progress Tracking
28+
- Use proper markdown formatting with headers, code blocks, tables, and checklists
29+
- Ensure the guide is beginner-friendly but comprehensive
30+
- Make it portable to any repository without dependencies
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
description: Create agile epics
3+
globs:
4+
alwaysApply: false
5+
---
6+
# Create agile epics
7+
8+
This rule guides the AI to systematically gather information and generate a comprehensive epic definition in Markdown format. An epic represents a large body of work that can be broken down into smaller user stories, features, or tasks.
9+
10+
## Instructions for AI
11+
12+
When activated, you should guide the user through creating an agile epic by following these steps:
13+
14+
**Phase 0: Get Current Date**
15+
Before starting the epic creation process, get the current date from the computer using the terminal command `date` to ensure accurate timestamps in the epic document.
16+
17+
**Phase 1: Information Gathering**
18+
Acknowledge the request and inform the user that you need to ask some questions to create a well-structured epic. Then, ask the following questions, waiting for their input after each block:
19+
20+
**Epic Core Details:**
21+
1. Epic Title/ID: "What is a concise, descriptive title for this epic? Include an ID if you have one (e.g., 'EPIC-001: Customer Self-Service Portal')."
22+
2. Epic Owner: "Who is the epic owner or product owner responsible for this epic?"
23+
3. Business Value: "What is the primary business value or strategic goal this epic will deliver? Why is this epic important to the organization?"
24+
4. Target Users: "Who are the primary users or personas that will benefit from this epic? (e.g., 'customers', 'internal staff', 'administrators')"
25+
26+
**Epic Scope and Context:**
27+
5. Problem Statement: "What specific problem or opportunity does this epic address? What pain points will it solve?"
28+
6. Solution Overview: "Provide a high-level description of the proposed solution or approach."
29+
7. Success Criteria: "How will you measure the success of this epic? What are the key metrics or outcomes you expect?"
30+
8. Dependencies: "Are there any dependencies on other epics, systems, or external factors that could impact this epic?"
31+
32+
**Epic Breakdown:**
33+
9. Key Features/Components: "What are the main features, components, or capabilities that will be included in this epic? List 3-7 high-level items."
34+
35+
**Risks and Planning:**
36+
10. Risks and Assumptions: "What are the key risks, assumptions, or unknowns related to this epic?"
37+
38+
**Documentation and Linking:**
39+
11. Epic Filename: "What should be the filename for this epic document? (e.g., 'EPIC-001_Customer_Self_Service_Portal.md')"
40+
12. Related Documentation: "Are there any related documents, mockups, technical specifications, or other epics that should be referenced?"
41+
42+
**Phase 2: Epic Document Generation**
43+
Once all information is gathered, inform the user you will now generate the epic document. Use the current date obtained from the `date` command to replace the `[Current Date]` placeholders in the template. Then, provide the content using the template: [agile-epic-template.md](mdc:.cursor/rules/templates/agile-epic-template.md)
44+
45+
**Important Note on Date Handling:**
46+
- Always use the `date` terminal command to get the current system date
47+
- Format the date appropriately for documentation (e.g., "June 2, 2025" or "2025-06-02")
48+
- Replace all `[Current Date]` placeholders in the template with the actual current date
49+
- This ensures accurate timestamps for epic creation and last update fields
50+
51+
**Phase 3: Next Steps and Recommendations**
52+
After generating the content, provide these additional recommendations:
53+
54+
**Next Steps:**
55+
1. Review and refine the epic with stakeholders
56+
2. Break down the epic into specific user stories
57+
3. Estimate the user stories and plan sprints
58+
4. Create any necessary technical documentation
59+
5. Set up tracking and monitoring for success criteria
60+
61+
**Tips for Epic Management:**
62+
- Keep the epic focused on a single, cohesive business goal
63+
- Regularly review and update the epic as new information emerges
64+
- Ensure all user stories clearly contribute to the epic's success criteria
65+
- Monitor progress and adjust scope if needed to meet timeline constraints
66+
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
description: Create agile features from an epic
3+
globs:
4+
alwaysApply: false
5+
---
6+
# Create agile features from an epic
7+
8+
This rule helps me have a natural conversation with you to create detailed feature files based on an existing epic. I'll ask direct questions to gather the information I need, then generate comprehensive feature documentation.
9+
10+
## How I'll Help You
11+
12+
When you ask me to create features from an epic, here's how our conversation will flow:
13+
14+
**Phase 0: Get Current Date**
15+
I'll start by getting today's date from the system to ensure accurate timestamps in the feature documents.
16+
17+
**Phase 1: Epic Analysis and Information Gathering**
18+
I'll acknowledge your request and ask these direct questions:
19+
20+
**Epic File Analysis:**
21+
1. "Please provide the path to the epic file you'd like to base the features on, or paste the epic content if you prefer."
22+
2. "I've reviewed the epic '[Epic Title]'. This epic contains [summarize key components/features identified]. Is this the correct epic you want to work with?"
23+
24+
**Feature Scope Clarification:**
25+
3. "Based on the epic, I've identified [X] potential features: [list identified features]. Do you want to create feature files for all of these, or would you like to focus on specific ones? If specific ones, which features should I prioritize?"
26+
4. "For each feature, would you prefer a detailed technical feature specification or a higher-level feature overview? This will help me determine the appropriate level of detail."
27+
28+
**Feature Structure Preferences:**
29+
5. "Who is the primary audience for these feature files? (e.g., 'development team', 'product stakeholders', 'QA team', 'business analysts'). This will help tailor the content appropriately."
30+
6. "Should the feature files include technical implementation details, or focus more on functional requirements and user benefits?"
31+
32+
**File Organization:**
33+
7. "What naming convention would you prefer for the feature files? (e.g., 'FEAT-001_Feature_Name.md', 'feature_name.md', or something else)"
34+
8. "Where should these feature files be created relative to the epic file? (e.g., 'features/' subdirectory, same directory, or a specific path)"
35+
36+
**Feature Enhancement Questions:**
37+
For each identified feature, I'll ask:
38+
9. "Are there existing user stories that should be linked to '[Feature Name]', or should I suggest how this feature could be broken down into user stories?"
39+
10. "Does '[Feature Name]' have any specific dependencies on other features, systems, or external factors not mentioned in the epic?"
40+
11. "What specific success metrics or acceptance criteria should be defined for '[Feature Name]' beyond what's in the epic?"
41+
42+
**Additional Context (Optional):**
43+
12. "Are there any specific timeline constraints or release dependencies for any of these features?"
44+
13. "Are there any feature-specific risks or technical challenges that should be highlighted?"
45+
46+
**Phase 2: Feature File Generation**
47+
Once I have all the information, I'll inform you that I'm generating the feature files. I'll use today's date (obtained from the `date` command) to replace the `[Current Date]` placeholders in the template. For each feature, I'll provide content using this format:
48+
49+
**Content for Feature Markdown File: `[Feature Filename From Naming Convention]`**
50+
[agile-feature-template.md](mdc:.cursor/rules/templates/agile-feature-template.md)
51+
52+
**Important Note on Date Handling:**
53+
- I always use the `date` terminal command to get the current system date
54+
- I format the date appropriately for documentation (e.g., "June 2, 2025" or "2025-06-02")
55+
- I replace all `[Current Date]` placeholders in the template with the actual current date
56+
- This ensures accurate timestamps for feature creation and last update fields
57+
58+
**Next Steps and Recommendations**
59+
After generating all feature files, I'll provide these recommendations:
60+
61+
**Next Steps for Feature Development:**
62+
1. Review each feature file with relevant stakeholders
63+
2. Refine and prioritize features based on business value and dependencies
64+
3. Break down features into detailed user stories
65+
4. Create technical design documents for complex features
66+
5. Estimate effort and plan feature development roadmap
67+
6. Set up tracking and metrics collection for success criteria
68+
69+
**Feature Management Best Practices:**
70+
- Keep features focused on specific user outcomes
71+
- Regularly validate features against epic goals
72+
- Monitor feature dependencies and adjust plans as needed
73+
- Collect user feedback early and often during development
74+
- Update feature documentation as requirements evolve
75+
76+
**Integration with Epic:**
77+
- Ensure all features collectively deliver the epic's business value
78+
- Verify feature priorities align with epic success criteria
79+
- Check that feature timeline supports epic target release
80+
- Confirm feature dependencies don't create critical path issues
81+
82+
That's how we'll work together to turn your epic into a set of well-defined, actionable features!
83+
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
description: Create Agile User stories
3+
globs:
4+
alwaysApply: false
5+
---
6+
# Create Agile User stories
7+
8+
This rule guides the AI to first ask a series of targeted questions to gather all necessary details for a user story and its associated Gherkin acceptance criteria. After receiving the information, the AI will generate the content for a well-formed user story in Markdown format (linking to the Gherkin file) and a separate Gherkin `.feature` file containing the detailed acceptance criteria.
9+
10+
Instructions for the AI (Content of the Rule):
11+
12+
"When activated, you should guide the user through creating an agile user story and its corresponding Gherkin feature file by following these steps:
13+
14+
Phase 1: Information Gathering
15+
Acknowledge the request and inform the user that you need to ask some questions. Then, ask the following questions, waiting for their input after each block or as appropriate:
16+
17+
**User Story Core Details:**
18+
1. Title/ID: "What is a concise title or unique ID for this user story?"
19+
2. User Role (Persona): "Who is the primary user (persona) for this feature? (e.g., 'registered user', 'administrator', 'guest visitor')"
20+
3. Goal/Action: "What specific action does this user want to perform, or what goal do they want to accomplish with this feature?"
21+
4. Benefit/Value: "What is the main benefit or value the user will gain from this feature? Why is this important to them?"
22+
23+
**Gherkin Feature File Details:**
24+
5. Feature Name: "What is a descriptive name for the overall feature these scenarios will cover? (This will be the `Feature:` line in the Gherkin file, e.g., 'User Authentication Management')."
25+
6. (Optional) Background Steps: "Are there any common setup steps (Given steps) that apply to ALL or most of the scenarios for this feature? If so, please list them."
26+
27+
**Acceptance Criteria / Gherkin Scenarios:**
28+
Inform the user: "Now, let's detail the acceptance criteria with concrete examples. Each distinct scenario or rule will be translated into a Gherkin scenario. For each scenario, please provide a title, the 'Given' (context/preconditions), 'When' (action), and 'Then' (observable outcomes). Include specific data examples where applicable (e.g., input values, expected messages, JSON snippets)."
29+
30+
7. Scenario 1 (e.g., Main Success Path):
31+
* Scenario Title: "What's a brief title for this first scenario?"
32+
* Given: "What's the context or precondition(s)?"
33+
* When: "What specific action is performed?"
34+
* Then: "What are the observable outcome(s)?"
35+
* Data Examples: "Any specific data (inputs/outputs) for this scenario?"
36+
37+
8. Additional Scenarios:
38+
Ask: "Do you have another scenario to define (e.g., an alternative path, a boundary condition, an error case, or another rule)? (Yes/No)"
39+
If Yes, repeat the questions from step 7 (Scenario Title, Given, When, Then, Data Examples) for each new scenario. Continue until the user indicates 'No' more scenarios.
40+
41+
**File Naming and Linking:**
42+
9. User Story Filename: "What should be the filename for the Markdown user story (e.g., `US-001_Login_Functionality.md`)?"
43+
10. Gherkin Filename: "What should be the filename for the Gherkin feature file (e.g., `US-001_login_functionality.feature`)?"
44+
11. Relative Path for Linking: "What is the relative path from the user story Markdown file to the Gherkin feature file, so they can be linked correctly? (e.g., `../features/US-001_login_functionality.feature` or if in a 'features' subdirectory within the story's directory: `features/US-001_login_functionality.feature`)."
45+
46+
**Optional User Story Notes:**
47+
12. Additional Notes: "Are there any other relevant details for the user story Markdown file, such as links to mockups, specific technical constraints, or non-functional requirements?"
48+
49+
Phase 2: Artifact Content Generation
50+
Once all information is gathered, inform the user you will now generate the content for the two files. Then, provide the content for each file clearly separated:
51+
52+
**Content for User Story Markdown File: `[User Story Filename From Input]`**
53+
54+
[agile-user-story-template.md](mdc:.cursor/rules/templates/agile-user-story-template.md)
55+
56+
**Content for Gherkin Feature File: `[Gherkin Filename From Input]`**
57+
58+
[agile-gherkin-template.md](mdc:.cursor/rules/templates/agile-gherkin-template.md)
59+
60+
Ensure the Gherkin output for data examples is illustrative of how to use docstrings for JSON/XML or tables for structured data if the user provides complex examples.
61+

0 commit comments

Comments
 (0)