project-iris 0.0.11 → 0.0.12

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.
Files changed (38) hide show
  1. package/dist/cli.js +4 -2
  2. package/dist/commands/create.js +25 -0
  3. package/dist/iris_bundle/frameworks/iris-core/framework.yaml +9 -0
  4. package/dist/iris_bundle/frameworks/iris-core/memory/memory-bank.yaml +1 -0
  5. package/dist/iris_bundle/frameworks/iris-core/policy.yaml +7 -0
  6. package/dist/iris_bundle/frameworks/iris-core/templates/config/memory-bank.yaml +1 -0
  7. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-template.md +226 -0
  8. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
  9. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
  10. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
  11. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
  12. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
  13. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
  14. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/spike-bolt.md +240 -0
  15. package/dist/iris_bundle/frameworks/iris-core/templates/inception/requirements-template.md +144 -0
  16. package/dist/iris_bundle/frameworks/iris-core/templates/inception/stories-template.md +38 -0
  17. package/dist/iris_bundle/frameworks/iris-core/templates/inception/story-template.md +147 -0
  18. package/dist/iris_bundle/frameworks/iris-core/templates/inception/system-context-template.md +29 -0
  19. package/dist/iris_bundle/frameworks/iris-core/templates/inception/unit-brief-template.md +177 -0
  20. package/dist/iris_bundle/frameworks/iris-core/templates/inception/units-template.md +52 -0
  21. package/dist/templates/construction/bolt-template.md +226 -0
  22. package/dist/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
  23. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
  24. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
  25. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
  26. package/dist/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
  27. package/dist/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
  28. package/dist/templates/construction/bolt-types/spike-bolt.md +240 -0
  29. package/dist/templates/inception/requirements-template.md +144 -0
  30. package/dist/templates/inception/stories-template.md +38 -0
  31. package/dist/templates/inception/story-template.md +147 -0
  32. package/dist/templates/inception/system-context-template.md +29 -0
  33. package/dist/templates/inception/unit-brief-template.md +177 -0
  34. package/dist/templates/inception/units-template.md +52 -0
  35. package/dist/workflows/bolt-plan.js +57 -28
  36. package/dist/workflows/intent-inception.js +82 -7
  37. package/dist/workflows/memory-bank-generator.js +180 -0
  38. package/package.json +3 -2
package/dist/cli.js CHANGED
@@ -15,11 +15,12 @@ import { bridgeCommand } from "./commands/bridge.js";
15
15
  import { frameworkCommand } from "./commands/framework.js";
16
16
  import { generateCommand } from "./commands/generate.js";
17
17
  import { useCommand } from "./commands/use.js";
18
+ import { createCommand } from "./commands/create.js";
18
19
  const program = new Command();
19
20
  program
20
21
  .name("iris")
21
22
  .description("IRIS CLI - Intelligent Repository for Intent-driven Systems")
22
- .version("0.0.11")
23
+ .version("0.0.12")
23
24
  .addCommand(installCommand)
24
25
  .addCommand(uninstallCommand)
25
26
  .addCommand(frameworkCommand)
@@ -34,5 +35,6 @@ program
34
35
  .addCommand(doctorCommand)
35
36
  .addCommand(developCommand)
36
37
  .addCommand(bridgeCommand)
37
- .addCommand(useCommand);
38
+ .addCommand(useCommand)
39
+ .addCommand(createCommand);
38
40
  program.parseAsync(process.argv);
