jettypod 3.0.1 → 3.0.2
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.
|
@@ -186,13 +186,16 @@ Scenario: User successfully logs in with valid credentials
|
|
|
186
186
|
|
|
187
187
|
### Step 7: Propose Speed Mode Chores
|
|
188
188
|
|
|
189
|
-
**CRITICAL:** After generating BDD scenarios, analyze the codebase and propose technical implementation chores.
|
|
189
|
+
**CRITICAL:** After generating BDD scenarios, analyze the codebase and propose technical implementation chores with rich breadcrumbs for speed mode execution.
|
|
190
190
|
|
|
191
191
|
**Your analysis should consider:**
|
|
192
192
|
- The BDD scenarios (especially the happy path)
|
|
193
193
|
- Existing codebase structure and patterns
|
|
194
194
|
- Epic's architectural decisions (if any)
|
|
195
195
|
- Tech stack and framework conventions
|
|
196
|
+
- Which scenario steps each chore addresses
|
|
197
|
+
- Similar code patterns to follow
|
|
198
|
+
- Specific step definitions that should pass
|
|
196
199
|
|
|
197
200
|
**Say to the user:**
|
|
198
201
|
|
|
@@ -205,11 +208,25 @@ Based on the scenario and codebase, here are the chores I recommend for speed mo
|
|
|
205
208
|
|
|
206
209
|
**Chore 1: [Technical task title]**
|
|
207
210
|
- Why: [What this accomplishes toward the scenario]
|
|
208
|
-
-
|
|
211
|
+
- Scenario steps addressed:
|
|
212
|
+
• [Which Given/When/Then steps this chore makes work]
|
|
213
|
+
- Implementation guidance:
|
|
214
|
+
• Files to create/modify: [specific paths]
|
|
215
|
+
• Patterns to follow: [reference existing similar code]
|
|
216
|
+
• Key functions/components needed: [list]
|
|
217
|
+
- Verification:
|
|
218
|
+
• Step definitions that should pass: [specific steps from .steps.js]
|
|
209
219
|
|
|
210
220
|
**Chore 2: [Technical task title]**
|
|
211
221
|
- Why: [What this accomplishes]
|
|
212
|
-
-
|
|
222
|
+
- Scenario steps addressed:
|
|
223
|
+
• [Which steps]
|
|
224
|
+
- Implementation guidance:
|
|
225
|
+
• Files to create/modify: [paths]
|
|
226
|
+
• Patterns to follow: [references]
|
|
227
|
+
• Key functions/components needed: [list]
|
|
228
|
+
- Verification:
|
|
229
|
+
• Step definitions that should pass: [steps]
|
|
213
230
|
|
|
214
231
|
[etc.]
|
|
215
232
|
|
|
@@ -220,20 +237,58 @@ Sound good? Any adjustments?
|
|
|
220
237
|
|
|
221
238
|
**Wait for user confirmation/adjustments.**
|
|
222
239
|
|
|
223
|
-
**Then create the chores:**
|
|
240
|
+
**Then create the chores with rich descriptions:**
|
|
224
241
|
|
|
225
242
|
```javascript
|
|
226
243
|
// For each confirmed chore:
|
|
227
244
|
const { create } = require('./features/work-tracking');
|
|
228
245
|
|
|
229
|
-
|
|
246
|
+
const description = `[Technical description]
|
|
247
|
+
|
|
248
|
+
Scenario steps addressed:
|
|
249
|
+
• [Which Given/When/Then steps this chore makes work]
|
|
250
|
+
|
|
251
|
+
Implementation guidance:
|
|
252
|
+
• Files to create/modify: [specific paths]
|
|
253
|
+
• Patterns to follow: [reference existing similar code]
|
|
254
|
+
• Key functions/components needed: [list]
|
|
255
|
+
|
|
256
|
+
Verification:
|
|
257
|
+
• Step definitions that should pass: [specific steps from .steps.js file]`;
|
|
258
|
+
|
|
259
|
+
await create('chore', 'Chore Title', description, featureId, 'speed', false);
|
|
230
260
|
// Repeat for each chore
|
|
231
261
|
```
|
|
232
262
|
|
|
263
|
+
**Example chore description:**
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
Build login form component with email/password fields
|
|
267
|
+
|
|
268
|
+
Scenario steps addressed:
|
|
269
|
+
• Given I am on the login page
|
|
270
|
+
• When I enter valid credentials and submit
|
|
271
|
+
|
|
272
|
+
Implementation guidance:
|
|
273
|
+
• Create: src/components/LoginForm.jsx
|
|
274
|
+
• Follow pattern: src/components/SignupForm.jsx (similar form structure)
|
|
275
|
+
• Key components: EmailInput, PasswordInput, SubmitButton
|
|
276
|
+
• Key functions: handleSubmit(), validateEmailFormat()
|
|
277
|
+
|
|
278
|
+
Verification:
|
|
279
|
+
• features/step_definitions/login.steps.js - 'I am on the login page' should pass
|
|
280
|
+
• features/step_definitions/login.steps.js - 'I enter valid credentials and submit' should pass
|
|
281
|
+
```
|
|
282
|
+
|
|
233
283
|
**Report:**
|
|
234
284
|
```
|
|
235
285
|
✅ Created X chores for speed mode
|
|
236
286
|
|
|
287
|
+
Each chore includes:
|
|
288
|
+
• Scenario steps it addresses
|
|
289
|
+
• Implementation guidance with file paths and patterns
|
|
290
|
+
• Step definitions to verify against
|
|
291
|
+
|
|
237
292
|
Ready to start implementation: jettypod work start [first-chore-id]
|
|
238
293
|
```
|
|
239
294
|
|
|
@@ -29,17 +29,18 @@ When this skill is activated, you are helping implement a speed mode chore to ma
|
|
|
29
29
|
|
|
30
30
|
## Implementation Steps
|
|
31
31
|
|
|
32
|
-
### Step 1:
|
|
32
|
+
### Step 1: Check for Breadcrumbs and Analyze Scenario
|
|
33
33
|
|
|
34
34
|
**CRITICAL:** Claude Code executes this autonomously - no user permission needed.
|
|
35
35
|
|
|
36
36
|
**Your task:**
|
|
37
|
-
1. Get the current work item
|
|
38
|
-
2.
|
|
39
|
-
3.
|
|
40
|
-
4.
|
|
37
|
+
1. Get the current work item and read its description for breadcrumbs
|
|
38
|
+
2. If breadcrumbs exist (Scenario steps addressed, Implementation guidance, Verification), use them
|
|
39
|
+
3. If no breadcrumbs, fall back to full autonomous analysis
|
|
40
|
+
4. Read the parent feature's scenario file
|
|
41
|
+
5. Parse the Gherkin and identify what needs to be implemented
|
|
41
42
|
|
|
42
|
-
**Code to
|
|
43
|
+
**Code to check for breadcrumbs:**
|
|
43
44
|
|
|
44
45
|
```javascript
|
|
45
46
|
const { getCurrentWork } = require('../../lib/current-work');
|
|
@@ -49,6 +50,12 @@ const path = require('path');
|
|
|
49
50
|
|
|
50
51
|
const currentWork = getCurrentWork();
|
|
51
52
|
|
|
53
|
+
// Check if description has breadcrumbs from feature-discover
|
|
54
|
+
const hasBreadcrumbs = currentWork.description &&
|
|
55
|
+
currentWork.description.includes('Scenario steps addressed:') &&
|
|
56
|
+
currentWork.description.includes('Implementation guidance:') &&
|
|
57
|
+
currentWork.description.includes('Verification:');
|
|
58
|
+
|
|
52
59
|
// Get parent feature
|
|
53
60
|
const db = getDb();
|
|
54
61
|
db.get('SELECT * FROM work_items WHERE id = ?', [currentWork.parent_id], (err, feature) => {
|
|
@@ -73,7 +80,24 @@ db.get('SELECT * FROM work_items WHERE id = ?', [currentWork.parent_id], (err, f
|
|
|
73
80
|
- Expected outcomes (Then)
|
|
74
81
|
- Observable changes (And)
|
|
75
82
|
|
|
76
|
-
**Display to user:**
|
|
83
|
+
**Display to user (with breadcrumbs):**
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
🚀 Speed Mode: [Chore Title]
|
|
87
|
+
|
|
88
|
+
Scenario steps addressed:
|
|
89
|
+
[Steps from breadcrumbs]
|
|
90
|
+
|
|
91
|
+
Implementation guidance:
|
|
92
|
+
[Files, patterns, functions from breadcrumbs]
|
|
93
|
+
|
|
94
|
+
Verification:
|
|
95
|
+
[Step definitions from breadcrumbs]
|
|
96
|
+
|
|
97
|
+
Now analyzing codebase to finalize implementation approach...
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Display to user (without breadcrumbs):**
|
|
77
101
|
|
|
78
102
|
```
|
|
79
103
|
🚀 Speed Mode: [Feature Name]
|
|
@@ -98,9 +122,10 @@ Now analyzing codebase to propose implementation...
|
|
|
98
122
|
|
|
99
123
|
**Your task:**
|
|
100
124
|
1. Check for epic architectural decisions
|
|
101
|
-
2.
|
|
102
|
-
3.
|
|
103
|
-
4.
|
|
125
|
+
2. Use breadcrumbs if available, otherwise discover patterns
|
|
126
|
+
3. Verify/find relevant existing files
|
|
127
|
+
4. Understand code patterns and conventions
|
|
128
|
+
5. Identify where new code should be added
|
|
104
129
|
|
|
105
130
|
**Check for architectural decisions:**
|
|
106
131
|
|
|
@@ -116,7 +141,14 @@ db.get('SELECT epic_id FROM work_items WHERE id = ?', [currentWork.parent_id], a
|
|
|
116
141
|
});
|
|
117
142
|
```
|
|
118
143
|
|
|
119
|
-
**
|
|
144
|
+
**If breadcrumbs exist (from feature-discover):**
|
|
145
|
+
- Parse "Files to create/modify" section - these are your target files
|
|
146
|
+
- Parse "Patterns to follow" section - read these reference files first
|
|
147
|
+
- Parse "Key functions/components needed" - these guide your implementation
|
|
148
|
+
- Verify reference files exist and read them to understand patterns
|
|
149
|
+
- Confirm target file locations make sense in project structure
|
|
150
|
+
|
|
151
|
+
**If no breadcrumbs (autonomous discovery):**
|
|
120
152
|
- Use Glob tool to find files matching patterns from scenario
|
|
121
153
|
- Example: Scenario mentions "login" → search for `**/*login*.js`, `**/*auth*.js`
|
|
122
154
|
- Use Grep tool to search for keywords from scenario
|