specsmd 0.0.34 → 0.1.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.
- package/README.md +1 -1
- package/flows/aidlc/agents/inception-agent.md +4 -2
- package/flows/aidlc/context-config.yaml +28 -2
- package/flows/aidlc/memory-bank.yaml +7 -7
- package/flows/aidlc/skills/construction/bolt-start.md +133 -8
- package/flows/aidlc/skills/inception/bolt-plan.md +1 -1
- package/flows/aidlc/skills/master/analyze-context.md +107 -0
- package/flows/aidlc/skills/master/explain-flow.md +13 -1
- package/flows/aidlc/templates/construction/bolt-template.md +13 -1
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +90 -21
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -162,7 +162,7 @@ The smallest iteration in AI-DLC, designed for rapid implementation. Unlike Spri
|
|
|
162
162
|
| Type | Best For | Stages |
|
|
163
163
|
|------|----------|--------|
|
|
164
164
|
| **DDD Construction** | Complex business logic, domain modeling | Model → Design → ADR → Implement → Test |
|
|
165
|
-
| **Simple Construction** | UI, integrations, utilities |
|
|
165
|
+
| **Simple Construction** | UI, integrations, utilities | Plan → Implement → Test |
|
|
166
166
|
|
|
167
167
|
### Memory Bank
|
|
168
168
|
File-based storage for all project artifacts. Maintains context across agent sessions and provides traceability between artifacts.
|
|
@@ -17,8 +17,10 @@ You are the **Inception Agent** for AI-DLC (AI-Driven Development Life Cycle).
|
|
|
17
17
|
When user invokes `/specsmd-inception-agent`:
|
|
18
18
|
|
|
19
19
|
1. Read `.specsmd/aidlc/memory-bank.yaml` for artifact schema
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
20
|
+
2. Read `.specsmd/aidlc/context-config.yaml` for project context (under `agents.inception`)
|
|
21
|
+
3. Load context files as defined (e.g., `project.yaml` for project type awareness)
|
|
22
|
+
4. Execute `menu` (navigator) skill to show state and options
|
|
23
|
+
5. Route to selected skill based on user input
|
|
22
24
|
|
|
23
25
|
---
|
|
24
26
|
|
|
@@ -37,5 +37,31 @@ agents:
|
|
|
37
37
|
|
|
38
38
|
Or continue without standards (code may be inconsistent).
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
inception:
|
|
41
|
+
description: "Inception Agent needs project type awareness for unit decomposition"
|
|
42
|
+
required_context:
|
|
43
|
+
- path: project.yaml
|
|
44
|
+
purpose: "Project type for unit decomposition and bolt type defaults"
|
|
45
|
+
critical: false
|
|
46
|
+
|
|
47
|
+
optional_context:
|
|
48
|
+
- path: standards/tech-stack.md
|
|
49
|
+
purpose: "Technology context for realistic decomposition"
|
|
50
|
+
|
|
51
|
+
on_missing_critical:
|
|
52
|
+
action: continue
|
|
53
|
+
message: |
|
|
54
|
+
ℹ️ Project not initialized yet.
|
|
55
|
+
|
|
56
|
+
The project.yaml file will be created during project-init.
|
|
57
|
+
Inception can proceed without it (will use defaults).
|
|
58
|
+
|
|
59
|
+
operations:
|
|
60
|
+
description: "Operations Agent requires deployment context"
|
|
61
|
+
required_context: []
|
|
62
|
+
optional_context:
|
|
63
|
+
- path: standards/system-architecture.md
|
|
64
|
+
purpose: "Architecture for deployment decisions"
|
|
65
|
+
|
|
66
|
+
- path: operations/deployment-config.md
|
|
67
|
+
purpose: "Existing deployment configuration"
|
|
@@ -50,20 +50,20 @@ naming:
|
|
|
50
50
|
note: "3-digit prefix indicates order, kebab-case name"
|
|
51
51
|
|
|
52
52
|
units:
|
|
53
|
-
format: "{unit-name}"
|
|
54
|
-
example: "auth-service"
|
|
55
|
-
note: "
|
|
53
|
+
format: "{UUU}-{unit-name}"
|
|
54
|
+
example: "001-auth-service"
|
|
55
|
+
note: "3-digit prefix within intent, kebab-case name"
|
|
56
56
|
|
|
57
57
|
stories:
|
|
58
58
|
format: "{SSS}-{title-slug}.md"
|
|
59
59
|
example: "001-user-signup.md"
|
|
60
60
|
note: "3-digit story number + kebab-case story title"
|
|
61
|
-
full_path_example: "memory-bank/intents/001-user-authentication/units/auth-service/stories/001-user-signup.md"
|
|
61
|
+
full_path_example: "memory-bank/intents/001-user-authentication/units/001-auth-service/stories/001-user-signup.md"
|
|
62
62
|
|
|
63
63
|
bolts:
|
|
64
|
-
format: "
|
|
65
|
-
example: "
|
|
66
|
-
note: "
|
|
64
|
+
format: "{BBB}-{unit-name}/"
|
|
65
|
+
example: "001-auth-service/"
|
|
66
|
+
note: "Global 3-digit sequence, unit name for context"
|
|
67
67
|
contents:
|
|
68
68
|
- "bolt.md" # Bolt instance metadata
|
|
69
69
|
- "ddd-01-domain-model.md" # Stage 1 artifact (DDD bolt)
|
|
@@ -61,7 +61,21 @@ Read bolt file from path defined by `schema.bolts`:
|
|
|
61
61
|
└────────────────────────────────────────────────────────────┘
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
### 3. Load
|
|
64
|
+
### 3. Load Unit Context (CRITICAL)
|
|
65
|
+
|
|
66
|
+
**After extracting the unit from the bolt file, load its brief for context.**
|
|
67
|
+
|
|
68
|
+
Load `{intent}/units/{unit}/unit-brief.md` which contains:
|
|
69
|
+
|
|
70
|
+
- **Purpose and scope**: What the unit is responsible for
|
|
71
|
+
- **Key entities**: Domain concepts to work with
|
|
72
|
+
- **Technical constraints**: Specific limitations
|
|
73
|
+
- **Dependencies**: Other units this depends on
|
|
74
|
+
- **Unit type and bolt type**: Frontend vs backend, DDD vs simple
|
|
75
|
+
|
|
76
|
+
This context is essential for understanding what you're building.
|
|
77
|
+
|
|
78
|
+
### 4. Load Agent Context
|
|
65
79
|
|
|
66
80
|
Load context as defined in `.specsmd/aidlc/context-config.yaml` for the `construction` agent:
|
|
67
81
|
|
|
@@ -81,16 +95,38 @@ agents:
|
|
|
81
95
|
|
|
82
96
|
**Note**: This is agent-level context. Bolt-type-specific context loading may be added later.
|
|
83
97
|
|
|
84
|
-
###
|
|
98
|
+
### 5. Determine Current Stage
|
|
85
99
|
|
|
86
100
|
Based on bolt state:
|
|
87
101
|
|
|
88
|
-
- **planned** → Start with first stage,
|
|
102
|
+
- **planned** → Start with first stage, update bolt file immediately (see Step 6)
|
|
89
103
|
- **in-progress** → Continue from `current_stage`
|
|
90
104
|
- **completed** → Inform user bolt is done
|
|
91
105
|
- **blocked** → Show blocker, ask how to resolve
|
|
92
106
|
|
|
93
|
-
###
|
|
107
|
+
### 6. Update Bolt File on Start (CRITICAL - DO FIRST)
|
|
108
|
+
|
|
109
|
+
**⚠️ BEFORE any stage work begins, update the bolt file IMMEDIATELY.**
|
|
110
|
+
|
|
111
|
+
When transitioning from `planned` to `in-progress`:
|
|
112
|
+
|
|
113
|
+
```yaml
|
|
114
|
+
---
|
|
115
|
+
status: in-progress # was: planned
|
|
116
|
+
started: {ISO-8601-timestamp} # was: null
|
|
117
|
+
current_stage: {first-stage} # was: null (e.g., "domain-model")
|
|
118
|
+
---
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**This is NON-NEGOTIABLE.** The bolt file must reflect that work has begun before any stage activities start. This ensures:
|
|
122
|
+
|
|
123
|
+
1. Progress is tracked even if execution is interrupted
|
|
124
|
+
2. Other tools/agents see accurate status
|
|
125
|
+
3. Resumption works correctly
|
|
126
|
+
|
|
127
|
+
**Also update construction log** (see "Update Construction Log" section below).
|
|
128
|
+
|
|
129
|
+
### 7. Execute Stage
|
|
94
130
|
|
|
95
131
|
For the current stage, follow the bolt type definition:
|
|
96
132
|
|
|
@@ -122,7 +158,7 @@ For the current stage, follow the bolt type definition:
|
|
|
122
158
|
- Use templates if specified by bolt type
|
|
123
159
|
- Place in correct paths per schema
|
|
124
160
|
|
|
125
|
-
###
|
|
161
|
+
### 8. Handle Checkpoints (As Defined by Bolt Type)
|
|
126
162
|
|
|
127
163
|
The bolt type definition specifies:
|
|
128
164
|
|
|
@@ -146,9 +182,9 @@ Ready to proceed?
|
|
|
146
182
|
|
|
147
183
|
If the bolt type specifies automatic validation criteria, follow those rules.
|
|
148
184
|
|
|
149
|
-
###
|
|
185
|
+
### 9. Update Bolt File on Stage Completion
|
|
150
186
|
|
|
151
|
-
After stage completion:
|
|
187
|
+
After each stage completion:
|
|
152
188
|
|
|
153
189
|
- Add stage to `stages_completed` with timestamp
|
|
154
190
|
- Update `current_stage` to next stage
|
|
@@ -171,7 +207,96 @@ stages_completed:
|
|
|
171
207
|
completed: {timestamp}
|
|
172
208
|
```
|
|
173
209
|
|
|
174
|
-
|
|
210
|
+
#### Update Story Status (On Bolt Completion)
|
|
211
|
+
|
|
212
|
+
When marking a bolt as `status: complete`, update all stories in the bolt's `stories` array:
|
|
213
|
+
|
|
214
|
+
1. **Read bolt's stories**: Get story IDs from bolt frontmatter `stories: [001-story-name, 002-story-name, ...]`
|
|
215
|
+
2. **Locate story files**: `{intent}/units/{unit}/stories/{story-id}.md`
|
|
216
|
+
3. **Update each story frontmatter**:
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
# Change from
|
|
220
|
+
status: draft
|
|
221
|
+
implemented: false
|
|
222
|
+
|
|
223
|
+
# To
|
|
224
|
+
status: complete
|
|
225
|
+
implemented: true
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Example**:
|
|
229
|
+
|
|
230
|
+
```text
|
|
231
|
+
Bolt stories: [001-create-role, 002-manage-permissions, 003-view-roles]
|
|
232
|
+
|
|
233
|
+
Updated:
|
|
234
|
+
✅ stories/001-create-role.md → status: complete, implemented: true
|
|
235
|
+
✅ stories/002-manage-permissions.md → status: complete, implemented: true
|
|
236
|
+
✅ stories/003-view-roles.md → status: complete, implemented: true
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
This ensures the memory-bank reflects actual implementation status and the VS Code extension shows correct completion indicators.
|
|
240
|
+
|
|
241
|
+
#### Update Unit & Intent Status (Status Cascade)
|
|
242
|
+
|
|
243
|
+
Status changes cascade upward: Bolt → Story → Unit → Intent.
|
|
244
|
+
|
|
245
|
+
**On Bolt Start** (when changing from `planned` to `in-progress`):
|
|
246
|
+
|
|
247
|
+
1. **Update Unit Status**:
|
|
248
|
+
- Read unit-brief: `{intent}/units/{unit}/unit-brief.md`
|
|
249
|
+
- If unit status is `stories-defined` or `stories-updated` → change to `in-progress`
|
|
250
|
+
|
|
251
|
+
2. **Update Intent Status**:
|
|
252
|
+
- Read requirements: `{intent}/requirements.md`
|
|
253
|
+
- If intent status is `units-defined` → change to `construction`
|
|
254
|
+
|
|
255
|
+
**On Bolt Completion** (after updating stories):
|
|
256
|
+
|
|
257
|
+
1. **Check Unit Completion**:
|
|
258
|
+
- Find all bolts for this unit: `memory-bank/bolts/bolt-{unit}-*/bolt.md`
|
|
259
|
+
- If ALL bolts have `status: complete` → update unit-brief to `status: complete`
|
|
260
|
+
|
|
261
|
+
2. **Check Intent Completion**:
|
|
262
|
+
- Read unit-briefs for all units in intent: `{intent}/units/*/unit-brief.md`
|
|
263
|
+
- If ALL units have `status: complete` → update requirements to `status: complete`
|
|
264
|
+
|
|
265
|
+
**Status Transitions**:
|
|
266
|
+
|
|
267
|
+
```text
|
|
268
|
+
Intent: draft → requirements-defined → units-defined → construction → complete
|
|
269
|
+
Unit: draft → stories-defined → in-progress → complete
|
|
270
|
+
Story: draft → in-progress → complete
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Example** (bolt-artifact-parser-1 completes):
|
|
274
|
+
|
|
275
|
+
```text
|
|
276
|
+
1. Stories updated: 001, 002, 003, 004 → complete
|
|
277
|
+
2. Check unit bolts:
|
|
278
|
+
- bolt-artifact-parser-1: complete ✓
|
|
279
|
+
- bolt-artifact-parser-2: planned ✗
|
|
280
|
+
→ Unit stays in-progress (not all bolts complete)
|
|
281
|
+
3. Intent stays construction (unit not complete)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Example** (last bolt for file-watcher completes):
|
|
285
|
+
|
|
286
|
+
```text
|
|
287
|
+
1. Stories updated: 001, 002 → complete
|
|
288
|
+
2. Check unit bolts:
|
|
289
|
+
- bolt-file-watcher-1: complete ✓
|
|
290
|
+
→ Only bolt for unit, all complete!
|
|
291
|
+
→ Update unit-brief: status: complete
|
|
292
|
+
3. Check intent units:
|
|
293
|
+
- artifact-parser: in-progress ✗
|
|
294
|
+
- file-watcher: complete ✓
|
|
295
|
+
- sidebar-provider: in-progress ✗
|
|
296
|
+
→ Intent stays construction (not all units complete)
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### 10. Continue or Complete
|
|
175
300
|
|
|
176
301
|
Based on condition:
|
|
177
302
|
|
|
@@ -212,7 +212,7 @@ Establish execution order based on dependencies:
|
|
|
212
212
|
└── {stage-artifacts} ← Created during construction (varies by bolt type)
|
|
213
213
|
```
|
|
214
214
|
|
|
215
|
-
*Note: Artifact names depend on bolt type (e.g., DDD bolts create `ddd-01-domain-model.md`, simple bolts create `
|
|
215
|
+
*Note: Artifact names depend on bolt type (e.g., DDD bolts create `ddd-01-domain-model.md`, simple bolts create `implementation-plan.md`).*
|
|
216
216
|
|
|
217
217
|
3. **Bolt File Structure** (CRITICAL: Include all dependencies in frontmatter):
|
|
218
218
|
|
|
@@ -70,6 +70,106 @@ Based on evidence found:
|
|
|
70
70
|
- **All bolts completed** → Ready for Operations → Deploy unit
|
|
71
71
|
- **Deployed to production** → Operations → Monitor and maintain
|
|
72
72
|
|
|
73
|
+
### 6. Validate Status Integrity
|
|
74
|
+
|
|
75
|
+
Check for status inconsistencies across the artifact hierarchy. Status must cascade correctly:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
Bolt complete → Stories complete → Unit complete (if all bolts done) → Intent complete (if all units done)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### 6.1 Story Status Check
|
|
82
|
+
|
|
83
|
+
For each completed bolt:
|
|
84
|
+
|
|
85
|
+
- Read bolt's `stories` array
|
|
86
|
+
- Check each story file's `status` field
|
|
87
|
+
- **Inconsistency**: Bolt complete but story has `status: draft` or `status: in-progress`
|
|
88
|
+
|
|
89
|
+
#### 6.2 Unit Status Check
|
|
90
|
+
|
|
91
|
+
For each unit:
|
|
92
|
+
|
|
93
|
+
- Find all bolts for unit: `memory-bank/bolts/bolt-{unit}-*/bolt.md`
|
|
94
|
+
- Determine expected status:
|
|
95
|
+
- If ANY bolt `in-progress` → unit should be `in-progress`
|
|
96
|
+
- If ALL bolts `complete` → unit should be `complete`
|
|
97
|
+
- If ALL bolts `planned` and at least one story defined → unit should be `stories-defined`
|
|
98
|
+
- If NO bolts exist but stories exist → unit should be `stories-defined`
|
|
99
|
+
- **Inconsistency**: Unit status doesn't match expected based on bolt states
|
|
100
|
+
|
|
101
|
+
#### 6.3 Intent Status Check
|
|
102
|
+
|
|
103
|
+
For each intent:
|
|
104
|
+
|
|
105
|
+
- Read all unit-briefs: `{intent}/units/*/unit-brief.md`
|
|
106
|
+
- Determine expected status:
|
|
107
|
+
- If ANY unit `in-progress` → intent should be `construction`
|
|
108
|
+
- If ALL units `complete` → intent should be `complete`
|
|
109
|
+
- If units defined but none started → intent should be `units-defined`
|
|
110
|
+
- **Inconsistency**: Intent status doesn't match expected based on unit states
|
|
111
|
+
|
|
112
|
+
#### 6.4 Report Inconsistencies
|
|
113
|
+
|
|
114
|
+
If inconsistencies found, report them:
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## ⚠️ Status Inconsistencies Detected
|
|
118
|
+
|
|
119
|
+
| Artifact | Current Status | Expected Status | Reason |
|
|
120
|
+
|----------|----------------|-----------------|--------|
|
|
121
|
+
| unit-brief: file-watcher | draft | complete | All bolts complete |
|
|
122
|
+
| requirements: 011-vscode-extension | units-defined | construction | Has in-progress units |
|
|
123
|
+
|
|
124
|
+
### Actions
|
|
125
|
+
1 - **fix**: Update all statuses to expected values
|
|
126
|
+
2 - **skip**: Continue without fixing
|
|
127
|
+
3 - **review**: Show details for each inconsistency
|
|
128
|
+
|
|
129
|
+
**Type 1 to fix inconsistencies, or 2 to skip.**
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### 6.5 Auto-Fix (On User Confirmation)
|
|
133
|
+
|
|
134
|
+
If user confirms fix:
|
|
135
|
+
|
|
136
|
+
- Update each artifact's frontmatter `status` field
|
|
137
|
+
- Update `updated` timestamp to current date
|
|
138
|
+
- Log changes to `memory-bank/maintenance-log.md`
|
|
139
|
+
- Report changes made
|
|
140
|
+
|
|
141
|
+
#### 6.6 Log to Maintenance Log
|
|
142
|
+
|
|
143
|
+
Append entry to `memory-bank/maintenance-log.md` (create if doesn't exist):
|
|
144
|
+
|
|
145
|
+
```markdown
|
|
146
|
+
## {ISO-8601-timestamp} - Status Sync
|
|
147
|
+
|
|
148
|
+
**Triggered by**: analyze-context integrity check
|
|
149
|
+
|
|
150
|
+
| Artifact | Old Status | New Status | Reason |
|
|
151
|
+
|----------|------------|------------|--------|
|
|
152
|
+
| {path} | {old} | {new} | {reason} |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Example**:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
## 2025-12-26T15:30:00Z - Status Sync
|
|
161
|
+
|
|
162
|
+
**Triggered by**: analyze-context integrity check
|
|
163
|
+
|
|
164
|
+
| Artifact | Old Status | New Status | Reason |
|
|
165
|
+
|----------|------------|------------|--------|
|
|
166
|
+
| 011-vscode-extension/units/file-watcher/unit-brief.md | draft | complete | All bolts complete (1/1) |
|
|
167
|
+
| 011-vscode-extension/units/extension-core/unit-brief.md | draft | complete | All bolts complete (1/1) |
|
|
168
|
+
| 011-vscode-extension/requirements.md | units-defined | construction | Has in-progress units |
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
```
|
|
172
|
+
|
|
73
173
|
---
|
|
74
174
|
|
|
75
175
|
## Output
|
|
@@ -91,14 +191,21 @@ Provide a structured analysis:
|
|
|
91
191
|
- Stories found: {count} for {unit}
|
|
92
192
|
- Bolts found: {count} ({status breakdown})
|
|
93
193
|
|
|
194
|
+
### Status Integrity
|
|
195
|
+
- ✅ All statuses consistent (or)
|
|
196
|
+
- ⚠️ {N} inconsistencies found (see details below)
|
|
197
|
+
|
|
94
198
|
### Current State Details
|
|
95
199
|
{Specific details about what exists and what's missing}
|
|
96
200
|
|
|
201
|
+
{If inconsistencies found, include the inconsistency table here}
|
|
202
|
+
|
|
97
203
|
### Actions
|
|
98
204
|
|
|
99
205
|
1 - **proceed**: Execute suggested action
|
|
100
206
|
2 - **explain**: Learn more about current phase
|
|
101
207
|
3 - **different**: Work on something else
|
|
208
|
+
{If inconsistencies: 4 - **fix**: Fix status inconsistencies}
|
|
102
209
|
|
|
103
210
|
### Suggested Next Step
|
|
104
211
|
→ **proceed** - {Specific command to run}
|
|
@@ -41,11 +41,23 @@ AI-DLC is a reimagined development methodology where AI drives the workflow and
|
|
|
41
41
|
- Output: Complete implementation plan
|
|
42
42
|
|
|
43
43
|
2. **Construction** → Building & Testing
|
|
44
|
-
- Execute bolts through their stages
|
|
44
|
+
- Execute bolts through their stages (stages vary by bolt type)
|
|
45
45
|
- AI generates designs, code, and tests
|
|
46
46
|
- Human validates at each stage
|
|
47
47
|
- Output: Tested, working code
|
|
48
48
|
|
|
49
|
+
**DDD Bolt** (for domain-heavy business logic):
|
|
50
|
+
- Stage 1: Domain Model → AI models entities, aggregates, events
|
|
51
|
+
- Stage 2: Technical Design → AI architects layers, APIs, data
|
|
52
|
+
- Stage 3: ADR Analysis → Capture architectural decisions (optional)
|
|
53
|
+
- Stage 4: Implement → AI generates code from designs
|
|
54
|
+
- Stage 5: Test → AI writes and runs tests
|
|
55
|
+
|
|
56
|
+
**Simple Bolt** (for straightforward tasks):
|
|
57
|
+
- Stage 1: Plan → Define what to build
|
|
58
|
+
- Stage 2: Implement → AI generates code
|
|
59
|
+
- Stage 3: Test → AI writes and runs tests
|
|
60
|
+
|
|
49
61
|
3. **Operations** → Deploy & Monitor
|
|
50
62
|
- Package deployment units
|
|
51
63
|
- Deploy through environments (Dev → Staging → Prod)
|
|
@@ -34,12 +34,18 @@ status: planned
|
|
|
34
34
|
stories:
|
|
35
35
|
- story-1
|
|
36
36
|
- story-2
|
|
37
|
-
created: {YYYY-MM-
|
|
37
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
38
38
|
started: null
|
|
39
39
|
completed: null
|
|
40
40
|
current_stage: null
|
|
41
41
|
stages_completed: []
|
|
42
42
|
|
|
43
|
+
# Bolt Dependencies (for execution ordering)
|
|
44
|
+
requires_bolts: [] # Bolts that must complete before this bolt can start
|
|
45
|
+
enables_bolts: [] # Bolts that become unblocked when this bolt completes
|
|
46
|
+
requires_units: [] # Units that must exist (usually empty)
|
|
47
|
+
blocks: false # Computed: true if any requires_bolts are incomplete
|
|
48
|
+
|
|
43
49
|
# Complexity Assessment (aggregate of included stories)
|
|
44
50
|
complexity:
|
|
45
51
|
avg_complexity: 2 # 1=Low, 2=Medium, 3=High
|
|
@@ -142,6 +148,12 @@ stages_completed:
|
|
|
142
148
|
completed: 2024-12-05T10:00:00Z
|
|
143
149
|
artifact: ddd-01-domain-model.md
|
|
144
150
|
|
|
151
|
+
requires_bolts: []
|
|
152
|
+
enables_bolts:
|
|
153
|
+
- bolt-auth-service-2
|
|
154
|
+
requires_units: []
|
|
155
|
+
blocks: false
|
|
156
|
+
|
|
145
157
|
complexity:
|
|
146
158
|
avg_complexity: 2
|
|
147
159
|
avg_uncertainty: 1
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
**Stages MUST be executed in this exact order:**
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
Stage 1:
|
|
28
|
+
Stage 1: Plan → Stage 2: Implement → Stage 3: Test
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**Stage Overview:**
|
|
32
32
|
|
|
33
|
-
- ✅/[ ] **1.
|
|
34
|
-
- ✅/[ ] **2. Implement** (Required) → Source code
|
|
35
|
-
- ✅/[ ] **3. Test** (Required) → Tests + `test-
|
|
33
|
+
- ✅/[ ] **1. Plan** (Required) → `implementation-plan.md`
|
|
34
|
+
- ✅/[ ] **2. Implement** (Required) → Source code + `implementation-walkthrough.md`
|
|
35
|
+
- ✅/[ ] **3. Test** (Required) → Tests + `test-walkthrough.md`
|
|
36
36
|
|
|
37
37
|
**Rules**:
|
|
38
38
|
|
|
@@ -84,7 +84,7 @@ This bolt type provides a lightweight construction process for work that doesn't
|
|
|
84
84
|
|
|
85
85
|
## Stages
|
|
86
86
|
|
|
87
|
-
### Stage 1:
|
|
87
|
+
### Stage 1: Plan
|
|
88
88
|
|
|
89
89
|
**Objective**: Define what to build with clear requirements
|
|
90
90
|
|
|
@@ -98,19 +98,19 @@ This bolt type provides a lightweight construction process for work that doesn't
|
|
|
98
98
|
4 - **Define acceptance criteria**: How will we know it's done?
|
|
99
99
|
5 - **Note technical approach**: High-level implementation notes
|
|
100
100
|
|
|
101
|
-
**Artifact**: `
|
|
102
|
-
**Location**: `memory-bank/bolts/{bolt-id}/
|
|
101
|
+
**Artifact**: `implementation-plan.md`
|
|
102
|
+
**Location**: `memory-bank/bolts/{bolt-id}/implementation-plan.md`
|
|
103
103
|
|
|
104
104
|
**Template Structure**:
|
|
105
105
|
|
|
106
106
|
```markdown
|
|
107
107
|
---
|
|
108
|
-
stage:
|
|
108
|
+
stage: plan
|
|
109
109
|
bolt: {bolt-id}
|
|
110
110
|
created: {timestamp}
|
|
111
111
|
---
|
|
112
112
|
|
|
113
|
-
##
|
|
113
|
+
## Implementation Plan: {unit-name}
|
|
114
114
|
|
|
115
115
|
### Objective
|
|
116
116
|
{What this bolt will accomplish}
|
|
@@ -137,13 +137,13 @@ created: {timestamp}
|
|
|
137
137
|
- [ ] Dependencies identified
|
|
138
138
|
- [ ] Acceptance criteria documented
|
|
139
139
|
|
|
140
|
-
**⛔ HUMAN Checkpoint**: Present
|
|
140
|
+
**⛔ HUMAN Checkpoint**: Present plan summary and **STOP**. Wait for user to confirm before proceeding to Stage 2.
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
144
|
### Stage 2: Implement
|
|
145
145
|
|
|
146
|
-
**Objective**: Write the code
|
|
146
|
+
**Objective**: Write the code and document what was done
|
|
147
147
|
|
|
148
148
|
**Duration**: Hours (varies by complexity)
|
|
149
149
|
|
|
@@ -154,16 +154,84 @@ created: {timestamp}
|
|
|
154
154
|
3 - **Handle edge cases**: Error handling, validation
|
|
155
155
|
4 - **Add documentation**: Code comments, JSDoc/docstrings
|
|
156
156
|
5 - **Run linting**: Ensure code style compliance
|
|
157
|
+
6 - **Document implementation**: Create implementation walkthrough
|
|
157
158
|
|
|
158
|
-
**
|
|
159
|
-
|
|
159
|
+
**Artifacts**:
|
|
160
|
+
|
|
161
|
+
- Source code - As defined in project structure (e.g., `src/`, `app/`, `pages/`)
|
|
162
|
+
- `implementation-walkthrough.md` - `memory-bank/bolts/{bolt-id}/implementation-walkthrough.md`
|
|
163
|
+
|
|
164
|
+
**Implementation Walkthrough Guidelines**:
|
|
165
|
+
|
|
166
|
+
⚠️ **CRITICAL RULES**:
|
|
167
|
+
|
|
168
|
+
- **NO CODE** in this document - only structure summaries and descriptions
|
|
169
|
+
- **USE CHECKMARKS** for all file entries (completed work)
|
|
170
|
+
- **BE CONSISTENT** - follow the template exactly
|
|
171
|
+
|
|
172
|
+
**Template**:
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
---
|
|
176
|
+
stage: implement
|
|
177
|
+
bolt: {bolt-id}
|
|
178
|
+
created: {timestamp}
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Implementation Walkthrough: {unit-name}
|
|
182
|
+
|
|
183
|
+
### Summary
|
|
184
|
+
|
|
185
|
+
{2-3 sentence overview of what was built - NO CODE}
|
|
186
|
+
|
|
187
|
+
### Structure Overview
|
|
188
|
+
|
|
189
|
+
{High-level description of the architecture/organization - NO CODE}
|
|
190
|
+
|
|
191
|
+
### Completed Work
|
|
192
|
+
|
|
193
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
194
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
195
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
196
|
+
|
|
197
|
+
### Key Decisions
|
|
198
|
+
|
|
199
|
+
- **{Decision}**: {Why this approach was chosen}
|
|
200
|
+
|
|
201
|
+
### Deviations from Plan
|
|
202
|
+
|
|
203
|
+
{Any changes from implementation-plan.md and why, or "None"}
|
|
204
|
+
|
|
205
|
+
### Dependencies Added
|
|
206
|
+
|
|
207
|
+
- [x] `{package}` - {why needed}
|
|
208
|
+
|
|
209
|
+
### Developer Notes
|
|
210
|
+
|
|
211
|
+
{Gotchas, tips, or context for future work - keep brief}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**What to Include**:
|
|
215
|
+
|
|
216
|
+
- ✅ File paths with brief purpose descriptions
|
|
217
|
+
- ✅ Architectural decisions and rationale
|
|
218
|
+
- ✅ Deviations from original plan
|
|
219
|
+
- ✅ High-level structure explanations
|
|
220
|
+
|
|
221
|
+
**What NOT to Include**:
|
|
222
|
+
|
|
223
|
+
- ❌ Code snippets or examples
|
|
224
|
+
- ❌ Implementation details (how it works internally)
|
|
225
|
+
- ❌ Line-by-line explanations
|
|
226
|
+
- ❌ API signatures or type definitions
|
|
160
227
|
|
|
161
228
|
**Completion Criteria**:
|
|
162
229
|
|
|
163
|
-
- [ ] All deliverables from
|
|
230
|
+
- [ ] All deliverables from plan implemented
|
|
164
231
|
- [ ] Code follows project coding standards
|
|
165
232
|
- [ ] Linting passes
|
|
166
233
|
- [ ] Code is documented
|
|
234
|
+
- [ ] Implementation walkthrough created
|
|
167
235
|
|
|
168
236
|
**⛔ HUMAN Checkpoint**: Present implementation summary and **STOP**. Wait for user to confirm before proceeding to Stage 3.
|
|
169
237
|
|
|
@@ -180,11 +248,11 @@ created: {timestamp}
|
|
|
180
248
|
1 - **Write unit tests**: Test individual functions/components
|
|
181
249
|
2 - **Write integration tests**: Test API endpoints or component interactions
|
|
182
250
|
3 - **Run test suite**: Execute all tests
|
|
183
|
-
4 - **Verify acceptance criteria**: Check against
|
|
251
|
+
4 - **Verify acceptance criteria**: Check against plan
|
|
184
252
|
5 - **Document results**: Create test report
|
|
185
253
|
|
|
186
|
-
**Artifact**: `test-
|
|
187
|
-
**Location**: `memory-bank/bolts/{bolt-id}/test-
|
|
254
|
+
**Artifact**: `test-walkthrough.md`
|
|
255
|
+
**Location**: `memory-bank/bolts/{bolt-id}/test-walkthrough.md`
|
|
188
256
|
|
|
189
257
|
**Template Structure**:
|
|
190
258
|
|
|
@@ -231,9 +299,9 @@ Bolt instance tracks progress:
|
|
|
231
299
|
---
|
|
232
300
|
current_stage: implement
|
|
233
301
|
stages_completed:
|
|
234
|
-
- name:
|
|
302
|
+
- name: plan
|
|
235
303
|
completed: 2024-12-05T10:00:00Z
|
|
236
|
-
artifact:
|
|
304
|
+
artifact: implementation-plan.md
|
|
237
305
|
status: in-progress
|
|
238
306
|
---
|
|
239
307
|
```
|
|
@@ -249,9 +317,10 @@ For Stage 2 (Implement) and Stage 3 (Test), load all artifacts from the bolt fol
|
|
|
249
317
|
**Load all files in this folder**, which may include:
|
|
250
318
|
|
|
251
319
|
- `bolt.md` - Bolt instance metadata
|
|
252
|
-
- `
|
|
320
|
+
- `implementation-plan.md` - Plan from Stage 1
|
|
321
|
+
- `implementation-walkthrough.md` - Developer notes from Stage 2 (if exists)
|
|
253
322
|
|
|
254
|
-
This ensures
|
|
323
|
+
This ensures later stages have full context from earlier work.
|
|
255
324
|
|
|
256
325
|
---
|
|
257
326
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specsmd",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Multi-agent orchestration system for AI-native software development. Delivers AI-DLC, Agile, and custom SDLC flows as markdown-based agent systems.",
|
|
5
5
|
"main": "lib/installer.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"test": "vitest run",
|
|
11
11
|
"test:watch": "vitest",
|
|
12
12
|
"test:schema": "vitest run __tests__/unit/schema-validation/",
|
|
13
|
-
"lint:md": "markdownlint '
|
|
14
|
-
"lint:md:fix": "markdownlint '
|
|
13
|
+
"lint:md": "markdownlint 'flows/**/*.md' --config ../.markdownlint.yaml",
|
|
14
|
+
"lint:md:fix": "markdownlint 'flows/**/*.md' --config ../.markdownlint.yaml --fix",
|
|
15
15
|
"validate:all": "npm run test && npm run lint:md"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|