specsmd 0.0.0-dev.52 → 0.0.0-dev.54
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/flows/fire/agents/builder/agent.md +12 -2
- package/flows/fire/agents/builder/skills/run-execute/SKILL.md +28 -3
- package/flows/fire/agents/builder/skills/run-execute/templates/plan.md.hbs +61 -0
- package/flows/fire/agents/builder/skills/run-execute/templates/test-report.md.hbs +81 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +1 -1
- package/flows/fire/agents/builder/skills/walkthrough-generate/templates/walkthrough.md.hbs +77 -0
- package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +15 -6
- package/flows/fire/agents/orchestrator/skills/project-init/templates/coding-standards.md.hbs +149 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/system-architecture.md.hbs +101 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/tech-stack.md.hbs +136 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/testing-standards.md.hbs +94 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +2 -1
- package/flows/fire/agents/planner/skills/design-doc-generate/templates/design.md.hbs +76 -0
- package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +1 -1
- package/flows/fire/agents/planner/skills/intent-capture/templates/brief.md.hbs +40 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/SKILL.md +2 -1
- package/flows/fire/agents/planner/skills/work-item-decompose/templates/work-item.md.hbs +40 -0
- package/flows/fire/memory-bank.yaml +11 -3
- package/package.json +1 -1
|
@@ -153,14 +153,24 @@ Each run creates a folder with its artifacts:
|
|
|
153
153
|
|
|
154
154
|
```
|
|
155
155
|
.specs-fire/runs/{run-id}/
|
|
156
|
+
├── plan.md # Approved implementation plan (confirm/validate modes)
|
|
156
157
|
├── run.md # Run log (metadata, files changed, decisions)
|
|
158
|
+
├── test-report.md # Test results, coverage, and acceptance validation
|
|
157
159
|
└── walkthrough.md # Implementation walkthrough (for human review)
|
|
158
160
|
```
|
|
159
161
|
|
|
162
|
+
**The quartet**:
|
|
163
|
+
- **plan.md** — What we intended to do (approved at checkpoint)
|
|
164
|
+
- **run.md** — What happened during execution
|
|
165
|
+
- **test-report.md** — Test results and acceptance criteria validation
|
|
166
|
+
- **walkthrough.md** — Human-readable summary after completion
|
|
167
|
+
|
|
160
168
|
| Artifact | Location | Template |
|
|
161
169
|
|----------|----------|----------|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
170
|
+
| Plan | `.specs-fire/runs/{run-id}/plan.md` | `skills/run-execute/templates/plan.md.hbs` |
|
|
171
|
+
| Run Log | `.specs-fire/runs/{run-id}/run.md` | (generated by script) |
|
|
172
|
+
| Test Report | `.specs-fire/runs/{run-id}/test-report.md` | `skills/run-execute/templates/test-report.md.hbs` |
|
|
173
|
+
| Walkthrough | `.specs-fire/runs/{run-id}/walkthrough.md` | `skills/walkthrough-generate/templates/walkthrough.md.hbs` |
|
|
164
174
|
|
|
165
175
|
---
|
|
166
176
|
|
|
@@ -66,7 +66,11 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
66
66
|
<step n="2" title="Load Context">
|
|
67
67
|
<action>Read work item from .specs-fire/intents/{intent}/work-items/{id}.md</action>
|
|
68
68
|
<action>Read intent brief for broader context</action>
|
|
69
|
-
<action>
|
|
69
|
+
<action>Load ALL project standards:</action>
|
|
70
|
+
<substep>.specs-fire/standards/tech-stack.md — Technology choices</substep>
|
|
71
|
+
<substep>.specs-fire/standards/coding-standards.md — Code style and patterns</substep>
|
|
72
|
+
<substep>.specs-fire/standards/testing-standards.md — Testing strategy and coverage</substep>
|
|
73
|
+
<substep>.specs-fire/standards/system-architecture.md — Architecture context and constraints</substep>
|
|
70
74
|
<action>Determine execution mode from work item</action>
|
|
71
75
|
</step>
|
|
72
76
|
|
|
@@ -105,6 +109,10 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
105
109
|
<action>Adjust plan</action>
|
|
106
110
|
<goto step="3b"/>
|
|
107
111
|
</check>
|
|
112
|
+
<check if="response == y">
|
|
113
|
+
<action>Save approved plan using template: templates/plan.md.hbs</action>
|
|
114
|
+
<action>Write to: .specs-fire/runs/{run-id}/plan.md</action>
|
|
115
|
+
</check>
|
|
108
116
|
<goto step="5"/>
|
|
109
117
|
</step>
|
|
110
118
|
|
|
@@ -136,6 +144,11 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
136
144
|
<action>Adjust plan</action>
|
|
137
145
|
<goto step="3c"/>
|
|
138
146
|
</check>
|
|
147
|
+
<check if="response == y">
|
|
148
|
+
<action>Save approved plan using template: templates/plan.md.hbs</action>
|
|
149
|
+
<action>Write to: .specs-fire/runs/{run-id}/plan.md</action>
|
|
150
|
+
<action>Include reference to design doc in plan</action>
|
|
151
|
+
</check>
|
|
139
152
|
<goto step="5"/>
|
|
140
153
|
</step>
|
|
141
154
|
|
|
@@ -154,6 +167,12 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
154
167
|
</step>
|
|
155
168
|
|
|
156
169
|
<step n="6" title="Run Tests">
|
|
170
|
+
<action>Load testing standards from .specs-fire/standards/testing-standards.md</action>
|
|
171
|
+
<action>Write tests following testing standards:</action>
|
|
172
|
+
<substep>Unit tests for new/modified functions</substep>
|
|
173
|
+
<substep>Integration tests for API endpoints or workflows</substep>
|
|
174
|
+
<substep>Follow test naming and structure conventions</substep>
|
|
175
|
+
|
|
157
176
|
<action>Run test suite</action>
|
|
158
177
|
<check if="tests fail">
|
|
159
178
|
<output>
|
|
@@ -162,7 +181,11 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
162
181
|
<action>Fix failing tests</action>
|
|
163
182
|
<action>Re-run tests</action>
|
|
164
183
|
</check>
|
|
165
|
-
|
|
184
|
+
|
|
185
|
+
<action>Validate acceptance criteria from work item</action>
|
|
186
|
+
<action>Measure coverage against target from testing-standards.md</action>
|
|
187
|
+
<action>Generate test report using template: templates/test-report.md.hbs</action>
|
|
188
|
+
<action>Save to: .specs-fire/runs/{run-id}/test-report.md</action>
|
|
166
189
|
</step>
|
|
167
190
|
|
|
168
191
|
<step n="7" title="Complete Run">
|
|
@@ -184,7 +207,9 @@ Before executing scripts, ensure required dependencies are installed:
|
|
|
184
207
|
Tests added: {count}
|
|
185
208
|
Coverage: {percentage}%
|
|
186
209
|
|
|
187
|
-
|
|
210
|
+
Artifacts:
|
|
211
|
+
- Test Report: .specs-fire/runs/{run-id}/test-report.md
|
|
212
|
+
- Walkthrough: .specs-fire/runs/{run-id}/walkthrough.md
|
|
188
213
|
|
|
189
214
|
Continue to next work item? [Y/n]
|
|
190
215
|
</output>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
run: {{run_id}}
|
|
3
|
+
work_item: {{work_item_id}}
|
|
4
|
+
intent: {{intent_id}}
|
|
5
|
+
mode: {{mode}}
|
|
6
|
+
checkpoint: {{checkpoint_type}}
|
|
7
|
+
approved_at: {{approved_at}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Implementation Plan: {{title}}
|
|
11
|
+
|
|
12
|
+
## Approach
|
|
13
|
+
|
|
14
|
+
{{approach}}
|
|
15
|
+
|
|
16
|
+
## Files to Create
|
|
17
|
+
|
|
18
|
+
| File | Purpose |
|
|
19
|
+
|------|---------|
|
|
20
|
+
{{#each files_to_create}}
|
|
21
|
+
| `{{this.path}}` | {{this.purpose}} |
|
|
22
|
+
{{/each}}
|
|
23
|
+
{{#unless files_to_create}}
|
|
24
|
+
| (none) | |
|
|
25
|
+
{{/unless}}
|
|
26
|
+
|
|
27
|
+
## Files to Modify
|
|
28
|
+
|
|
29
|
+
| File | Changes |
|
|
30
|
+
|------|---------|
|
|
31
|
+
{{#each files_to_modify}}
|
|
32
|
+
| `{{this.path}}` | {{this.changes}} |
|
|
33
|
+
{{/each}}
|
|
34
|
+
{{#unless files_to_modify}}
|
|
35
|
+
| (none) | |
|
|
36
|
+
{{/unless}}
|
|
37
|
+
|
|
38
|
+
{{#if tests}}
|
|
39
|
+
## Tests
|
|
40
|
+
|
|
41
|
+
| Test File | Coverage |
|
|
42
|
+
|-----------|----------|
|
|
43
|
+
{{#each tests}}
|
|
44
|
+
| `{{this.path}}` | {{this.coverage}} |
|
|
45
|
+
{{/each}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
|
|
48
|
+
{{#if technical_details}}
|
|
49
|
+
## Technical Details
|
|
50
|
+
|
|
51
|
+
{{technical_details}}
|
|
52
|
+
{{/if}}
|
|
53
|
+
|
|
54
|
+
{{#if design_doc}}
|
|
55
|
+
## Based on Design Doc
|
|
56
|
+
|
|
57
|
+
Reference: `{{design_doc}}`
|
|
58
|
+
{{/if}}
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
*Plan approved at checkpoint. Execution follows.*
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
run: {{run_id}}
|
|
3
|
+
work_item: {{work_item_id}}
|
|
4
|
+
intent: {{intent_id}}
|
|
5
|
+
generated: {{generated_at}}
|
|
6
|
+
status: {{status}}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Test Report: {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
| Category | Passed | Failed | Skipped | Coverage |
|
|
14
|
+
|----------|--------|--------|---------|----------|
|
|
15
|
+
| Unit | {{unit_passed}} | {{unit_failed}} | {{unit_skipped}} | {{unit_coverage}}% |
|
|
16
|
+
| Integration | {{integration_passed}} | {{integration_failed}} | {{integration_skipped}} | {{integration_coverage}}% |
|
|
17
|
+
| **Total** | {{total_passed}} | {{total_failed}} | {{total_skipped}} | {{total_coverage}}% |
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria Validation
|
|
20
|
+
|
|
21
|
+
{{#each acceptance_criteria}}
|
|
22
|
+
- {{#if this.passed}}✅{{else}}❌{{/if}} **{{this.criterion}}** — {{this.status}}
|
|
23
|
+
{{/each}}
|
|
24
|
+
|
|
25
|
+
## Tests Written
|
|
26
|
+
|
|
27
|
+
### Unit Tests
|
|
28
|
+
|
|
29
|
+
{{#each unit_tests}}
|
|
30
|
+
- `{{this.file}}` — {{this.description}}
|
|
31
|
+
{{/each}}
|
|
32
|
+
|
|
33
|
+
### Integration Tests
|
|
34
|
+
|
|
35
|
+
{{#each integration_tests}}
|
|
36
|
+
- `{{this.file}}` — {{this.description}}
|
|
37
|
+
{{/each}}
|
|
38
|
+
|
|
39
|
+
## Test Commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Run all tests
|
|
43
|
+
{{test_command}}
|
|
44
|
+
|
|
45
|
+
# Run with coverage
|
|
46
|
+
{{coverage_command}}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Coverage Details
|
|
50
|
+
|
|
51
|
+
{{#if coverage_details}}
|
|
52
|
+
| Module | Statements | Branches | Functions | Lines |
|
|
53
|
+
|--------|------------|----------|-----------|-------|
|
|
54
|
+
{{#each coverage_details}}
|
|
55
|
+
| `{{this.module}}` | {{this.statements}}% | {{this.branches}}% | {{this.functions}}% | {{this.lines}}% |
|
|
56
|
+
{{/each}}
|
|
57
|
+
{{else}}
|
|
58
|
+
Coverage details not available.
|
|
59
|
+
{{/if}}
|
|
60
|
+
|
|
61
|
+
## Issues Found
|
|
62
|
+
|
|
63
|
+
{{#if issues}}
|
|
64
|
+
| Issue | Severity | Status |
|
|
65
|
+
|-------|----------|--------|
|
|
66
|
+
{{#each issues}}
|
|
67
|
+
| {{this.description}} | {{this.severity}} | {{this.status}} |
|
|
68
|
+
{{/each}}
|
|
69
|
+
{{else}}
|
|
70
|
+
No issues found during testing.
|
|
71
|
+
{{/if}}
|
|
72
|
+
|
|
73
|
+
## Ready for Completion
|
|
74
|
+
|
|
75
|
+
- [{{#if all_tests_pass}}x{{else}} {{/if}}] All tests passing
|
|
76
|
+
- [{{#if coverage_met}}x{{else}} {{/if}}] Coverage target met ({{coverage_target}}%)
|
|
77
|
+
- [{{#if acceptance_met}}x{{else}} {{/if}}] All acceptance criteria validated
|
|
78
|
+
- [{{#if no_critical_issues}}x{{else}} {{/if}}] No critical issues open
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
*Generated by FIRE Run {{run_id}}*
|
|
@@ -61,7 +61,7 @@ Generate implementation walkthrough for human review after run completion.
|
|
|
61
61
|
</step>
|
|
62
62
|
|
|
63
63
|
<step n="5" title="Generate Walkthrough">
|
|
64
|
-
<action
|
|
64
|
+
<action>Generate walkthrough using template: templates/walkthrough.md.hbs</action>
|
|
65
65
|
<action>Save to: .specs-fire/runs/{run-id}/walkthrough.md</action>
|
|
66
66
|
<output>
|
|
67
67
|
Walkthrough generated: .specs-fire/runs/{run-id}/walkthrough.md
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
run: {{run_id}}
|
|
3
|
+
work_item: {{work_item_id}}
|
|
4
|
+
intent: {{intent_id}}
|
|
5
|
+
generated: {{generated}}
|
|
6
|
+
mode: {{mode}}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Implementation Walkthrough: {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
{{summary}}
|
|
14
|
+
|
|
15
|
+
## Files Changed
|
|
16
|
+
|
|
17
|
+
### Created
|
|
18
|
+
|
|
19
|
+
| File | Purpose |
|
|
20
|
+
|------|---------|
|
|
21
|
+
{{#each files_created}}
|
|
22
|
+
| `{{this.path}}` | {{this.purpose}} |
|
|
23
|
+
{{/each}}
|
|
24
|
+
{{#unless files_created}}
|
|
25
|
+
| (none) | |
|
|
26
|
+
{{/unless}}
|
|
27
|
+
|
|
28
|
+
### Modified
|
|
29
|
+
|
|
30
|
+
| File | Changes |
|
|
31
|
+
|------|---------|
|
|
32
|
+
{{#each files_modified}}
|
|
33
|
+
| `{{this.path}}` | {{this.changes}} |
|
|
34
|
+
{{/each}}
|
|
35
|
+
{{#unless files_modified}}
|
|
36
|
+
| (none) | |
|
|
37
|
+
{{/unless}}
|
|
38
|
+
|
|
39
|
+
## Key Implementation Details
|
|
40
|
+
|
|
41
|
+
{{#each implementation_details}}
|
|
42
|
+
### {{@index}}. {{this.title}}
|
|
43
|
+
|
|
44
|
+
{{this.description}}
|
|
45
|
+
|
|
46
|
+
{{/each}}
|
|
47
|
+
|
|
48
|
+
## Decisions Made
|
|
49
|
+
|
|
50
|
+
| Decision | Choice | Rationale |
|
|
51
|
+
|----------|--------|-----------|
|
|
52
|
+
{{#each decisions}}
|
|
53
|
+
| {{this.decision}} | {{this.choice}} | {{this.rationale}} |
|
|
54
|
+
{{/each}}
|
|
55
|
+
{{#unless decisions}}
|
|
56
|
+
| (none) | | |
|
|
57
|
+
{{/unless}}
|
|
58
|
+
|
|
59
|
+
## How to Verify
|
|
60
|
+
|
|
61
|
+
{{#each verification_steps}}
|
|
62
|
+
{{@index}}. **{{this.title}}**
|
|
63
|
+
```bash
|
|
64
|
+
{{this.command}}
|
|
65
|
+
```
|
|
66
|
+
Expected: {{this.expected}}
|
|
67
|
+
|
|
68
|
+
{{/each}}
|
|
69
|
+
|
|
70
|
+
## Test Coverage
|
|
71
|
+
|
|
72
|
+
- Tests added: {{tests_added}}
|
|
73
|
+
- Coverage: {{coverage}}%
|
|
74
|
+
- Status: {{test_status}}
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
*Generated by FIRE Run {{run_id}}*
|
|
@@ -104,8 +104,11 @@ Initialize a new FIRE project by detecting workspace type and setting up standar
|
|
|
104
104
|
<action>Create .specs-fire/runs/</action>
|
|
105
105
|
<action>Create .specs-fire/standards/</action>
|
|
106
106
|
<action>Generate .specs-fire/state.yaml (include autonomy_bias)</action>
|
|
107
|
-
<action>Generate
|
|
108
|
-
<
|
|
107
|
+
<action>Generate standards using templates:</action>
|
|
108
|
+
<substep>tech-stack.md — templates/tech-stack.md.hbs</substep>
|
|
109
|
+
<substep>coding-standards.md — templates/coding-standards.md.hbs</substep>
|
|
110
|
+
<substep>testing-standards.md — templates/testing-standards.md.hbs</substep>
|
|
111
|
+
<substep>system-architecture.md — templates/system-architecture.md.hbs</substep>
|
|
109
112
|
</step>
|
|
110
113
|
|
|
111
114
|
<step n="6" title="Complete">
|
|
@@ -120,7 +123,9 @@ Initialize a new FIRE project by detecting workspace type and setting up standar
|
|
|
120
123
|
├── runs/
|
|
121
124
|
└── standards/
|
|
122
125
|
├── tech-stack.md
|
|
123
|
-
|
|
126
|
+
├── coding-standards.md
|
|
127
|
+
├── testing-standards.md
|
|
128
|
+
└── system-architecture.md
|
|
124
129
|
```
|
|
125
130
|
|
|
126
131
|
Ready to capture your first intent.
|
|
@@ -136,6 +141,10 @@ Initialize a new FIRE project by detecting workspace type and setting up standar
|
|
|
136
141
|
|
|
137
142
|
## Output
|
|
138
143
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
144
|
+
| Artifact | Location | Template |
|
|
145
|
+
|----------|----------|----------|
|
|
146
|
+
| State | `.specs-fire/state.yaml` | — |
|
|
147
|
+
| Tech Stack | `.specs-fire/standards/tech-stack.md` | `templates/tech-stack.md.hbs` |
|
|
148
|
+
| Coding Standards | `.specs-fire/standards/coding-standards.md` | `templates/coding-standards.md.hbs` |
|
|
149
|
+
| Testing Standards | `.specs-fire/standards/testing-standards.md` | `templates/testing-standards.md.hbs` |
|
|
150
|
+
| System Architecture | `.specs-fire/standards/system-architecture.md` | `templates/system-architecture.md.hbs` |
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Coding Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Code Formatting
|
|
8
|
+
|
|
9
|
+
**Tool**: {{formatter}}
|
|
10
|
+
**Config**: {{formatter_config}}
|
|
11
|
+
**Enforcement**: {{formatter_enforcement}}
|
|
12
|
+
|
|
13
|
+
### Key Settings
|
|
14
|
+
|
|
15
|
+
{{#each formatter_settings}}
|
|
16
|
+
- **{{this.setting}}**: {{this.value}}
|
|
17
|
+
{{/each}}
|
|
18
|
+
|
|
19
|
+
## Linting
|
|
20
|
+
|
|
21
|
+
**Tool**: {{linter}}
|
|
22
|
+
**Base Config**: {{linter_base}}
|
|
23
|
+
**Strictness**: {{linter_strictness}}
|
|
24
|
+
|
|
25
|
+
### Key Rules
|
|
26
|
+
|
|
27
|
+
{{#each linter_rules}}
|
|
28
|
+
- `{{this.rule}}`: {{this.setting}} — {{this.rationale}}
|
|
29
|
+
{{/each}}
|
|
30
|
+
|
|
31
|
+
## Naming Conventions
|
|
32
|
+
|
|
33
|
+
### Variables and Functions
|
|
34
|
+
|
|
35
|
+
| Element | Convention | Example |
|
|
36
|
+
|---------|------------|---------|
|
|
37
|
+
{{#each naming_conventions}}
|
|
38
|
+
| {{this.element}} | {{this.convention}} | `{{this.example}}` |
|
|
39
|
+
{{/each}}
|
|
40
|
+
|
|
41
|
+
### Files and Folders
|
|
42
|
+
|
|
43
|
+
{{#each file_naming}}
|
|
44
|
+
- **{{this.type}}**: {{this.convention}} (e.g., `{{this.example}}`)
|
|
45
|
+
{{/each}}
|
|
46
|
+
|
|
47
|
+
## File Organization
|
|
48
|
+
|
|
49
|
+
### Project Structure
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
{{project_structure}}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Conventions
|
|
56
|
+
|
|
57
|
+
{{#each organization_conventions}}
|
|
58
|
+
- **{{this.item}}**: {{this.convention}}
|
|
59
|
+
{{/each}}
|
|
60
|
+
|
|
61
|
+
## Import Order
|
|
62
|
+
|
|
63
|
+
```{{language}}
|
|
64
|
+
{{import_order_example}}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Rules**:
|
|
68
|
+
{{#each import_rules}}
|
|
69
|
+
- {{this}}
|
|
70
|
+
{{/each}}
|
|
71
|
+
|
|
72
|
+
## Error Handling
|
|
73
|
+
|
|
74
|
+
### Pattern
|
|
75
|
+
|
|
76
|
+
**Approach**: {{error_pattern}}
|
|
77
|
+
|
|
78
|
+
### Guidelines
|
|
79
|
+
|
|
80
|
+
{{#each error_guidelines}}
|
|
81
|
+
- {{this}}
|
|
82
|
+
{{/each}}
|
|
83
|
+
|
|
84
|
+
### Example
|
|
85
|
+
|
|
86
|
+
```{{language}}
|
|
87
|
+
{{error_example}}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Logging
|
|
91
|
+
|
|
92
|
+
**Tool**: {{logging_tool}}
|
|
93
|
+
**Format**: {{logging_format}}
|
|
94
|
+
|
|
95
|
+
### Log Levels
|
|
96
|
+
|
|
97
|
+
| Level | Usage |
|
|
98
|
+
|-------|-------|
|
|
99
|
+
{{#each log_levels}}
|
|
100
|
+
| {{this.level}} | {{this.usage}} |
|
|
101
|
+
{{/each}}
|
|
102
|
+
|
|
103
|
+
### Guidelines
|
|
104
|
+
|
|
105
|
+
**Always log**:
|
|
106
|
+
{{#each log_always}}
|
|
107
|
+
- {{this}}
|
|
108
|
+
{{/each}}
|
|
109
|
+
|
|
110
|
+
**Never log**:
|
|
111
|
+
{{#each log_never}}
|
|
112
|
+
- {{this}}
|
|
113
|
+
{{/each}}
|
|
114
|
+
|
|
115
|
+
## Comments and Documentation
|
|
116
|
+
|
|
117
|
+
### When to Comment
|
|
118
|
+
|
|
119
|
+
{{#each comment_guidelines}}
|
|
120
|
+
- {{this}}
|
|
121
|
+
{{/each}}
|
|
122
|
+
|
|
123
|
+
### Documentation Format
|
|
124
|
+
|
|
125
|
+
**Functions**: {{doc_format_functions}}
|
|
126
|
+
**Classes**: {{doc_format_classes}}
|
|
127
|
+
|
|
128
|
+
## Code Patterns
|
|
129
|
+
|
|
130
|
+
### Preferred Patterns
|
|
131
|
+
|
|
132
|
+
{{#each preferred_patterns}}
|
|
133
|
+
#### {{this.name}}
|
|
134
|
+
|
|
135
|
+
{{this.description}}
|
|
136
|
+
|
|
137
|
+
```{{../language}}
|
|
138
|
+
{{this.example}}
|
|
139
|
+
```
|
|
140
|
+
{{/each}}
|
|
141
|
+
|
|
142
|
+
### Anti-Patterns to Avoid
|
|
143
|
+
|
|
144
|
+
{{#each anti_patterns}}
|
|
145
|
+
- **{{this.name}}**: {{this.why}}
|
|
146
|
+
{{/each}}
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
*Generated by FIRE project-init*
|
package/flows/fire/agents/orchestrator/skills/project-init/templates/system-architecture.md.hbs
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# System Architecture
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## System Context
|
|
8
|
+
|
|
9
|
+
{{system_context}}
|
|
10
|
+
|
|
11
|
+
### Context Diagram
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
{{context_diagram}}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Users
|
|
18
|
+
|
|
19
|
+
{{#each users}}
|
|
20
|
+
- **{{this.name}}**: {{this.description}}
|
|
21
|
+
{{/each}}
|
|
22
|
+
|
|
23
|
+
### External Systems
|
|
24
|
+
|
|
25
|
+
{{#each external_systems}}
|
|
26
|
+
- **{{this.name}}**: {{this.purpose}}
|
|
27
|
+
{{/each}}
|
|
28
|
+
|
|
29
|
+
## Architecture Pattern
|
|
30
|
+
|
|
31
|
+
**Pattern**: {{architecture_pattern}}
|
|
32
|
+
**Rationale**: {{architecture_rationale}}
|
|
33
|
+
|
|
34
|
+
## Component Architecture
|
|
35
|
+
|
|
36
|
+
### Components
|
|
37
|
+
|
|
38
|
+
{{#each components}}
|
|
39
|
+
#### {{this.name}}
|
|
40
|
+
|
|
41
|
+
- **Purpose**: {{this.purpose}}
|
|
42
|
+
- **Responsibilities**: {{this.responsibilities}}
|
|
43
|
+
- **Dependencies**: {{this.dependencies}}
|
|
44
|
+
{{/each}}
|
|
45
|
+
|
|
46
|
+
### Component Diagram
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
{{component_diagram}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Data Flow
|
|
53
|
+
|
|
54
|
+
{{data_flow_description}}
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
{{data_flow_diagram}}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Technology Stack
|
|
61
|
+
|
|
62
|
+
| Layer | Technology | Purpose |
|
|
63
|
+
|-------|------------|---------|
|
|
64
|
+
{{#each tech_stack}}
|
|
65
|
+
| {{this.layer}} | {{this.technology}} | {{this.purpose}} |
|
|
66
|
+
{{/each}}
|
|
67
|
+
|
|
68
|
+
## Non-Functional Requirements
|
|
69
|
+
|
|
70
|
+
### Performance
|
|
71
|
+
|
|
72
|
+
{{#each nfr_performance}}
|
|
73
|
+
- **{{this.metric}}**: {{this.target}}
|
|
74
|
+
{{/each}}
|
|
75
|
+
|
|
76
|
+
### Security
|
|
77
|
+
|
|
78
|
+
{{#each nfr_security}}
|
|
79
|
+
- {{this}}
|
|
80
|
+
{{/each}}
|
|
81
|
+
|
|
82
|
+
### Scalability
|
|
83
|
+
|
|
84
|
+
{{scalability_approach}}
|
|
85
|
+
|
|
86
|
+
## Constraints
|
|
87
|
+
|
|
88
|
+
{{#each constraints}}
|
|
89
|
+
- {{this}}
|
|
90
|
+
{{/each}}
|
|
91
|
+
|
|
92
|
+
## Key Decisions
|
|
93
|
+
|
|
94
|
+
| Decision | Choice | Rationale |
|
|
95
|
+
|----------|--------|-----------|
|
|
96
|
+
{{#each key_decisions}}
|
|
97
|
+
| {{this.decision}} | {{this.choice}} | {{this.rationale}} |
|
|
98
|
+
{{/each}}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
*Generated by FIRE project-init*
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Tech Stack
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Core Technologies
|
|
8
|
+
|
|
9
|
+
### Language
|
|
10
|
+
|
|
11
|
+
**Primary**: {{primary_language}}
|
|
12
|
+
**Version**: {{language_version}}
|
|
13
|
+
|
|
14
|
+
### Framework
|
|
15
|
+
|
|
16
|
+
**Framework**: {{framework}}
|
|
17
|
+
**Version**: {{framework_version}}
|
|
18
|
+
**Rationale**: {{framework_rationale}}
|
|
19
|
+
|
|
20
|
+
### Runtime
|
|
21
|
+
|
|
22
|
+
**Runtime**: {{runtime}}
|
|
23
|
+
**Version**: {{runtime_version}}
|
|
24
|
+
|
|
25
|
+
## Data Layer
|
|
26
|
+
|
|
27
|
+
### Database
|
|
28
|
+
|
|
29
|
+
**Type**: {{database_type}}
|
|
30
|
+
**Database**: {{database}}
|
|
31
|
+
**Version**: {{database_version}}
|
|
32
|
+
|
|
33
|
+
### ORM / Data Access
|
|
34
|
+
|
|
35
|
+
**Tool**: {{orm}}
|
|
36
|
+
**Rationale**: {{orm_rationale}}
|
|
37
|
+
|
|
38
|
+
### Caching
|
|
39
|
+
|
|
40
|
+
{{#if caching}}
|
|
41
|
+
**Solution**: {{caching}}
|
|
42
|
+
{{else}}
|
|
43
|
+
Not configured.
|
|
44
|
+
{{/if}}
|
|
45
|
+
|
|
46
|
+
## API Layer
|
|
47
|
+
|
|
48
|
+
### API Style
|
|
49
|
+
|
|
50
|
+
**Style**: {{api_style}}
|
|
51
|
+
|
|
52
|
+
### Documentation
|
|
53
|
+
|
|
54
|
+
**Tool**: {{api_docs}}
|
|
55
|
+
|
|
56
|
+
## Frontend (if applicable)
|
|
57
|
+
|
|
58
|
+
{{#if frontend}}
|
|
59
|
+
### UI Framework
|
|
60
|
+
|
|
61
|
+
**Framework**: {{frontend.framework}}
|
|
62
|
+
**Version**: {{frontend.version}}
|
|
63
|
+
|
|
64
|
+
### Styling
|
|
65
|
+
|
|
66
|
+
**Approach**: {{frontend.styling}}
|
|
67
|
+
|
|
68
|
+
### State Management
|
|
69
|
+
|
|
70
|
+
**Solution**: {{frontend.state_management}}
|
|
71
|
+
{{else}}
|
|
72
|
+
Not applicable (backend-only or CLI project).
|
|
73
|
+
{{/if}}
|
|
74
|
+
|
|
75
|
+
## Infrastructure
|
|
76
|
+
|
|
77
|
+
### Hosting
|
|
78
|
+
|
|
79
|
+
**Platform**: {{hosting_platform}}
|
|
80
|
+
|
|
81
|
+
### Containerization
|
|
82
|
+
|
|
83
|
+
{{#if containerization}}
|
|
84
|
+
**Tool**: {{containerization}}
|
|
85
|
+
{{else}}
|
|
86
|
+
Not configured.
|
|
87
|
+
{{/if}}
|
|
88
|
+
|
|
89
|
+
### CI/CD
|
|
90
|
+
|
|
91
|
+
**Platform**: {{ci_platform}}
|
|
92
|
+
|
|
93
|
+
## Development Tools
|
|
94
|
+
|
|
95
|
+
### Package Manager
|
|
96
|
+
|
|
97
|
+
**Manager**: {{package_manager}}
|
|
98
|
+
|
|
99
|
+
### Build Tool
|
|
100
|
+
|
|
101
|
+
**Tool**: {{build_tool}}
|
|
102
|
+
|
|
103
|
+
### Linting
|
|
104
|
+
|
|
105
|
+
**Linter**: {{linter}}
|
|
106
|
+
**Config**: {{linter_config}}
|
|
107
|
+
|
|
108
|
+
### Formatting
|
|
109
|
+
|
|
110
|
+
**Formatter**: {{formatter}}
|
|
111
|
+
**Config**: {{formatter_config}}
|
|
112
|
+
|
|
113
|
+
## Dependencies
|
|
114
|
+
|
|
115
|
+
### Production Dependencies
|
|
116
|
+
|
|
117
|
+
{{#each prod_dependencies}}
|
|
118
|
+
- `{{this.name}}` ({{this.version}}) — {{this.purpose}}
|
|
119
|
+
{{/each}}
|
|
120
|
+
|
|
121
|
+
### Development Dependencies
|
|
122
|
+
|
|
123
|
+
{{#each dev_dependencies}}
|
|
124
|
+
- `{{this.name}}` ({{this.version}}) — {{this.purpose}}
|
|
125
|
+
{{/each}}
|
|
126
|
+
|
|
127
|
+
## Version Requirements
|
|
128
|
+
|
|
129
|
+
| Tool | Minimum Version | Recommended |
|
|
130
|
+
|------|-----------------|-------------|
|
|
131
|
+
{{#each version_requirements}}
|
|
132
|
+
| {{this.tool}} | {{this.minimum}} | {{this.recommended}} |
|
|
133
|
+
{{/each}}
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
*Generated by FIRE project-init*
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Testing Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Testing Framework
|
|
8
|
+
|
|
9
|
+
**Framework**: {{framework}}
|
|
10
|
+
**Runner**: {{runner}}
|
|
11
|
+
|
|
12
|
+
## Test Types
|
|
13
|
+
|
|
14
|
+
| Type | Tool | Location | When to Use |
|
|
15
|
+
|------|------|----------|-------------|
|
|
16
|
+
{{#each test_types}}
|
|
17
|
+
| {{this.type}} | {{this.tool}} | `{{this.location}}` | {{this.when}} |
|
|
18
|
+
{{/each}}
|
|
19
|
+
|
|
20
|
+
## Coverage Requirements
|
|
21
|
+
|
|
22
|
+
**Target**: {{coverage_target}}%
|
|
23
|
+
**Enforcement**: {{coverage_enforcement}}
|
|
24
|
+
|
|
25
|
+
**Critical paths that MUST have coverage:**
|
|
26
|
+
{{#each critical_paths}}
|
|
27
|
+
- {{this}}
|
|
28
|
+
{{/each}}
|
|
29
|
+
|
|
30
|
+
## Test Naming
|
|
31
|
+
|
|
32
|
+
**Pattern**: `{{naming_pattern}}`
|
|
33
|
+
|
|
34
|
+
**Examples**:
|
|
35
|
+
{{#each naming_examples}}
|
|
36
|
+
- `{{this.name}}` — {{this.description}}
|
|
37
|
+
{{/each}}
|
|
38
|
+
|
|
39
|
+
## Test Structure
|
|
40
|
+
|
|
41
|
+
```{{language}}
|
|
42
|
+
{{test_structure}}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Mock Strategy
|
|
46
|
+
|
|
47
|
+
**Approach**: {{mock_approach}}
|
|
48
|
+
|
|
49
|
+
**Guidelines**:
|
|
50
|
+
{{#each mock_guidelines}}
|
|
51
|
+
- {{this}}
|
|
52
|
+
{{/each}}
|
|
53
|
+
|
|
54
|
+
## Test Data
|
|
55
|
+
|
|
56
|
+
**Strategy**: {{test_data_strategy}}
|
|
57
|
+
|
|
58
|
+
**Guidelines**:
|
|
59
|
+
{{#each test_data_guidelines}}
|
|
60
|
+
- {{this}}
|
|
61
|
+
{{/each}}
|
|
62
|
+
|
|
63
|
+
## Running Tests
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Run all tests
|
|
67
|
+
{{run_all_command}}
|
|
68
|
+
|
|
69
|
+
# Run with coverage
|
|
70
|
+
{{run_coverage_command}}
|
|
71
|
+
|
|
72
|
+
# Run specific test file
|
|
73
|
+
{{run_single_command}}
|
|
74
|
+
|
|
75
|
+
# Run in watch mode
|
|
76
|
+
{{run_watch_command}}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## CI/CD Integration
|
|
80
|
+
|
|
81
|
+
{{#if ci_enabled}}
|
|
82
|
+
**Pipeline**: {{ci_pipeline}}
|
|
83
|
+
**Trigger**: {{ci_trigger}}
|
|
84
|
+
|
|
85
|
+
**Required gates**:
|
|
86
|
+
{{#each ci_gates}}
|
|
87
|
+
- {{this}}
|
|
88
|
+
{{/each}}
|
|
89
|
+
{{else}}
|
|
90
|
+
CI/CD integration not configured.
|
|
91
|
+
{{/if}}
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
*Generated by FIRE project-init*
|
|
@@ -119,7 +119,8 @@ Generate design documents for Validate mode work items (Checkpoint 1).
|
|
|
119
119
|
|
|
120
120
|
<step n="9" title="Handle Response">
|
|
121
121
|
<check if="response == y">
|
|
122
|
-
<action>
|
|
122
|
+
<action>Generate design doc using template: templates/design.md.hbs</action>
|
|
123
|
+
<action>Save to: .specs-fire/intents/{intent-id}/work-items/{id}-design.md</action>
|
|
123
124
|
<action>Mark checkpoint 1 as passed</action>
|
|
124
125
|
<output>
|
|
125
126
|
Design approved. Ready for implementation planning.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
work_item: {{work_item_id}}
|
|
3
|
+
intent: {{intent_id}}
|
|
4
|
+
created: {{created}}
|
|
5
|
+
mode: validate
|
|
6
|
+
checkpoint_1: {{checkpoint_status}}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Design: {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
{{summary}}
|
|
14
|
+
|
|
15
|
+
## Key Decisions
|
|
16
|
+
|
|
17
|
+
| Decision | Choice | Rationale |
|
|
18
|
+
|----------|--------|-----------|
|
|
19
|
+
{{#each decisions}}
|
|
20
|
+
| {{this.decision}} | {{this.choice}} | {{this.rationale}} |
|
|
21
|
+
{{/each}}
|
|
22
|
+
|
|
23
|
+
{{#if domain_model}}
|
|
24
|
+
## Domain Model
|
|
25
|
+
|
|
26
|
+
### Entities
|
|
27
|
+
{{#each domain_model.entities}}
|
|
28
|
+
- **{{this.name}}**: {{this.description}}
|
|
29
|
+
{{/each}}
|
|
30
|
+
|
|
31
|
+
### Value Objects
|
|
32
|
+
{{#each domain_model.value_objects}}
|
|
33
|
+
- **{{this.name}}**: {{this.description}}
|
|
34
|
+
{{/each}}
|
|
35
|
+
{{/if}}
|
|
36
|
+
|
|
37
|
+
## Technical Approach
|
|
38
|
+
|
|
39
|
+
### Component Diagram
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
{{component_diagram}}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
{{#if api_endpoints}}
|
|
46
|
+
### API Endpoints
|
|
47
|
+
|
|
48
|
+
{{#each api_endpoints}}
|
|
49
|
+
- `{{this.method}} {{this.path}}` - {{this.description}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
|
|
53
|
+
{{#if database_changes}}
|
|
54
|
+
### Database Changes
|
|
55
|
+
|
|
56
|
+
```sql
|
|
57
|
+
{{database_changes}}
|
|
58
|
+
```
|
|
59
|
+
{{/if}}
|
|
60
|
+
|
|
61
|
+
## Risks & Mitigations
|
|
62
|
+
|
|
63
|
+
| Risk | Impact | Mitigation |
|
|
64
|
+
|------|--------|------------|
|
|
65
|
+
{{#each risks}}
|
|
66
|
+
| {{this.risk}} | {{this.impact}} | {{this.mitigation}} |
|
|
67
|
+
{{/each}}
|
|
68
|
+
|
|
69
|
+
## Implementation Checklist
|
|
70
|
+
|
|
71
|
+
{{#each checklist}}
|
|
72
|
+
- [ ] {{this}}
|
|
73
|
+
{{/each}}
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
*Checkpoint 1 approved: {{approved_at}}*
|
|
@@ -85,7 +85,7 @@ Capture user intent through guided conversation.
|
|
|
85
85
|
|
|
86
86
|
<step n="4" title="Generate Intent Brief">
|
|
87
87
|
<action>Create intent ID from title (kebab-case)</action>
|
|
88
|
-
<action>Generate intent brief using template</action>
|
|
88
|
+
<action>Generate intent brief using template: templates/brief.md.hbs</action>
|
|
89
89
|
<action>Create directory: .specs-fire/intents/{intent-id}/</action>
|
|
90
90
|
<action>Save: .specs-fire/intents/{intent-id}/brief.md</action>
|
|
91
91
|
</step>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: {{id}}
|
|
3
|
+
title: {{title}}
|
|
4
|
+
status: {{status}}
|
|
5
|
+
created: {{created}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Intent: {{title}}
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
|
|
12
|
+
{{goal}}
|
|
13
|
+
|
|
14
|
+
## Users
|
|
15
|
+
|
|
16
|
+
{{users}}
|
|
17
|
+
|
|
18
|
+
## Problem
|
|
19
|
+
|
|
20
|
+
{{problem}}
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
{{#each success_criteria}}
|
|
25
|
+
- {{this}}
|
|
26
|
+
{{/each}}
|
|
27
|
+
|
|
28
|
+
## Constraints
|
|
29
|
+
|
|
30
|
+
{{#each constraints}}
|
|
31
|
+
- {{this}}
|
|
32
|
+
{{/each}}
|
|
33
|
+
|
|
34
|
+
## Notes
|
|
35
|
+
|
|
36
|
+
{{#if notes}}
|
|
37
|
+
{{notes}}
|
|
38
|
+
{{else}}
|
|
39
|
+
(none)
|
|
40
|
+
{{/if}}
|
|
@@ -132,7 +132,8 @@ Break an intent into discrete, executable work items.
|
|
|
132
132
|
<step n="7" title="Save Work Items">
|
|
133
133
|
<check if="approved">
|
|
134
134
|
<action>Create .specs-fire/intents/{intent-id}/work-items/</action>
|
|
135
|
-
<action>For each work item,
|
|
135
|
+
<action>For each work item, generate using template: templates/work-item.md.hbs</action>
|
|
136
|
+
<action>Save each to: .specs-fire/intents/{intent-id}/work-items/{work-item-id}.md</action>
|
|
136
137
|
<action>Update state.yaml with work items list</action>
|
|
137
138
|
</check>
|
|
138
139
|
</step>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: {{id}}
|
|
3
|
+
title: {{title}}
|
|
4
|
+
intent: {{intent}}
|
|
5
|
+
complexity: {{complexity}}
|
|
6
|
+
mode: {{mode}}
|
|
7
|
+
status: {{status}}
|
|
8
|
+
depends_on: [{{#each depends_on}}{{this}}{{#unless @last}}, {{/unless}}{{/each}}]
|
|
9
|
+
created: {{created}}
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Work Item: {{title}}
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
|
|
16
|
+
{{description}}
|
|
17
|
+
|
|
18
|
+
## Acceptance Criteria
|
|
19
|
+
|
|
20
|
+
{{#each acceptance_criteria}}
|
|
21
|
+
- [ ] {{this}}
|
|
22
|
+
{{/each}}
|
|
23
|
+
|
|
24
|
+
## Technical Notes
|
|
25
|
+
|
|
26
|
+
{{#if technical_notes}}
|
|
27
|
+
{{technical_notes}}
|
|
28
|
+
{{else}}
|
|
29
|
+
(none)
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
## Dependencies
|
|
33
|
+
|
|
34
|
+
{{#if depends_on}}
|
|
35
|
+
{{#each depends_on}}
|
|
36
|
+
- {{this}}
|
|
37
|
+
{{/each}}
|
|
38
|
+
{{else}}
|
|
39
|
+
(none)
|
|
40
|
+
{{/if}}
|
|
@@ -11,7 +11,7 @@ structure:
|
|
|
11
11
|
- path: runs/
|
|
12
12
|
description: "Execution logs and walkthroughs per run"
|
|
13
13
|
- path: standards/
|
|
14
|
-
description: "Project standards (tech-stack, coding-standards)"
|
|
14
|
+
description: "Project standards (tech-stack, coding-standards, testing-standards)"
|
|
15
15
|
|
|
16
16
|
# Central state file (FIRE's source of truth)
|
|
17
17
|
state:
|
|
@@ -67,8 +67,10 @@ naming:
|
|
|
67
67
|
example: "run-001/"
|
|
68
68
|
note: "Sequential 3-digit number, folder per run"
|
|
69
69
|
contents:
|
|
70
|
-
- "
|
|
71
|
-
- "
|
|
70
|
+
- "plan.md" # Approved implementation plan (confirm/validate modes)
|
|
71
|
+
- "run.md" # Run log
|
|
72
|
+
- "test-report.md" # Test results and coverage
|
|
73
|
+
- "walkthrough.md" # Implementation walkthrough
|
|
72
74
|
|
|
73
75
|
# Schema Definition (Source of Truth for Agents)
|
|
74
76
|
schema:
|
|
@@ -79,9 +81,15 @@ schema:
|
|
|
79
81
|
work-item: ".specs-fire/intents/{intent-id}/work-items/{work-item-id}.md"
|
|
80
82
|
runs: ".specs-fire/runs/"
|
|
81
83
|
run-folder: ".specs-fire/runs/{run-id}/"
|
|
84
|
+
plan: ".specs-fire/runs/{run-id}/plan.md"
|
|
82
85
|
run-log: ".specs-fire/runs/{run-id}/run.md"
|
|
86
|
+
test-report: ".specs-fire/runs/{run-id}/test-report.md"
|
|
83
87
|
walkthrough: ".specs-fire/runs/{run-id}/walkthrough.md"
|
|
84
88
|
standards: ".specs-fire/standards/"
|
|
89
|
+
tech-stack: ".specs-fire/standards/tech-stack.md"
|
|
90
|
+
coding-standards: ".specs-fire/standards/coding-standards.md"
|
|
91
|
+
testing-standards: ".specs-fire/standards/testing-standards.md"
|
|
92
|
+
system-architecture: ".specs-fire/standards/system-architecture.md"
|
|
85
93
|
|
|
86
94
|
# Agent Ownership
|
|
87
95
|
ownership:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specsmd",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.54",
|
|
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": {
|