project-iris 0.0.17 → 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 +86 -15
- package/flows/aidlc/README.md +358 -214
- package/flows/aidlc/agents/README.md +154 -0
- package/flows/aidlc/agents/master-agent.md +211 -24
- package/flows/aidlc/memory-bank.yaml +58 -10
- package/flows/aidlc/quick-start.md +7 -7
- package/flows/aidlc/skills/README.md +106 -0
- package/flows/aidlc/skills/construction/bolt-list.md +16 -0
- package/flows/aidlc/skills/construction/bolt-start.md +37 -1
- package/flows/aidlc/skills/construction/navigator.md +1 -1
- package/flows/aidlc/skills/inception/bolt-plan.md +1 -1
- package/flows/aidlc/skills/inception/intent-create.md +91 -2
- package/flows/aidlc/skills/inception/requirements.md +105 -6
- package/flows/aidlc/skills/master/answer-question.md +1 -1
- package/flows/aidlc/skills/master/code-elevate.md +434 -0
- package/flows/aidlc/skills/master/explain-flow.md +6 -6
- package/flows/aidlc/skills/master/project-init.md +110 -12
- package/flows/aidlc/skills/operations/build.md +32 -4
- package/flows/aidlc/skills/operations/monitor.md +75 -14
- package/flows/aidlc/skills/operations/rollback.md +239 -0
- package/flows/aidlc/templates/README.md +128 -0
- package/flows/aidlc/templates/construction/bolt-template.md +5 -5
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-02-technical-design-template.md → ddd-02-logical-design-template.md} +1 -1
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +27 -27
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +6 -6
- package/flows/aidlc/templates/construction/construction-guide.md +244 -0
- package/flows/aidlc/templates/construction/construction-log-template.md +7 -6
- package/flows/aidlc/templates/construction/elevation-dynamic-model-template.md +265 -0
- package/flows/aidlc/templates/construction/elevation-static-model-template.md +204 -0
- package/flows/aidlc/templates/inception/prfaq-template.md +147 -0
- package/flows/aidlc/templates/inception/requirements-template.md +70 -5
- package/flows/aidlc/templates/inception/risks-template.md +214 -0
- package/flows/aidlc/templates/operations/deployment-unit-template.md +228 -0
- package/lib/constants.js +13 -9
- package/package.json +1 -1
- package/flows/aidlc/templates/inception/project/README.md +0 -55
- /package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-01-domain-model-template.md → ddd-01-domain-design-template.md} +0 -0
|
@@ -25,23 +25,23 @@
|
|
|
25
25
|
**Stages MUST be executed in this exact order:**
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
Stage 1: Domain
|
|
28
|
+
Stage 1: Domain Design → Stage 2: Logical Design → Stage 3: ADR Analysis (optional) → Stage 4: Code Generation → Stage 5: Testing
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**Stage Overview:**
|
|
32
32
|
|
|
33
|
-
- ✅/[ ] **1. Domain
|
|
34
|
-
- ✅/[ ] **2.
|
|
33
|
+
- ✅/[ ] **1. Domain Design** (Required) → `ddd-01-domain-design.md`
|
|
34
|
+
- ✅/[ ] **2. Logical Design** (Required) → `ddd-02-logical-design.md`
|
|
35
35
|
- ✅/[ ] **3. ADR Analysis** (Optional) → `adr-{n}-{slug}.md` (zero or more)
|
|
36
|
-
- ✅/[ ] **4.
|
|
37
|
-
- ✅/[ ] **5.
|
|
36
|
+
- ✅/[ ] **4. Code Generation** (Required) → Source code
|
|
37
|
+
- ✅/[ ] **5. Testing** (Required) → Tests + `ddd-03-test-report.md`
|
|
38
38
|
|
|
39
39
|
**Rules**:
|
|
40
40
|
|
|
41
41
|
- Each stage MUST be completed before the next begins
|
|
42
42
|
- Stage 3 can be skipped if no ADR-worthy decisions are identified
|
|
43
43
|
- **⛔ Human validation is MANDATORY at each stage checkpoint - STOP and WAIT for approval**
|
|
44
|
-
- NEVER skip to
|
|
44
|
+
- NEVER skip to code generation without completing Domain Design and Logical Design
|
|
45
45
|
- NEVER auto-advance to next stage without explicit user confirmation
|
|
46
46
|
|
|
47
47
|
---
|
|
@@ -77,7 +77,7 @@ This bolt type implements Domain-Driven Design (DDD) methodology through five se
|
|
|
77
77
|
|
|
78
78
|
## Stages
|
|
79
79
|
|
|
80
|
-
### Stage 1: Domain
|
|
80
|
+
### Stage 1: Domain Design
|
|
81
81
|
|
|
82
82
|
**Objective**: Create a static domain model using DDD principles
|
|
83
83
|
|
|
@@ -86,7 +86,7 @@ This bolt type implements Domain-Driven Design (DDD) methodology through five se
|
|
|
86
86
|
**⛔ CONSTRAINTS**:
|
|
87
87
|
|
|
88
88
|
- **FORBIDDEN**: Reading, analyzing, or modifying ANY source code files
|
|
89
|
-
- **ONLY OUTPUT**: Documentation artifact (`ddd-01-domain-
|
|
89
|
+
- **ONLY OUTPUT**: Documentation artifact (`ddd-01-domain-design.md`)
|
|
90
90
|
|
|
91
91
|
**Activities**:
|
|
92
92
|
|
|
@@ -98,10 +98,10 @@ This bolt type implements Domain-Driven Design (DDD) methodology through five se
|
|
|
98
98
|
6 - **Design repository interfaces**: Define contracts for data access
|
|
99
99
|
7 - **Document ubiquitous language**: Create glossary of domain terms
|
|
100
100
|
|
|
101
|
-
**Artifact**: `ddd-01-domain-
|
|
102
|
-
**Template**: `.iris/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-
|
|
101
|
+
**Artifact**: `ddd-01-domain-design.md`
|
|
102
|
+
**Template**: `.iris/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-design-template.md`
|
|
103
103
|
**Location**: Path defined by `schema.bolts` in `.iris/aidlc/memory-bank.yaml`
|
|
104
|
-
*(Default: `memory-bank/bolts/{bolt-id}/ddd-01-domain-
|
|
104
|
+
*(Default: `memory-bank/bolts/{bolt-id}/ddd-01-domain-design.md`)*
|
|
105
105
|
|
|
106
106
|
**Template Structure**:
|
|
107
107
|
|
|
@@ -157,16 +157,16 @@ created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
|
157
157
|
|
|
158
158
|
---
|
|
159
159
|
|
|
160
|
-
### Stage 2:
|
|
160
|
+
### Stage 2: Logical Design
|
|
161
161
|
|
|
162
|
-
**Objective**: Transform static model into technical architecture
|
|
162
|
+
**Objective**: Transform static model into technical architecture with NFRs and patterns
|
|
163
163
|
|
|
164
164
|
**Duration**: Hours (typically 2-4 hours)
|
|
165
165
|
|
|
166
166
|
**⛔ CONSTRAINTS**:
|
|
167
167
|
|
|
168
168
|
- **FORBIDDEN**: Reading, analyzing, or modifying ANY source code files
|
|
169
|
-
- **ONLY OUTPUT**: Documentation artifact (`ddd-02-
|
|
169
|
+
- **ONLY OUTPUT**: Documentation artifact (`ddd-02-logical-design.md`)
|
|
170
170
|
|
|
171
171
|
**Activities**:
|
|
172
172
|
|
|
@@ -178,10 +178,10 @@ created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
|
178
178
|
6 - **Design for NFRs**: Plan performance and scalability approach
|
|
179
179
|
7 - **Plan integrations**: Document integration points
|
|
180
180
|
|
|
181
|
-
**Artifact**: `ddd-02-
|
|
182
|
-
**Template**: `.iris/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-
|
|
181
|
+
**Artifact**: `ddd-02-logical-design.md`
|
|
182
|
+
**Template**: `.iris/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-logical-design-template.md`
|
|
183
183
|
**Location**: Path defined by `schema.bolts` in `.iris/aidlc/memory-bank.yaml`
|
|
184
|
-
*(Default: `memory-bank/bolts/{bolt-id}/ddd-02-
|
|
184
|
+
*(Default: `memory-bank/bolts/{bolt-id}/ddd-02-logical-design.md`)*
|
|
185
185
|
|
|
186
186
|
**Template Structure**:
|
|
187
187
|
|
|
@@ -192,7 +192,7 @@ bolt: {bolt-id}
|
|
|
192
192
|
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
193
193
|
---
|
|
194
194
|
|
|
195
|
-
##
|
|
195
|
+
## Logical Design: {unit-name}
|
|
196
196
|
|
|
197
197
|
### Architecture Pattern
|
|
198
198
|
{Selected pattern and rationale}
|
|
@@ -251,7 +251,7 @@ created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
|
251
251
|
**⛔ CONSTRAINTS**:
|
|
252
252
|
|
|
253
253
|
- **OPTIONAL**: This stage can be skipped if no ADR-worthy decisions are identified
|
|
254
|
-
- **REQUIRED**: Must have completed `Domain
|
|
254
|
+
- **REQUIRED**: Must have completed `Domain Design` and `Logical Design` stages first
|
|
255
255
|
- **OUTPUT**: ADR documents (if any created)
|
|
256
256
|
|
|
257
257
|
**When to Create ADRs**:
|
|
@@ -337,7 +337,7 @@ Implement CQRS pattern with separate read models for task queries.
|
|
|
337
337
|
|
|
338
338
|
---
|
|
339
339
|
|
|
340
|
-
### Stage 4:
|
|
340
|
+
### Stage 4: Code Generation
|
|
341
341
|
|
|
342
342
|
**Objective**: Generate production-ready code from designs
|
|
343
343
|
|
|
@@ -420,7 +420,7 @@ src/{unit}/
|
|
|
420
420
|
**Checkpoint Output Format**:
|
|
421
421
|
|
|
422
422
|
```text
|
|
423
|
-
## Stage 4 Complete:
|
|
423
|
+
## Stage 4 Complete: Code Generation
|
|
424
424
|
|
|
425
425
|
### Code Generated
|
|
426
426
|
- {n} domain entities
|
|
@@ -444,7 +444,7 @@ Ready to proceed to testing?
|
|
|
444
444
|
|
|
445
445
|
---
|
|
446
446
|
|
|
447
|
-
### Stage 5:
|
|
447
|
+
### Stage 5: Testing
|
|
448
448
|
|
|
449
449
|
**Objective**: Ensure quality through comprehensive testing with acceptance criteria validation
|
|
450
450
|
|
|
@@ -452,7 +452,7 @@ Ready to proceed to testing?
|
|
|
452
452
|
|
|
453
453
|
**⛔ CONSTRAINTS**:
|
|
454
454
|
|
|
455
|
-
- **REQUIRED**: Must have completed `
|
|
455
|
+
- **REQUIRED**: Must have completed `Code Generation` stage first
|
|
456
456
|
- **REQUIRED**: Load all bolt folder artifacts (see Bolt Context Loading section)
|
|
457
457
|
- **OUTPUT**: Tests + documentation artifact (`ddd-03-test-report.md`)
|
|
458
458
|
|
|
@@ -568,7 +568,7 @@ current_stage: design
|
|
|
568
568
|
stages_completed:
|
|
569
569
|
- name: model
|
|
570
570
|
completed: 2024-12-05T10:00:00Z
|
|
571
|
-
artifact: ddd-01-domain-
|
|
571
|
+
artifact: ddd-01-domain-design.md
|
|
572
572
|
status: in-progress
|
|
573
573
|
---
|
|
574
574
|
```
|
|
@@ -577,15 +577,15 @@ status: in-progress
|
|
|
577
577
|
|
|
578
578
|
## Bolt Context Loading
|
|
579
579
|
|
|
580
|
-
For stages that build on previous work (Stage 4:
|
|
580
|
+
For stages that build on previous work (Stage 4: Code Generation, Stage 5: Testing), load all artifacts from the bolt folder:
|
|
581
581
|
|
|
582
582
|
**Location**: `memory-bank/bolts/{bolt-id}/`
|
|
583
583
|
|
|
584
584
|
**Load all files in this folder**, which may include:
|
|
585
585
|
|
|
586
586
|
- `bolt.md` - Bolt instance metadata
|
|
587
|
-
- `ddd-01-domain-
|
|
588
|
-
- `ddd-02-
|
|
587
|
+
- `ddd-01-domain-design.md` - Domain design from Stage 1
|
|
588
|
+
- `ddd-02-logical-design.md` - Logical design from Stage 2
|
|
589
589
|
- `adr-*.md` - Any ADRs from Stage 3
|
|
590
590
|
|
|
591
591
|
This ensures the implementation and test stages have full context from earlier design work.
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
**Stages MUST be executed in this exact order:**
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
Stage 1: Plan → Stage 2:
|
|
28
|
+
Stage 1: Plan → Stage 2: Code Generation → Stage 3: Testing
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**Stage Overview:**
|
|
32
32
|
|
|
33
33
|
- ✅/[ ] **1. Plan** (Required) → `implementation-plan.md`
|
|
34
|
-
- ✅/[ ] **2.
|
|
35
|
-
- ✅/[ ] **3.
|
|
34
|
+
- ✅/[ ] **2. Code Generation** (Required) → Source code + `implementation-walkthrough.md`
|
|
35
|
+
- ✅/[ ] **3. Testing** (Required) → Tests + `test-walkthrough.md`
|
|
36
36
|
|
|
37
37
|
**Rules**:
|
|
38
38
|
|
|
@@ -141,7 +141,7 @@ created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
-
### Stage 2:
|
|
144
|
+
### Stage 2: Code Generation
|
|
145
145
|
|
|
146
146
|
**Objective**: Write the code and document what was done
|
|
147
147
|
|
|
@@ -237,7 +237,7 @@ created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
|
237
237
|
|
|
238
238
|
---
|
|
239
239
|
|
|
240
|
-
### Stage 3:
|
|
240
|
+
### Stage 3: Testing
|
|
241
241
|
|
|
242
242
|
**Objective**: Verify the implementation works correctly
|
|
243
243
|
|
|
@@ -315,7 +315,7 @@ status: in-progress
|
|
|
315
315
|
|
|
316
316
|
## Bolt Context Loading
|
|
317
317
|
|
|
318
|
-
For Stage 2 (
|
|
318
|
+
For Stage 2 (Code Generation) and Stage 3 (Testing), load all artifacts from the bolt folder:
|
|
319
319
|
|
|
320
320
|
**Location**: `memory-bank/bolts/{bolt-id}/`
|
|
321
321
|
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# Construction Phase Guide
|
|
2
|
+
|
|
3
|
+
This guide explains the two construction workflows in AI-DLC: **Greenfield** (new applications) and **Brownfield** (existing applications).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Decision
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Is this a NEW application or feature from scratch?
|
|
11
|
+
├── YES → Greenfield Flow (standard DDD bolt)
|
|
12
|
+
└── NO → Brownfield Flow (code elevation first)
|
|
13
|
+
|
|
14
|
+
Is this modifying/enhancing EXISTING code?
|
|
15
|
+
├── YES → Brownfield Flow (code elevation first)
|
|
16
|
+
└── NO → Greenfield Flow (standard DDD bolt)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Greenfield Flow (New Application)
|
|
22
|
+
|
|
23
|
+
**Use when**: Building something entirely new with no existing codebase to consider.
|
|
24
|
+
|
|
25
|
+
**Examples**:
|
|
26
|
+
- New microservice
|
|
27
|
+
- New feature in a new module
|
|
28
|
+
- New application from scratch
|
|
29
|
+
|
|
30
|
+
### Workflow
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
Inception Complete
|
|
34
|
+
│
|
|
35
|
+
▼
|
|
36
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
37
|
+
│ CONSTRUCTION PHASE │
|
|
38
|
+
├──────────────────────────────────────────────────────────────┤
|
|
39
|
+
│ │
|
|
40
|
+
│ Stage 1: Domain Design │
|
|
41
|
+
│ ├── Identify entities, value objects, aggregates │
|
|
42
|
+
│ ├── Define domain events and services │
|
|
43
|
+
│ └── Output: ddd-01-domain-design.md │
|
|
44
|
+
│ │ │
|
|
45
|
+
│ ▼ │
|
|
46
|
+
│ Stage 2: Logical Design │
|
|
47
|
+
│ ├── Select architectural patterns │
|
|
48
|
+
│ ├── Design API contracts, data model │
|
|
49
|
+
│ └── Output: ddd-02-logical-design.md │
|
|
50
|
+
│ │ │
|
|
51
|
+
│ ▼ │
|
|
52
|
+
│ Stage 3: ADR Analysis (Optional) │
|
|
53
|
+
│ ├── Document significant decisions │
|
|
54
|
+
│ └── Output: adr-*.md (if needed) │
|
|
55
|
+
│ │ │
|
|
56
|
+
│ ▼ │
|
|
57
|
+
│ Stage 4: Code Generation │
|
|
58
|
+
│ ├── Generate code from designs │
|
|
59
|
+
│ └── Output: Source code │
|
|
60
|
+
│ │ │
|
|
61
|
+
│ ▼ │
|
|
62
|
+
│ Stage 5: Testing │
|
|
63
|
+
│ ├── Unit, integration, security tests │
|
|
64
|
+
│ └── Output: ddd-03-test-report.md │
|
|
65
|
+
│ │
|
|
66
|
+
└──────────────────────────────────────────────────────────────┘
|
|
67
|
+
│
|
|
68
|
+
▼
|
|
69
|
+
Operations Phase
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Templates Used
|
|
73
|
+
|
|
74
|
+
| Stage | Template |
|
|
75
|
+
|-------|----------|
|
|
76
|
+
| Domain Design | `bolt-types/ddd-construction-bolt/ddd-01-domain-design-template.md` |
|
|
77
|
+
| Logical Design | `bolt-types/ddd-construction-bolt/ddd-02-logical-design-template.md` |
|
|
78
|
+
| ADR | `bolt-types/ddd-construction-bolt/adr-template.md` |
|
|
79
|
+
| Test Report | `bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md` |
|
|
80
|
+
|
|
81
|
+
### Start Command
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
/iris-construction-agent --unit="{unit-name}"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Brownfield Flow (Existing Application)
|
|
90
|
+
|
|
91
|
+
**Use when**: Modifying, enhancing, or fixing existing code.
|
|
92
|
+
|
|
93
|
+
**Examples**:
|
|
94
|
+
- Adding feature to existing service
|
|
95
|
+
- Bug fix in existing module
|
|
96
|
+
- Refactoring existing code
|
|
97
|
+
- Migrating/modernizing existing system
|
|
98
|
+
|
|
99
|
+
### Why Code Elevation?
|
|
100
|
+
|
|
101
|
+
Per AI-DLC specification:
|
|
102
|
+
|
|
103
|
+
> In brown-field scenarios, the construction phase involves first **elevating the codes into a semantic rich modelling representation** so that the context to AI becomes concise and accurate.
|
|
104
|
+
|
|
105
|
+
This ensures:
|
|
106
|
+
1. AI understands existing structure before making changes
|
|
107
|
+
2. New code is consistent with existing patterns
|
|
108
|
+
3. Changes don't break existing functionality
|
|
109
|
+
4. Impact analysis is accurate
|
|
110
|
+
|
|
111
|
+
### Workflow
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
Inception Complete
|
|
115
|
+
│
|
|
116
|
+
▼
|
|
117
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
118
|
+
│ CODE ELEVATION (Brownfield Only) │
|
|
119
|
+
├──────────────────────────────────────────────────────────────┤
|
|
120
|
+
│ │
|
|
121
|
+
│ Phase 1: Static Model │
|
|
122
|
+
│ ├── Analyze existing codebase │
|
|
123
|
+
│ ├── Document components, responsibilities, relationships │
|
|
124
|
+
│ └── Output: elevation-static-model.md │
|
|
125
|
+
│ │ │
|
|
126
|
+
│ ▼ │
|
|
127
|
+
│ Phase 2: Dynamic Model │
|
|
128
|
+
│ ├── Trace significant use cases │
|
|
129
|
+
│ ├── Document component interactions, data flows │
|
|
130
|
+
│ └── Output: elevation-dynamic-model.md │
|
|
131
|
+
│ │
|
|
132
|
+
└──────────────────────────────────────────────────────────────┘
|
|
133
|
+
│
|
|
134
|
+
▼
|
|
135
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
136
|
+
│ CONSTRUCTION PHASE │
|
|
137
|
+
│ (Same as Greenfield, but with context) │
|
|
138
|
+
├──────────────────────────────────────────────────────────────┤
|
|
139
|
+
│ │
|
|
140
|
+
│ Stage 1: Domain Design │
|
|
141
|
+
│ ├── EXTEND existing entities (from static model) │
|
|
142
|
+
│ ├── ADD new entities as needed │
|
|
143
|
+
│ └── Output: ddd-01-domain-design.md │
|
|
144
|
+
│ │ │
|
|
145
|
+
│ ▼ │
|
|
146
|
+
│ Stage 2: Logical Design │
|
|
147
|
+
│ ├── FOLLOW existing patterns (from dynamic model) │
|
|
148
|
+
│ ├── Design changes consistent with existing architecture │
|
|
149
|
+
│ └── Output: ddd-02-logical-design.md │
|
|
150
|
+
│ │ │
|
|
151
|
+
│ ▼ │
|
|
152
|
+
│ [Stages 3-5 same as Greenfield] │
|
|
153
|
+
│ │
|
|
154
|
+
└──────────────────────────────────────────────────────────────┘
|
|
155
|
+
│
|
|
156
|
+
▼
|
|
157
|
+
Operations Phase
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Templates Used
|
|
161
|
+
|
|
162
|
+
| Phase/Stage | Template |
|
|
163
|
+
|-------------|----------|
|
|
164
|
+
| Static Model | `elevation-static-model-template.md` |
|
|
165
|
+
| Dynamic Model | `elevation-dynamic-model-template.md` |
|
|
166
|
+
| Domain Design | `bolt-types/ddd-construction-bolt/ddd-01-domain-design-template.md` |
|
|
167
|
+
| (etc.) | (same as Greenfield) |
|
|
168
|
+
|
|
169
|
+
### Start Command
|
|
170
|
+
|
|
171
|
+
```text
|
|
172
|
+
/iris-construction-agent --unit="{unit-name}" --brownfield
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Or use the code elevation skill directly:
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
/iris-construction-agent --skill="code-elevate" --unit="{unit-name}"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Comparison Table
|
|
184
|
+
|
|
185
|
+
| Aspect | Greenfield | Brownfield |
|
|
186
|
+
|--------|------------|------------|
|
|
187
|
+
| **Starting Point** | Clean slate | Existing codebase |
|
|
188
|
+
| **First Step** | Domain Design | Code Elevation |
|
|
189
|
+
| **AI Context** | Requirements only | Requirements + Elevation Models |
|
|
190
|
+
| **Design Approach** | Create new patterns | Follow existing patterns |
|
|
191
|
+
| **Risk** | Design risk | Integration/regression risk |
|
|
192
|
+
| **Extra Artifacts** | None | Static Model, Dynamic Model |
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## How Construction Agent Detects Flow
|
|
197
|
+
|
|
198
|
+
The Construction Agent determines the flow by:
|
|
199
|
+
|
|
200
|
+
1. **Explicit flag**: `--brownfield` or `--greenfield`
|
|
201
|
+
2. **Unit brief**: Check `unit_type` in unit-brief.md
|
|
202
|
+
3. **Codebase detection**: Check if `src/{unit}/` already exists
|
|
203
|
+
4. **Ask user**: If unclear, ask which flow to use
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
## Construction Flow Detection
|
|
207
|
+
|
|
208
|
+
I detected existing code in `src/{unit}/`. This appears to be a brownfield scenario.
|
|
209
|
+
|
|
210
|
+
1 - **Brownfield**: Run code elevation first (recommended)
|
|
211
|
+
2 - **Greenfield**: Skip elevation, start fresh
|
|
212
|
+
3 - **Explain**: Tell me more about the flows
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Best Practices
|
|
218
|
+
|
|
219
|
+
### Greenfield
|
|
220
|
+
|
|
221
|
+
- ✅ Start with clear domain boundaries
|
|
222
|
+
- ✅ Apply DDD patterns from the beginning
|
|
223
|
+
- ✅ Document decisions in ADRs
|
|
224
|
+
- ❌ Don't skip Domain Design stage
|
|
225
|
+
|
|
226
|
+
### Brownfield
|
|
227
|
+
|
|
228
|
+
- ✅ Always run code elevation first
|
|
229
|
+
- ✅ Validate elevation models with team
|
|
230
|
+
- ✅ Follow existing patterns unless explicitly changing them
|
|
231
|
+
- ✅ Document deviations from existing patterns in ADRs
|
|
232
|
+
- ❌ Don't assume you understand the codebase without elevation
|
|
233
|
+
- ❌ Don't introduce new patterns without documenting why
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Related Skills
|
|
238
|
+
|
|
239
|
+
| Skill | Purpose | Flow |
|
|
240
|
+
|-------|---------|------|
|
|
241
|
+
| `bolt-start` | Execute construction bolt | Both |
|
|
242
|
+
| `code-elevate` | Elevate existing code to models | Brownfield |
|
|
243
|
+
| `bolt-list` | List available bolts | Both |
|
|
244
|
+
| `bolt-replan` | Modify bolt plan | Both |
|
|
@@ -120,10 +120,11 @@ Update this file when:
|
|
|
120
120
|
```markdown
|
|
121
121
|
| Date | Bolt | Event | Details |
|
|
122
122
|
|------|------|-------|---------|
|
|
123
|
-
| 2025-12-07 | bolt-auth-1 | started | Stage 1:
|
|
124
|
-
| 2025-12-07 | bolt-auth-1 | stage-complete |
|
|
125
|
-
| 2025-12-07 | bolt-auth-1 | stage-complete | Design →
|
|
126
|
-
| 2025-12-
|
|
127
|
-
| 2025-12-08 | bolt-auth-1 |
|
|
128
|
-
| 2025-12-08 | bolt-auth-
|
|
123
|
+
| 2025-12-07 | bolt-auth-1 | started | Stage 1: Domain Design |
|
|
124
|
+
| 2025-12-07 | bolt-auth-1 | stage-complete | Domain Design → Logical Design |
|
|
125
|
+
| 2025-12-07 | bolt-auth-1 | stage-complete | Logical Design → ADR Analysis |
|
|
126
|
+
| 2025-12-07 | bolt-auth-1 | stage-complete | ADR Analysis → Code Generation |
|
|
127
|
+
| 2025-12-08 | bolt-auth-1 | stage-complete | Code Generation → Testing |
|
|
128
|
+
| 2025-12-08 | bolt-auth-1 | completed | All 5 stages done |
|
|
129
|
+
| 2025-12-08 | bolt-auth-2 | started | Stage 1: Domain Design |
|
|
129
130
|
```
|