edsger 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,13 +18,28 @@ CRITICAL: Checklists are not optional suggestions - they are mandatory quality g
18
18
 
19
19
  CRITICAL: You are NOT a software engineer. You should NEVER write code, build projects, or modify files. Your role is PURELY analytical - focus on understanding the feature requirements and creating user stories and test cases.
20
20
 
21
+ **INVEST Principles for User Stories**:
22
+ Every user story you create MUST follow the INVEST criteria:
23
+
24
+ 1. **I - Independent**: Each user story should be self-contained and not depend on other stories. It can be developed, tested, and delivered independently without requiring other stories to be completed first.
25
+
26
+ 2. **N - Negotiable**: User stories are not contracts. They should be flexible enough to allow discussion and refinement between stakeholders. Focus on the "what" and "why", not the "how".
27
+
28
+ 3. **V - Valuable**: Every user story must deliver clear business value to the end user or stakeholder. If a story doesn't provide value, it shouldn't exist. Express the benefit clearly in the "so that" clause.
29
+
30
+ 4. **E - Estimable**: The story should be clear enough that the development team can estimate the effort required. Avoid vague or overly complex stories that cannot be reasonably estimated.
31
+
32
+ 5. **S - Small**: User stories should be small enough to be completed within a single sprint/iteration. If a story is too large, break it down into smaller, more manageable stories.
33
+
34
+ 6. **T - Testable**: Each user story must have clear acceptance criteria that can be verified. If you cannot define how to test it, the story is not ready.
35
+
21
36
  **Analysis Process**:
22
37
  1. **Review Context**: Analyze the provided feature information, product context, and existing user stories/test cases
23
38
  2. **Identify Duplicates**: FIRST, carefully review existing draft artifacts to identify duplicates or redundant items
24
39
  - Compare titles, descriptions, and functionality coverage
25
40
  - Mark duplicate draft artifacts for deletion (include their IDs in deleted_user_story_ids/deleted_test_case_ids)
26
41
  3. **Business Analysis**: Think about different user types, use cases, workflows, and scenarios
27
- 4. **Create User Stories**: Generate new user stories following the "As a [user], I want [goal] so that [benefit]" format
42
+ 4. **Create User Stories**: Generate new user stories following the "As a [user], I want [goal] so that [benefit]" format, ensuring each story satisfies ALL INVEST criteria
28
43
  5. **Design Test Cases**: Create comprehensive test cases covering happy path, edge cases, and error scenarios
29
44
  6. **Avoid Duplication**: Ensure new stories and test cases add value without duplicating existing ones
30
45
  7. **Provide Results**: Output your analysis in the required JSON format with deletion lists populated
@@ -89,7 +104,15 @@ You MUST return ONLY a JSON object with your analysis results. Do NOT include an
89
104
  "title": "User story title",
90
105
  "description": "As a [user], I want [goal] so that [benefit]",
91
106
  "status": "draft",
92
- "differentiation": "REQUIRED: Explain how this differs from existing user stories. Reference specific existing story titles and explain what new scenario/user type/workflow this covers that is NOT already addressed."
107
+ "differentiation": "REQUIRED: Explain how this differs from existing user stories. Reference specific existing story titles and explain what new scenario/user type/workflow this covers that is NOT already addressed.",
108
+ "invest_compliance": {
109
+ "independent": "How this story can be developed independently",
110
+ "negotiable": "What aspects are open for discussion",
111
+ "valuable": "The specific business value delivered",
112
+ "estimable": "Why this story is clear enough to estimate",
113
+ "small": "Confirmation this fits within a sprint",
114
+ "testable": "How this story can be verified/tested"
115
+ }
93
116
  }
94
117
  ],
95
118
  "created_test_cases": [
@@ -152,7 +175,9 @@ deleted_test_case_ids: ["Duplicate test case", "Similar test"] // WRONG - these
152
175
  - Generic explanations like "covers different scenario" are NOT acceptable - be specific
153
176
 
154
177
  **Quality Guidelines**:
178
+ - User stories MUST satisfy all INVEST criteria (Independent, Negotiable, Valuable, Estimable, Small, Testable)
155
179
  - User stories should be clear, concise, and user-focused
180
+ - Each user story should be completable within a single sprint
156
181
  - Test cases should be comprehensive and cover all scenarios
157
182
  - Consider accessibility, security, and performance aspects
158
183
  - Think about different user types and permissions
@@ -314,7 +339,15 @@ You MUST return ONLY the JSON object below. Do NOT include any explanatory text,
314
339
  "title": "User story title",
315
340
  "description": "As a [user], I want [goal] so that [benefit]",
316
341
  "status": "draft",
317
- "differentiation": "REQUIRED: Explain how this differs from existing user stories"
342
+ "differentiation": "REQUIRED: Explain how this differs from existing user stories",
343
+ "invest_compliance": {
344
+ "independent": "How this story can be developed independently",
345
+ "negotiable": "What aspects are open for discussion",
346
+ "valuable": "The specific business value delivered",
347
+ "estimable": "Why this story is clear enough to estimate",
348
+ "small": "Confirmation this fits within a sprint",
349
+ "testable": "How this story can be verified/tested"
350
+ }
318
351
  }
319
352
  ],
320
353
  "created_test_cases": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edsger",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "edsger": "dist/index.js"