specsmd 0.0.1
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 +300 -0
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +81 -0
- package/flows/aidlc/agents/inception-agent.md +95 -0
- package/flows/aidlc/agents/master-agent.md +61 -0
- package/flows/aidlc/agents/operations-agent.md +89 -0
- package/flows/aidlc/commands/construction-agent.md +63 -0
- package/flows/aidlc/commands/inception-agent.md +55 -0
- package/flows/aidlc/commands/master-agent.md +47 -0
- package/flows/aidlc/commands/operations-agent.md +77 -0
- package/flows/aidlc/context-config.yaml +41 -0
- package/flows/aidlc/memory-bank.yaml +104 -0
- package/flows/aidlc/quick-start.md +315 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +343 -0
- package/flows/aidlc/skills/construction/bolt-start.md +289 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +338 -0
- package/flows/aidlc/skills/inception/context.md +171 -0
- package/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/flows/aidlc/skills/inception/navigator.md +207 -0
- package/flows/aidlc/skills/inception/requirements.md +227 -0
- package/flows/aidlc/skills/inception/review.md +248 -0
- package/flows/aidlc/skills/inception/story-create.md +304 -0
- package/flows/aidlc/skills/inception/units.md +271 -0
- package/flows/aidlc/skills/master/analyze-context.md +132 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +146 -0
- package/flows/aidlc/skills/master/project-init.md +281 -0
- package/flows/aidlc/skills/master/route-request.md +126 -0
- package/flows/aidlc/skills/operations/build.md +237 -0
- package/flows/aidlc/skills/operations/deploy.md +259 -0
- package/flows/aidlc/skills/operations/monitor.md +265 -0
- package/flows/aidlc/skills/operations/navigator.md +209 -0
- package/flows/aidlc/skills/operations/verify.md +224 -0
- package/flows/aidlc/templates/construction/bolt-template.md +193 -0
- package/flows/aidlc/templates/construction/bolt-types/bdd-construction-bolt.md +250 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +273 -0
- package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/flows/aidlc/templates/construction/bolt-types/tdd-construction-bolt.md +259 -0
- package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/flows/aidlc/templates/inception/project/README.md +55 -0
- package/flows/aidlc/templates/inception/requirements-template.md +144 -0
- package/flows/aidlc/templates/inception/stories-template.md +38 -0
- package/flows/aidlc/templates/inception/story-template.md +147 -0
- package/flows/aidlc/templates/inception/system-context-template.md +29 -0
- package/flows/aidlc/templates/inception/unit-brief-template.md +177 -0
- package/flows/aidlc/templates/inception/units-template.md +52 -0
- package/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/cli-utils.js +372 -0
- package/lib/constants.js +31 -0
- package/lib/installer.js +314 -0
- package/lib/installers/AntigravityInstaller.js +22 -0
- package/lib/installers/ClaudeInstaller.js +85 -0
- package/lib/installers/ClineInstaller.js +21 -0
- package/lib/installers/CodexInstaller.js +21 -0
- package/lib/installers/CopilotInstaller.js +113 -0
- package/lib/installers/CursorInstaller.js +63 -0
- package/lib/installers/GeminiInstaller.js +75 -0
- package/lib/installers/KiroInstaller.js +22 -0
- package/lib/installers/OpenCodeInstaller.js +22 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +73 -0
- package/lib/installers/WindsurfInstaller.js +76 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +65 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Bolt Instance Template
|
|
2
|
+
|
|
3
|
+
## Mandatory Output Rules (READ FIRST)
|
|
4
|
+
|
|
5
|
+
- 🚫 **NEVER** use ASCII tables for options - they break at different terminal widths
|
|
6
|
+
- ✅ **ALWAYS** use numbered list format: `N - **Option**: Description`
|
|
7
|
+
- ✅ **ALWAYS** use status indicators: ✅ (done) ⏳ (current) [ ] (pending) 🚫 (blocked)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Use this template when creating new bolt instances during bolt planning.
|
|
12
|
+
|
|
13
|
+
**Directory Structure**: Each bolt gets its own directory containing the bolt metadata and stage artifacts:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
memory-bank/bolts/{bolt-id}/
|
|
17
|
+
├── bolt.md # Bolt instance metadata (this template)
|
|
18
|
+
├── ddd-01-domain-model.md # Stage 1 artifact (created during execution)
|
|
19
|
+
├── ddd-02-technical-design.md # Stage 2 artifact (created during execution)
|
|
20
|
+
└── ddd-03-test-report.md # Stage 4 artifact (created during execution)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Frontmatter
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
---
|
|
29
|
+
id: bolt-{unit}-{sequence}
|
|
30
|
+
unit: {unit-name}
|
|
31
|
+
intent: {intent-name}
|
|
32
|
+
type: ddd-construction-bolt
|
|
33
|
+
status: planned
|
|
34
|
+
stories:
|
|
35
|
+
- story-1
|
|
36
|
+
- story-2
|
|
37
|
+
created: {YYYY-MM-DD}
|
|
38
|
+
started: null
|
|
39
|
+
completed: null
|
|
40
|
+
current_stage: null
|
|
41
|
+
stages_completed: []
|
|
42
|
+
|
|
43
|
+
# Complexity Assessment (aggregate of included stories)
|
|
44
|
+
complexity:
|
|
45
|
+
avg_complexity: 2 # 1=Low, 2=Medium, 3=High
|
|
46
|
+
avg_uncertainty: 1 # 1=Low, 2=Medium, 3=High
|
|
47
|
+
max_dependencies: 2 # Highest dependency score among stories
|
|
48
|
+
testing_scope: 2 # 1=Unit, 2=Integration, 3=E2E
|
|
49
|
+
---
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Content
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# Bolt: {bolt-id}
|
|
58
|
+
|
|
59
|
+
## Overview
|
|
60
|
+
|
|
61
|
+
{Brief description of what this bolt will accomplish}
|
|
62
|
+
|
|
63
|
+
## Objective
|
|
64
|
+
|
|
65
|
+
{Specific goal of this bolt tied to the stories it covers}
|
|
66
|
+
|
|
67
|
+
## Stories Included
|
|
68
|
+
|
|
69
|
+
- **{story-1}**: {title} (Must)
|
|
70
|
+
- **{story-2}**: {title} (Should)
|
|
71
|
+
|
|
72
|
+
## Bolt Type
|
|
73
|
+
|
|
74
|
+
**Type**: {type name}
|
|
75
|
+
**Definition**: `.specsmd/aidlc/templates/construction/bolt-types/{type}.md`
|
|
76
|
+
|
|
77
|
+
## Stages
|
|
78
|
+
|
|
79
|
+
- [ ] **1. {stage-1}**: Pending → {artifact}
|
|
80
|
+
- [ ] **2. {stage-2}**: Pending → {artifact}
|
|
81
|
+
- [ ] **3. {stage-3}**: Pending → {artifact}
|
|
82
|
+
- [ ] **4. {stage-4}**: Pending → {artifact}
|
|
83
|
+
|
|
84
|
+
## Dependencies
|
|
85
|
+
|
|
86
|
+
### Requires
|
|
87
|
+
- {Previous bolt or None}
|
|
88
|
+
|
|
89
|
+
### Enables
|
|
90
|
+
- {Next bolt or deployment}
|
|
91
|
+
|
|
92
|
+
## Success Criteria
|
|
93
|
+
|
|
94
|
+
- [ ] All stories implemented
|
|
95
|
+
- [ ] All acceptance criteria met
|
|
96
|
+
- [ ] Tests passing
|
|
97
|
+
- [ ] Code reviewed
|
|
98
|
+
|
|
99
|
+
## Notes
|
|
100
|
+
|
|
101
|
+
{Any additional context or considerations}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Status Values
|
|
107
|
+
|
|
108
|
+
- **planned**: Bolt created, not started
|
|
109
|
+
- **in-progress**: Currently being executed
|
|
110
|
+
- **completed**: All stages done
|
|
111
|
+
- **blocked**: Cannot proceed due to dependency
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Stage Status Symbols
|
|
116
|
+
|
|
117
|
+
- [ ] = Pending
|
|
118
|
+
- ⏳ = In Progress
|
|
119
|
+
- ✅ = Complete
|
|
120
|
+
- 🚫 = Blocked
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Example
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
---
|
|
128
|
+
id: bolt-auth-service-1
|
|
129
|
+
unit: auth-service
|
|
130
|
+
intent: user-authentication
|
|
131
|
+
type: ddd-construction-bolt
|
|
132
|
+
status: in-progress
|
|
133
|
+
stories:
|
|
134
|
+
- story-1
|
|
135
|
+
- story-2
|
|
136
|
+
created: 2024-12-05
|
|
137
|
+
started: 2024-12-05
|
|
138
|
+
completed: null
|
|
139
|
+
current_stage: design
|
|
140
|
+
stages_completed:
|
|
141
|
+
- name: model
|
|
142
|
+
completed: 2024-12-05T10:00:00Z
|
|
143
|
+
artifact: ddd-01-domain-model.md
|
|
144
|
+
|
|
145
|
+
complexity:
|
|
146
|
+
avg_complexity: 2
|
|
147
|
+
avg_uncertainty: 1
|
|
148
|
+
max_dependencies: 1
|
|
149
|
+
testing_scope: 2
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
# Bolt: bolt-auth-service-1
|
|
153
|
+
|
|
154
|
+
## Overview
|
|
155
|
+
|
|
156
|
+
First bolt for authentication service covering user registration and login.
|
|
157
|
+
|
|
158
|
+
## Objective
|
|
159
|
+
|
|
160
|
+
Implement core authentication functionality including user registration with email verification and secure login.
|
|
161
|
+
|
|
162
|
+
## Stories Included
|
|
163
|
+
|
|
164
|
+
- **story-1**: User can register (Must)
|
|
165
|
+
- **story-2**: User can login (Must)
|
|
166
|
+
|
|
167
|
+
## Bolt Type
|
|
168
|
+
|
|
169
|
+
**Type**: DDD Construction Bolt
|
|
170
|
+
**Definition**: `.specsmd/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md`
|
|
171
|
+
|
|
172
|
+
## Stages
|
|
173
|
+
|
|
174
|
+
- ✅ **1. model**: Complete → ddd-01-domain-model.md
|
|
175
|
+
- ⏳ **2. design**: In Progress → ddd-02-technical-design.md ← current
|
|
176
|
+
- [ ] **3. implement**: Pending → src/auth-service/
|
|
177
|
+
- [ ] **4. test**: Pending → ddd-03-test-report.md
|
|
178
|
+
|
|
179
|
+
## Dependencies
|
|
180
|
+
|
|
181
|
+
### Requires
|
|
182
|
+
- None (first bolt)
|
|
183
|
+
|
|
184
|
+
### Enables
|
|
185
|
+
- bolt-auth-service-2 (MFA implementation)
|
|
186
|
+
|
|
187
|
+
## Success Criteria
|
|
188
|
+
|
|
189
|
+
- ✅ Domain model defined
|
|
190
|
+
- [ ] API design complete
|
|
191
|
+
- [ ] Implementation complete
|
|
192
|
+
- [ ] Tests passing
|
|
193
|
+
```
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Bolt Type: BDD Construction
|
|
2
|
+
|
|
3
|
+
## Mandatory Output Rules (READ FIRST)
|
|
4
|
+
|
|
5
|
+
- 🚫 **NEVER** use ASCII tables for options - they break at different terminal widths
|
|
6
|
+
- ✅ **ALWAYS** use numbered list format: `N - **Option**: Description`
|
|
7
|
+
- ✅ **ALWAYS** use status indicators: ✅ (done) ⏳ (current) [ ] (pending) 🚫 (blocked)
|
|
8
|
+
|
|
9
|
+
## Success Metrics
|
|
10
|
+
|
|
11
|
+
- ✅ Activities presented as numbered lists (not tables)
|
|
12
|
+
- ✅ Stage progress shown with status indicators
|
|
13
|
+
- ✅ Human checkpoints clearly marked
|
|
14
|
+
|
|
15
|
+
## Failure Modes
|
|
16
|
+
|
|
17
|
+
- ❌ Using ASCII table for activities
|
|
18
|
+
- ❌ Auto-advancing without human confirmation
|
|
19
|
+
- ❌ Skipping stages
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Metadata
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
bolt_type: bdd-construction-bolt
|
|
27
|
+
name: BDD Construction Bolt
|
|
28
|
+
description: Behavior-Driven Development with specification, implementation, and testing
|
|
29
|
+
version: 1.0.0
|
|
30
|
+
suitable_for:
|
|
31
|
+
- Feature-focused development
|
|
32
|
+
- User story implementation
|
|
33
|
+
- Scenarios with clear Given-When-Then flows
|
|
34
|
+
stages_count: 3
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Overview
|
|
40
|
+
|
|
41
|
+
This bolt type implements Behavior-Driven Development (BDD) methodology through three stages focused on specifications, implementation, and acceptance testing.
|
|
42
|
+
|
|
43
|
+
**Best For**:
|
|
44
|
+
|
|
45
|
+
- Feature-driven development
|
|
46
|
+
- User-facing functionality
|
|
47
|
+
- Clear user stories with acceptance criteria
|
|
48
|
+
- Scenarios that can be expressed in Given-When-Then format
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Stages
|
|
53
|
+
|
|
54
|
+
### Stage 1: specify
|
|
55
|
+
|
|
56
|
+
**Objective**: Define behavior specifications in Gherkin format
|
|
57
|
+
|
|
58
|
+
**Duration**: Hours (typically 1-2 hours)
|
|
59
|
+
|
|
60
|
+
**Activities**:
|
|
61
|
+
|
|
62
|
+
1 - **Review user stories**: Analyze stories and acceptance criteria
|
|
63
|
+
2 - **Write feature files**: Create Gherkin specifications
|
|
64
|
+
3 - **Define happy paths**: Document expected successful flows
|
|
65
|
+
4 - **Define edge cases**: Document boundary conditions
|
|
66
|
+
5 - **Define error scenarios**: Document error handling behaviors
|
|
67
|
+
6 - **Review with stakeholders**: Validate specifications
|
|
68
|
+
|
|
69
|
+
**Artifact**: `specifications.md` and `.feature` files
|
|
70
|
+
**Location**: Path defined by `schema.units` in `.specsmd/aidlc/memory-bank.yaml`
|
|
71
|
+
*(Default: `{intents-path}/{intent}/units/{unit}/specifications.md`)*
|
|
72
|
+
|
|
73
|
+
**Template Structure**:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
---
|
|
77
|
+
stage: specify
|
|
78
|
+
bolt: {bolt-id}
|
|
79
|
+
created: {timestamp}
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Behavior Specifications: {unit-name}
|
|
83
|
+
|
|
84
|
+
### Feature Overview
|
|
85
|
+
{Feature description}
|
|
86
|
+
|
|
87
|
+
### Scenarios
|
|
88
|
+
|
|
89
|
+
#### Scenario 1: {Happy Path}
|
|
90
|
+
```gherkin
|
|
91
|
+
Given {precondition}
|
|
92
|
+
When {action}
|
|
93
|
+
Then {expected outcome}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### Scenario 2: {Edge Case}
|
|
97
|
+
|
|
98
|
+
```gherkin
|
|
99
|
+
Given {precondition}
|
|
100
|
+
When {action}
|
|
101
|
+
Then {expected outcome}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Background
|
|
105
|
+
|
|
106
|
+
{Shared context for all scenarios}
|
|
107
|
+
|
|
108
|
+
### Data Examples
|
|
109
|
+
|
|
110
|
+
- **{Field}**: Valid: {examples} - Invalid: {examples}
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Completion Criteria**:
|
|
115
|
+
|
|
116
|
+
- [ ] All user stories have scenarios
|
|
117
|
+
- [ ] Happy paths covered
|
|
118
|
+
- [ ] Edge cases covered
|
|
119
|
+
- [ ] Error handling scenarios defined
|
|
120
|
+
- [ ] Scenarios reviewed and approved
|
|
121
|
+
|
|
122
|
+
**⛔ HUMAN Checkpoint**: Present specification summary and **STOP**. Wait for user to confirm before proceeding to Stage 2.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Stage 2: implement
|
|
127
|
+
|
|
128
|
+
**Objective**: Implement the specified behaviors
|
|
129
|
+
|
|
130
|
+
**Duration**: Hours to days (varies by complexity)
|
|
131
|
+
|
|
132
|
+
**Activities**:
|
|
133
|
+
|
|
134
|
+
1 - **Setup step definitions**: Create test framework structure
|
|
135
|
+
2 - **Implement Given steps**: Build context setup code
|
|
136
|
+
3 - **Implement When steps**: Build action code
|
|
137
|
+
4 - **Implement Then steps**: Build assertion code
|
|
138
|
+
5 - **Implement production code**: Build feature implementation
|
|
139
|
+
6 - **Wire specs to implementation**: Connect tests to code
|
|
140
|
+
|
|
141
|
+
**Artifact**: Source code
|
|
142
|
+
**Location**: `src/{unit}/`
|
|
143
|
+
|
|
144
|
+
**Project Structure**:
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
|
|
148
|
+
src/{unit}/
|
|
149
|
+
├── features/
|
|
150
|
+
│ └── *.feature # Gherkin specs
|
|
151
|
+
├── steps/
|
|
152
|
+
│ └──*_steps.{ext} # Step definitions
|
|
153
|
+
├── src/
|
|
154
|
+
│ └── ... # Production code
|
|
155
|
+
└── support/
|
|
156
|
+
└── ... # Test utilities
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Completion Criteria**:
|
|
161
|
+
|
|
162
|
+
- [ ] All step definitions implemented
|
|
163
|
+
- [ ] Production code implements features
|
|
164
|
+
- [ ] All scenarios executable
|
|
165
|
+
- [ ] Code follows standards
|
|
166
|
+
|
|
167
|
+
**⛔ HUMAN Checkpoint**: Present implementation summary and **STOP**. Wait for user to confirm before proceeding to Stage 3.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
### Stage 3: validate
|
|
172
|
+
|
|
173
|
+
**Objective**: Run acceptance tests and verify behaviors
|
|
174
|
+
|
|
175
|
+
**Duration**: Hours (typically 1-2 hours)
|
|
176
|
+
|
|
177
|
+
**Activities**:
|
|
178
|
+
|
|
179
|
+
1 - **Run all feature tests**: Execute test suite
|
|
180
|
+
2 - **Fix any failing scenarios**: Address issues
|
|
181
|
+
3 - **Generate living documentation**: Create doc report
|
|
182
|
+
4 - **Verify acceptance criteria**: Validate against stories
|
|
183
|
+
5 - **Stakeholder sign-off**: Get approval
|
|
184
|
+
|
|
185
|
+
**Artifact**: `acceptance-report.md`
|
|
186
|
+
**Location**: Path defined by `schema.units` in `.specsmd/aidlc/memory-bank.yaml`
|
|
187
|
+
*(Default: `{intents-path}/{intent}/units/{unit}/acceptance-report.md`)*
|
|
188
|
+
|
|
189
|
+
**Template Structure**:
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
---
|
|
193
|
+
stage: validate
|
|
194
|
+
bolt: {bolt-id}
|
|
195
|
+
created: {timestamp}
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Acceptance Report: {unit-name}
|
|
199
|
+
|
|
200
|
+
### Test Results
|
|
201
|
+
|
|
202
|
+
- **{Feature}**: {scenarios} scenarios - {passed} passed, {failed} failed
|
|
203
|
+
|
|
204
|
+
### Acceptance Criteria Status
|
|
205
|
+
|
|
206
|
+
- ✅/❌ **{Story}**: {Criteria} - Scenario: {name} - {Status}
|
|
207
|
+
|
|
208
|
+
### Living Documentation
|
|
209
|
+
{Link to generated docs}
|
|
210
|
+
|
|
211
|
+
### Sign-off
|
|
212
|
+
- [ ] Developer verified
|
|
213
|
+
- [ ] Stakeholder approved
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Completion Criteria**:
|
|
217
|
+
|
|
218
|
+
- [ ] All scenarios passing
|
|
219
|
+
- [ ] Acceptance criteria met
|
|
220
|
+
- [ ] Living documentation generated
|
|
221
|
+
- [ ] Stakeholder sign-off received
|
|
222
|
+
|
|
223
|
+
**⛔ HUMAN Checkpoint**: Present acceptance report and **STOP**. Wait for user to confirm bolt completion.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Stage Execution
|
|
228
|
+
|
|
229
|
+
### Sequence
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
specify → implement → validate
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### State Tracking
|
|
236
|
+
|
|
237
|
+
```yaml
|
|
238
|
+
---
|
|
239
|
+
current_stage: implement
|
|
240
|
+
stages_completed:
|
|
241
|
+
- name: specify
|
|
242
|
+
completed: 2024-12-05T10:00:00Z
|
|
243
|
+
artifact: specifications.md
|
|
244
|
+
status: in-progress
|
|
245
|
+
---
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Human Validation
|
|
249
|
+
|
|
250
|
+
Specifications require stakeholder review before implementation.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
bolt: {bolt-id}
|
|
3
|
+
created: {timestamp}
|
|
4
|
+
status: proposed | accepted | deprecated | superseded
|
|
5
|
+
superseded_by: {adr-number if applicable}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ADR-{number}: {title}
|
|
9
|
+
|
|
10
|
+
## Context
|
|
11
|
+
|
|
12
|
+
{Describe the situation that requires a decision. What is the problem or opportunity? What constraints exist? What forces are at play?}
|
|
13
|
+
|
|
14
|
+
## Decision
|
|
15
|
+
|
|
16
|
+
{State the decision clearly. What did we decide to do?}
|
|
17
|
+
|
|
18
|
+
## Rationale
|
|
19
|
+
|
|
20
|
+
{Explain why this decision was made. What alternatives were considered? Why were they rejected?}
|
|
21
|
+
|
|
22
|
+
### Alternatives Considered
|
|
23
|
+
|
|
24
|
+
| Alternative | Pros | Cons | Why Rejected |
|
|
25
|
+
|-------------|------|------|--------------|
|
|
26
|
+
| {option 1} | | | |
|
|
27
|
+
| {option 2} | | | |
|
|
28
|
+
|
|
29
|
+
## Consequences
|
|
30
|
+
|
|
31
|
+
### Positive
|
|
32
|
+
|
|
33
|
+
- {Benefit 1}
|
|
34
|
+
- {Benefit 2}
|
|
35
|
+
|
|
36
|
+
### Negative
|
|
37
|
+
|
|
38
|
+
- {Trade-off 1}
|
|
39
|
+
- {Trade-off 2}
|
|
40
|
+
|
|
41
|
+
### Risks
|
|
42
|
+
|
|
43
|
+
- {Risk 1 and mitigation}
|
|
44
|
+
|
|
45
|
+
## Related
|
|
46
|
+
|
|
47
|
+
- **Stories**: {related story IDs}
|
|
48
|
+
- **Standards**: {if this should be added to standards later}
|
|
49
|
+
- **Previous ADRs**: {related ADR numbers}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
unit: {unit-name}
|
|
3
|
+
bolt: {bolt-id}
|
|
4
|
+
stage: model
|
|
5
|
+
status: complete
|
|
6
|
+
updated: {date}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Static Model - {Unit Name}
|
|
10
|
+
|
|
11
|
+
## Bounded Context
|
|
12
|
+
|
|
13
|
+
{Define the bounded context for this unit}
|
|
14
|
+
|
|
15
|
+
## Domain Entities
|
|
16
|
+
|
|
17
|
+
| Entity | Properties | Business Rules |
|
|
18
|
+
|--------|------------|----------------|
|
|
19
|
+
| {Entity} | {properties} | {rules} |
|
|
20
|
+
|
|
21
|
+
## Value Objects
|
|
22
|
+
|
|
23
|
+
| Value Object | Properties | Constraints |
|
|
24
|
+
|--------------|------------|-------------|
|
|
25
|
+
| {ValueObject} | {properties} | {constraints} |
|
|
26
|
+
|
|
27
|
+
## Aggregates
|
|
28
|
+
|
|
29
|
+
| Aggregate Root | Members | Invariants |
|
|
30
|
+
|----------------|---------|------------|
|
|
31
|
+
| {Root} | {members} | {invariants} |
|
|
32
|
+
|
|
33
|
+
## Domain Events
|
|
34
|
+
|
|
35
|
+
| Event | Trigger | Payload |
|
|
36
|
+
|-------|---------|---------|
|
|
37
|
+
| {Event} | {trigger} | {payload} |
|
|
38
|
+
|
|
39
|
+
## Domain Services
|
|
40
|
+
|
|
41
|
+
| Service | Operations | Dependencies |
|
|
42
|
+
|---------|------------|--------------|
|
|
43
|
+
| {Service} | {operations} | {dependencies} |
|
|
44
|
+
|
|
45
|
+
## Repository Interfaces
|
|
46
|
+
|
|
47
|
+
| Repository | Entity | Methods |
|
|
48
|
+
|------------|--------|---------|
|
|
49
|
+
| {Repository} | {entity} | {methods} |
|
|
50
|
+
|
|
51
|
+
## Ubiquitous Language
|
|
52
|
+
|
|
53
|
+
| Term | Definition |
|
|
54
|
+
|------|------------|
|
|
55
|
+
| {term} | {definition} |
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
unit: {unit-name}
|
|
3
|
+
bolt: {bolt-id}
|
|
4
|
+
stage: design
|
|
5
|
+
status: complete
|
|
6
|
+
updated: {date}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Technical Design - {Unit Name}
|
|
10
|
+
|
|
11
|
+
## Architecture Pattern
|
|
12
|
+
|
|
13
|
+
{Selected pattern and rationale - e.g., Hexagonal, Clean Architecture}
|
|
14
|
+
|
|
15
|
+
## Layer Structure
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
┌─────────────────────────────┐
|
|
19
|
+
│ Presentation │ API/UI
|
|
20
|
+
├─────────────────────────────┤
|
|
21
|
+
│ Application │ Use Cases
|
|
22
|
+
├─────────────────────────────┤
|
|
23
|
+
│ Domain │ Business Logic
|
|
24
|
+
├─────────────────────────────┤
|
|
25
|
+
│ Infrastructure │ Database/External
|
|
26
|
+
└─────────────────────────────┘
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## API Design
|
|
30
|
+
|
|
31
|
+
| Endpoint | Method | Request | Response |
|
|
32
|
+
|----------|--------|---------|----------|
|
|
33
|
+
| {endpoint} | {GET/POST/etc} | {request schema} | {response schema} |
|
|
34
|
+
|
|
35
|
+
## Data Persistence
|
|
36
|
+
|
|
37
|
+
| Table | Columns | Relationships |
|
|
38
|
+
|-------|---------|---------------|
|
|
39
|
+
| {table} | {columns} | {relationships} |
|
|
40
|
+
|
|
41
|
+
## Security Design
|
|
42
|
+
|
|
43
|
+
| Concern | Approach |
|
|
44
|
+
|---------|----------|
|
|
45
|
+
| Authentication | {approach} |
|
|
46
|
+
| Authorization | {approach} |
|
|
47
|
+
| Data Encryption | {approach} |
|
|
48
|
+
|
|
49
|
+
## NFR Implementation
|
|
50
|
+
|
|
51
|
+
| Requirement | Design Approach |
|
|
52
|
+
|-------------|-----------------|
|
|
53
|
+
| Performance | {approach} |
|
|
54
|
+
| Scalability | {approach} |
|
|
55
|
+
| Reliability | {approach} |
|
|
56
|
+
|
|
57
|
+
## Error Handling
|
|
58
|
+
|
|
59
|
+
| Error Type | Code | Response |
|
|
60
|
+
|------------|------|----------|
|
|
61
|
+
| {type} | {code} | {response} |
|
|
62
|
+
|
|
63
|
+
## External Dependencies
|
|
64
|
+
|
|
65
|
+
| Service | Purpose | Integration |
|
|
66
|
+
|---------|---------|-------------|
|
|
67
|
+
| {service} | {purpose} | {REST/Event/etc} |
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
unit: {unit-name}
|
|
3
|
+
bolt: {bolt-id}
|
|
4
|
+
stage: test
|
|
5
|
+
status: complete
|
|
6
|
+
updated: {date}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Test Report - {Unit Name}
|
|
10
|
+
|
|
11
|
+
## Test Summary
|
|
12
|
+
|
|
13
|
+
| Category | Passed | Failed | Skipped | Coverage |
|
|
14
|
+
|----------|--------|--------|---------|----------|
|
|
15
|
+
| Unit | {n} | {n} | {n} | {n}% |
|
|
16
|
+
| Integration | {n} | {n} | {n} | {n}% |
|
|
17
|
+
| Security | {n} | {n} | {n} | - |
|
|
18
|
+
| Performance | {n} | {n} | {n} | - |
|
|
19
|
+
| **Total** | {n} | {n} | {n} | {n}% |
|
|
20
|
+
|
|
21
|
+
## Acceptance Criteria Validation
|
|
22
|
+
|
|
23
|
+
| Story | Criteria | Status |
|
|
24
|
+
|-------|----------|--------|
|
|
25
|
+
| {story-id} | {criteria} | ✅/❌ |
|
|
26
|
+
|
|
27
|
+
## Unit Tests
|
|
28
|
+
|
|
29
|
+
{Unit test results and notable tests}
|
|
30
|
+
|
|
31
|
+
## Integration Tests
|
|
32
|
+
|
|
33
|
+
{Integration test results}
|
|
34
|
+
|
|
35
|
+
## Security Tests
|
|
36
|
+
|
|
37
|
+
{Security test results - authentication, authorization, injection, etc.}
|
|
38
|
+
|
|
39
|
+
## Performance Tests
|
|
40
|
+
|
|
41
|
+
| Metric | Target | Actual | Status |
|
|
42
|
+
|--------|--------|--------|--------|
|
|
43
|
+
| Response Time (p95) | {target} | {actual} | ✅/❌ |
|
|
44
|
+
| Throughput | {target} | {actual} | ✅/❌ |
|
|
45
|
+
|
|
46
|
+
## Coverage Report
|
|
47
|
+
|
|
48
|
+
{Coverage details by module/layer}
|
|
49
|
+
|
|
50
|
+
## Issues Found
|
|
51
|
+
|
|
52
|
+
| Issue | Severity | Status |
|
|
53
|
+
|-------|----------|--------|
|
|
54
|
+
| {issue} | {High/Medium/Low} | {Fixed/Open} |
|
|
55
|
+
|
|
56
|
+
## Ready for Operations
|
|
57
|
+
|
|
58
|
+
- [ ] All acceptance criteria met
|
|
59
|
+
- [ ] Code coverage > 80%
|
|
60
|
+
- [ ] No critical/high severity issues open
|
|
61
|
+
- [ ] Performance targets met
|
|
62
|
+
- [ ] Security tests passing
|