@@ -0,0 +1,25 @@
1
+ import { Command } from "commander";
2
+ import { generateMemoryBankStructure } from "../workflows/memory-bank-generator.js";
3
+ import { createConnector } from "../bridge/connector-factory.js";
4
+ import kleur from "kleur";
5
+ export const createCommand = new Command("create")
6
+ .description("Create memory bank artifacts")
7
+ .addCommand(new Command("intent")
8
+ .description("Create a new intent with full structure")
9
+ .argument("<intent>", "Intent description")
10
+ .action(async (intent) => {
11
+ console.log(kleur.bold(`Creating intent: ${intent}`));
12
+ const connector = createConnector("auto");
13
+ try {
14
+ await generateMemoryBankStructure({
15
+ intent,
16
+ answers: {}, // No answers for pure creation, or we could prompt
17
+ connector
18
+ });
19
+ console.log(kleur.green("✓ Intent created successfully"));
20
+ }
21
+ catch (error) {
22
+ console.error(kleur.red(`Failed to create intent: ${error.message}`));
23
+ process.exit(1);
24
+ }
25
+ }));
@@ -0,0 +1,9 @@
1
+ apiVersion: iris.framework/v1
2
+ kind: Framework
3
+ metadata:
4
+ name: iris-core
5
+ version: 0.0.1
6
+ description: Core IRIS framework with AIDLC templates
7
+ components:
8
+ - templates
9
+ - policy
@@ -0,0 +1,7 @@
1
+ apiVersion: iris.policy/v1
2
+ kind: Policy
3
+ metadata:
4
+ name: default-policy
5
+ rules:
6
+ - rule: "Use Templates"
7
+ level: "strict"
@@ -0,0 +1,226 @@
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: {UUU}-{unit-name}
31
+ intent: {NNN}-{intent-name}
32
+ type: ddd-construction-bolt
33
+ status: planned
34
+ stories:
35
+ - story-1
36
+ - story-2
37
+ created: {YYYY-MM-DDTHH:MM:SSZ}
38
+ started: null
39
+ completed: null
40
+ current_stage: null
41
+ stages_completed: []
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
+
49
+ # Complexity Assessment (aggregate of included stories)
50
+ complexity:
51
+ avg_complexity: 2 # 1=Low, 2=Medium, 3=High
52
+ avg_uncertainty: 1 # 1=Low, 2=Medium, 3=High
53
+ max_dependencies: 2 # Highest dependency score among stories
54
+ testing_scope: 2 # 1=Unit, 2=Integration, 3=E2E
55
+ ---
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Required Frontmatter Fields (VALIDATION CHECKLIST)
61
+
62
+ Before creating a bolt, verify ALL required fields are present:
63
+
64
+ | Field | Required | Description |
65
+ |-------|----------|-------------|
66
+ | `id` | **YES** | Bolt identifier (format: `{BBB}-{unit-name}`) |
67
+ | `unit` | **YES** | Parent unit ID |
68
+ | `intent` | **YES** | Parent intent ID |
69
+ | `type` | **YES** | Bolt type (`ddd-construction-bolt` or `simple-construction-bolt`) |
70
+ | `status` | **YES** | Current status (`planned`, `in-progress`, `completed`, `blocked`) |
71
+ | `stories` | **YES** | Array of story IDs included in this bolt |
72
+ | `created` | **YES** | Creation timestamp |
73
+ | `requires_bolts` | **YES** | Array of bolt IDs this depends on (can be empty `[]`) |
74
+ | `enables_bolts` | **YES** | Array of bolt IDs waiting on this (can be empty `[]`) |
75
+ | `complexity` | **YES** | Complexity assessment block |
76
+
77
+ **If any required field is missing, the bolt is INVALID.**
78
+
79
+ ---
80
+
81
+ ## Content
82
+
83
+ ```markdown
84
+ # Bolt: {bolt-id}
85
+
86
+ ## Overview
87
+
88
+ {Brief description of what this bolt will accomplish}
89
+
90
+ ## Objective
91
+
92
+ {Specific goal of this bolt tied to the stories it covers}
93
+
94
+ ## Stories Included
95
+
96
+ - **{story-1}**: {title} (Must)
97
+ - **{story-2}**: {title} (Should)
98
+
99
+ ## Bolt Type
100
+
101
+ **Type**: {type name}
102
+ **Definition**: `.iris/aidlc/templates/construction/bolt-types/{type}.md`
103
+
104
+ ## Stages
105
+
106
+ - [ ] **1. {stage-1}**: Pending → {artifact}
107
+ - [ ] **2. {stage-2}**: Pending → {artifact}
108
+ - [ ] **3. {stage-3}**: Pending → {artifact}
109
+ - [ ] **4. {stage-4}**: Pending → {artifact}
110
+
111
+ ## Dependencies
112
+
113
+ ### Requires
114
+ - {Previous bolt or None}
115
+
116
+ ### Enables
117
+ - {Next bolt or deployment}
118
+
119
+ ## Success Criteria
120
+
121
+ - [ ] All stories implemented
122
+ - [ ] All acceptance criteria met
123
+ - [ ] Tests passing
124
+ - [ ] Code reviewed
125
+
126
+ ## Notes
127
+
128
+ {Any additional context or considerations}
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Status Values
134
+
135
+ - **planned**: Bolt created, not started
136
+ - **in-progress**: Currently being executed
137
+ - **completed**: All stages done
138
+ - **blocked**: Cannot proceed due to dependency
139
+
140
+ ---
141
+
142
+ ## Stage Status Symbols
143
+
144
+ - [ ] = Pending
145
+ - ⏳ = In Progress
146
+ - ✅ = Complete
147
+ - 🚫 = Blocked
148
+
149
+ ---
150
+
151
+ ## Example
152
+
153
+ ```yaml
154
+ ---
155
+ id: bolt-auth-service-1
156
+ unit: 001-auth-service
157
+ intent: 001-user-authentication
158
+ type: ddd-construction-bolt
159
+ status: in-progress
160
+ stories:
161
+ - story-1
162
+ - story-2
163
+ created: 2024-12-05
164
+ started: 2024-12-05
165
+ completed: null
166
+ current_stage: design
167
+ stages_completed:
168
+ - name: model
169
+ completed: 2024-12-05T10:00:00Z
170
+ artifact: ddd-01-domain-model.md
171
+
172
+ requires_bolts: []
173
+ enables_bolts:
174
+ - bolt-auth-service-2
175
+ requires_units: []
176
+ blocks: false
177
+
178
+ complexity:
179
+ avg_complexity: 2
180
+ avg_uncertainty: 1
181
+ max_dependencies: 1
182
+ testing_scope: 2
183
+ ---
184
+
185
+ # Bolt: bolt-auth-service-1
186
+
187
+ ## Overview
188
+
189
+ First bolt for authentication service covering user registration and login.
190
+
191
+ ## Objective
192
+
193
+ Implement core authentication functionality including user registration with email verification and secure login.
194
+
195
+ ## Stories Included
196
+
197
+ - **story-1**: User can register (Must)
198
+ - **story-2**: User can login (Must)
199
+
200
+ ## Bolt Type
201
+
202
+ **Type**: DDD Construction Bolt
203
+ **Definition**: `.iris/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md`
204
+
205
+ ## Stages
206
+
207
+ - ✅ **1. model**: Complete → ddd-01-domain-model.md
208
+ - ⏳ **2. design**: In Progress → ddd-02-technical-design.md ← current
209
+ - [ ] **3. implement**: Pending → src/auth-service/
210
+ - [ ] **4. test**: Pending → ddd-03-test-report.md
211
+
212
+ ## Dependencies
213
+
214
+ ### Requires
215
+ - None (first bolt)
216
+
217
+ ### Enables
218
+ - bolt-auth-service-2 (MFA implementation)
219
+
220
+ ## Success Criteria
221
+
222
+ - ✅ Domain model defined
223
+ - [ ] API design complete
224
+ - [ ] Implementation complete
225
+ - [ ] Tests passing
226
+ ```
@@ -0,0 +1,49 @@
1
+ ---
2
+ bolt: {bolt-id}
3
+ created: {YYYY-MM-DDTHH:MM:SSZ}
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: {UUU}-{unit-name}
3
+ bolt: {BBB}-{unit-name}
4
+ stage: model
5
+ status: complete
6
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
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: {UUU}-{unit-name}
3
+ bolt: {BBB}-{unit-name}
4
+ stage: design
5
+ status: complete
6
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
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: {UUU}-{unit-name}
3
+ bolt: {BBB}-{unit-name}
4
+ stage: test
5
+ status: complete
6
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
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