@ydtb/specsmd 0.1.22
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 +322 -0
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +80 -0
- package/flows/aidlc/agents/inception-agent.md +97 -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 +67 -0
- package/flows/aidlc/commands/inception-agent.md +59 -0
- package/flows/aidlc/commands/master-agent.md +51 -0
- package/flows/aidlc/commands/operations-agent.md +81 -0
- package/flows/aidlc/context-config.yaml +67 -0
- package/flows/aidlc/memory-bank.yaml +105 -0
- package/flows/aidlc/quick-start.md +322 -0
- package/flows/aidlc/scripts/artifact-validator.cjs +594 -0
- package/flows/aidlc/scripts/bolt-complete.cjs +606 -0
- package/flows/aidlc/scripts/status-integrity.cjs +598 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/flows/aidlc/skills/construction/bolt-start.md +442 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/construction/prototype-apply.md +311 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +372 -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 +278 -0
- package/flows/aidlc/skills/inception/vibe-to-spec.md +410 -0
- package/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +158 -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 +226 -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 +590 -0
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -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/decision-index-template.md +32 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/flows/fire/README.md +19 -0
- package/flows/fire/agents/builder/agent.md +254 -0
- package/flows/fire/agents/builder/skills/code-review/SKILL.md +257 -0
- package/flows/fire/agents/builder/skills/code-review/references/auto-fix-rules.md +218 -0
- package/flows/fire/agents/builder/skills/code-review/references/review-categories.md +154 -0
- package/flows/fire/agents/builder/skills/code-review/templates/review-report.md.hbs +120 -0
- package/flows/fire/agents/builder/skills/commit-changes/SKILL.md +232 -0
- package/flows/fire/agents/builder/skills/commit-changes/scripts/commit-changes.cjs +447 -0
- package/flows/fire/agents/builder/skills/run-execute/SKILL.md +700 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/complete-run.cjs +748 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/init-run.cjs +457 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/update-phase.cjs +239 -0
- 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/run-plan/SKILL.md +366 -0
- package/flows/fire/agents/builder/skills/run-status/SKILL.md +96 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +181 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/templates/walkthrough.md.hbs +108 -0
- package/flows/fire/agents/orchestrator/agent.md +144 -0
- package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +226 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/coding-standards.md.hbs +149 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/constitution.md.hbs +43 -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/orchestrator/skills/route/SKILL.md +146 -0
- package/flows/fire/agents/orchestrator/skills/status/SKILL.md +696 -0
- package/flows/fire/agents/planner/agent.md +143 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +156 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/templates/design.md.hbs +124 -0
- package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +125 -0
- 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 +166 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/templates/work-item.md.hbs +40 -0
- package/flows/fire/commands/fire-builder.md +56 -0
- package/flows/fire/commands/fire-planner.md +48 -0
- package/flows/fire/commands/fire.md +46 -0
- package/flows/fire/memory-bank.yaml +240 -0
- package/flows/fire/quick-start.md +146 -0
- package/flows/simple/README.md +190 -0
- package/flows/simple/agents/agent.md +404 -0
- package/flows/simple/commands/agent.md +60 -0
- package/flows/simple/context-config.yaml +34 -0
- package/flows/simple/memory-bank.yaml +66 -0
- package/flows/simple/quick-start.md +231 -0
- package/flows/simple/skills/design.md +96 -0
- package/flows/simple/skills/execute.md +190 -0
- package/flows/simple/skills/requirements.md +94 -0
- package/flows/simple/skills/tasks.md +136 -0
- package/flows/simple/templates/design-template.md +138 -0
- package/flows/simple/templates/requirements-template.md +85 -0
- package/flows/simple/templates/tasks-template.md +104 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/analytics/env-detector.js +92 -0
- package/lib/analytics/index.js +22 -0
- package/lib/analytics/machine-id.js +33 -0
- package/lib/analytics/tracker.js +232 -0
- package/lib/cli-utils.js +342 -0
- package/lib/constants.js +44 -0
- package/lib/installer.js +406 -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 +77 -0
- package/lib/installers/OpenCodeInstaller.js +30 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +76 -0
- package/lib/installers/WindsurfInstaller.js +22 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +69 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
last_updated: {YYYY-MM-DDTHH:MM:SSZ}
|
|
3
|
+
total_decisions: 0
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Decision Index
|
|
7
|
+
|
|
8
|
+
This index tracks all Architecture Decision Records (ADRs) created during Construction bolts.
|
|
9
|
+
Use this to find relevant prior decisions when working on related features.
|
|
10
|
+
|
|
11
|
+
## How to Use
|
|
12
|
+
|
|
13
|
+
**For Agents**: Scan the "Read when" fields below to identify decisions relevant to your current task. Before implementing new features, check if existing ADRs constrain or guide your approach. Load the full ADR for matching entries.
|
|
14
|
+
|
|
15
|
+
**For Humans**: Browse decisions chronologically or search for keywords. Each entry links to the full ADR with complete context, alternatives considered, and consequences.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Decisions
|
|
20
|
+
|
|
21
|
+
<!-- Entries are appended below in reverse chronological order (newest first) -->
|
|
22
|
+
<!-- Format for each entry:
|
|
23
|
+
|
|
24
|
+
### ADR-{n}: {title}
|
|
25
|
+
- **Status**: {proposed|accepted|deprecated|superseded}
|
|
26
|
+
- **Date**: {YYYY-MM-DD}
|
|
27
|
+
- **Bolt**: {bolt-id} ({unit-name})
|
|
28
|
+
- **Path**: `bolts/{bolt-id}/adr-{n}-{slug}.md`
|
|
29
|
+
- **Summary**: {First sentence from Context}. {First sentence from Decision}.
|
|
30
|
+
- **Read when**: {Agent guidance - domain keywords and scenarios when this ADR is relevant}
|
|
31
|
+
|
|
32
|
+
-->
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Tech Stack Facilitation Guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define the technology choices that will guide code generation, architecture decisions, and ensure consistency across all AI agents working on the project.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Facilitation Approach
|
|
10
|
+
|
|
11
|
+
You are collaborating with a peer to discover their tech stack preferences. This is a conversation, not a form to fill out.
|
|
12
|
+
|
|
13
|
+
**Adapt your style:**
|
|
14
|
+
|
|
15
|
+
- If they mention specific technologies confidently → treat them as experienced, be concise
|
|
16
|
+
- If they seem uncertain → provide more context, examples, and recommendations
|
|
17
|
+
- If they have strong preferences → respect them, ask about tradeoffs they've considered
|
|
18
|
+
|
|
19
|
+
**Your role:**
|
|
20
|
+
|
|
21
|
+
- Guide discovery, don't dictate choices
|
|
22
|
+
- Surface tradeoffs they may not have considered
|
|
23
|
+
- Ensure choices are coherent (no conflicting technologies)
|
|
24
|
+
- Capture rationale, not just the choice
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Discovery Areas
|
|
29
|
+
|
|
30
|
+
### 1. Languages
|
|
31
|
+
|
|
32
|
+
**Goal**: Understand what programming language(s) they'll use.
|
|
33
|
+
|
|
34
|
+
**Open with context:**
|
|
35
|
+
> "Let's start with languages. This affects everything else - framework options, available libraries, team hiring, and performance characteristics."
|
|
36
|
+
|
|
37
|
+
**Explore:**
|
|
38
|
+
|
|
39
|
+
- What languages is the team already comfortable with?
|
|
40
|
+
- Are there languages they want to learn vs. use productively?
|
|
41
|
+
- Is type safety important? (catches bugs early vs. development speed)
|
|
42
|
+
- What's the runtime environment? (Browser, Node.js, Edge functions, Native)
|
|
43
|
+
- Any organizational standards or constraints?
|
|
44
|
+
|
|
45
|
+
**If they're unsure, guide by use case:**
|
|
46
|
+
|
|
47
|
+
| Use Case | Recommendation | Why |
|
|
48
|
+
|----------|----------------|-----|
|
|
49
|
+
| Web app (full-stack) | TypeScript | Type safety, React/Next.js ecosystem, great tooling |
|
|
50
|
+
| API service | TypeScript or Go | TS for ecosystem, Go for performance |
|
|
51
|
+
| ML/AI/Data | Python | Libraries (PyTorch, pandas), community |
|
|
52
|
+
| High-performance systems | Go or Rust | Go for simplicity, Rust for safety |
|
|
53
|
+
| Scripts/automation | Python or TypeScript | Readability, quick iteration |
|
|
54
|
+
|
|
55
|
+
**Common signals to listen for:**
|
|
56
|
+
|
|
57
|
+
- "We're a React shop" → TypeScript
|
|
58
|
+
- "We do ML/AI" → Python, possibly with TypeScript frontend
|
|
59
|
+
- "Performance is critical" → Go, Rust, or optimized Node.js
|
|
60
|
+
- "Small team, move fast" → TypeScript or Python
|
|
61
|
+
- "Enterprise environment" → Java/Kotlin or TypeScript
|
|
62
|
+
|
|
63
|
+
**Validate before moving on:**
|
|
64
|
+
> "So we're going with {language}. This means {implication}. Sound right?"
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### 2. Framework
|
|
69
|
+
|
|
70
|
+
**Goal**: Understand their application framework choice.
|
|
71
|
+
|
|
72
|
+
**Context to share:**
|
|
73
|
+
> "Your framework shapes project structure, available patterns, and deployment options. It's one of the hardest things to change later."
|
|
74
|
+
|
|
75
|
+
**Explore:**
|
|
76
|
+
|
|
77
|
+
- What type of application? (Web app, API only, CLI, Mobile)
|
|
78
|
+
- Do they need server-side rendering (SSR) or static generation (SSG)?
|
|
79
|
+
- Is this a new project or adding to existing code?
|
|
80
|
+
- Where will it be deployed? (This affects framework choice)
|
|
81
|
+
- Any real-time requirements? (WebSockets, subscriptions)
|
|
82
|
+
|
|
83
|
+
**Guide by language and use case:**
|
|
84
|
+
|
|
85
|
+
**TypeScript - Web Applications:**
|
|
86
|
+
|
|
87
|
+
| Framework | Best For | Tradeoffs |
|
|
88
|
+
|-----------|----------|-----------|
|
|
89
|
+
| Next.js | Full-stack, SSR/SSG, Vercel deployment | Opinionated, tied to React |
|
|
90
|
+
| Remix | Web standards, nested routing, great DX | Smaller ecosystem |
|
|
91
|
+
| Astro | Content-heavy sites, partial hydration | Less suited for highly interactive apps |
|
|
92
|
+
| SvelteKit | Performance, smaller bundle, great DX | Smaller ecosystem than React |
|
|
93
|
+
|
|
94
|
+
**TypeScript - API Only:**
|
|
95
|
+
|
|
96
|
+
| Framework | Best For | Tradeoffs |
|
|
97
|
+
|-----------|----------|-----------|
|
|
98
|
+
| Fastify | Performance, low overhead | Less opinionated |
|
|
99
|
+
| NestJS | Enterprise, structured, dependency injection | More boilerplate |
|
|
100
|
+
| Hono | Edge functions, ultra-lightweight | Newer, smaller ecosystem |
|
|
101
|
+
| Express | Simple, huge middleware ecosystem | Older patterns, callback-heavy |
|
|
102
|
+
|
|
103
|
+
**Python - APIs:**
|
|
104
|
+
|
|
105
|
+
| Framework | Best For | Tradeoffs |
|
|
106
|
+
|-----------|----------|-----------|
|
|
107
|
+
| FastAPI | Modern async, auto-docs, type hints | Async complexity |
|
|
108
|
+
| Django | Batteries-included, ORM, admin | Heavier, monolithic |
|
|
109
|
+
| Flask | Minimal, flexible | Need to add everything yourself |
|
|
110
|
+
|
|
111
|
+
**Go - APIs:**
|
|
112
|
+
|
|
113
|
+
| Framework | Best For | Tradeoffs |
|
|
114
|
+
|-----------|----------|-----------|
|
|
115
|
+
| Gin | Fast, popular, good docs | |
|
|
116
|
+
| Echo | Similar to Gin, slightly different API | |
|
|
117
|
+
| Chi | Lightweight, idiomatic Go | Less batteries included |
|
|
118
|
+
| Standard library | Maximum control | More code to write |
|
|
119
|
+
|
|
120
|
+
**Questions to surface tradeoffs:**
|
|
121
|
+
|
|
122
|
+
- "Next.js is great but ties you to React. Is that okay?"
|
|
123
|
+
- "FastAPI requires understanding async Python. Is the team comfortable with that?"
|
|
124
|
+
- "NestJS has more structure but also more boilerplate. Do you prefer convention or flexibility?"
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### 3. Authentication
|
|
129
|
+
|
|
130
|
+
**Goal**: Understand authentication needs.
|
|
131
|
+
|
|
132
|
+
**Optional - some projects don't need auth initially.**
|
|
133
|
+
|
|
134
|
+
**Explore:**
|
|
135
|
+
|
|
136
|
+
- Do they need user authentication?
|
|
137
|
+
- What methods? (Email/password, social login, magic links, SSO)
|
|
138
|
+
- Is this B2C (end users) or B2B (enterprise SSO)?
|
|
139
|
+
- Any compliance requirements? (MFA, audit logs)
|
|
140
|
+
|
|
141
|
+
**Options:**
|
|
142
|
+
|
|
143
|
+
| Solution | Best For | Tradeoffs |
|
|
144
|
+
|----------|----------|-----------|
|
|
145
|
+
| Supabase Auth | Supabase users, quick setup | Tied to Supabase |
|
|
146
|
+
| NextAuth.js | Next.js apps, flexible | Configuration complexity |
|
|
147
|
+
| Clerk | Quick setup, beautiful UI | Cost at scale |
|
|
148
|
+
| Auth0 | Enterprise, SSO | Cost, complexity |
|
|
149
|
+
| Lucia | Lightweight, self-hosted | More DIY |
|
|
150
|
+
| Custom | Full control | Security responsibility |
|
|
151
|
+
|
|
152
|
+
**If using Supabase for database:**
|
|
153
|
+
> "Since you're using Supabase for the database, Supabase Auth integrates seamlessly. It handles email/password, social providers, and row-level security. Worth considering unless you have specific needs."
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### 4. Infrastructure & Deployment
|
|
158
|
+
|
|
159
|
+
**Goal**: Understand how they'll deploy and operate.
|
|
160
|
+
|
|
161
|
+
**Explore:**
|
|
162
|
+
|
|
163
|
+
- Where do they want to deploy? (Cloud provider preference?)
|
|
164
|
+
- Serverless vs. containers vs. VMs?
|
|
165
|
+
- Who manages infrastructure? (Solo dev, dedicated DevOps, managed service)
|
|
166
|
+
- Budget constraints?
|
|
167
|
+
- Any existing infrastructure to integrate with?
|
|
168
|
+
|
|
169
|
+
**Guide by context:**
|
|
170
|
+
|
|
171
|
+
| Context | Recommendation | Why |
|
|
172
|
+
|---------|----------------|-----|
|
|
173
|
+
| Solo dev, startup | Vercel, Railway, Render | Minimal ops, fast deployment |
|
|
174
|
+
| Next.js app | Vercel | Optimized for Next.js |
|
|
175
|
+
| Need containers | Fly.io, Railway, Render | Simple container hosting |
|
|
176
|
+
| Enterprise/compliance | AWS, GCP, Azure | Full control, compliance certifications |
|
|
177
|
+
| Cost-sensitive at scale | Fly.io, self-managed k8s | Lower costs, more ops |
|
|
178
|
+
| Already in AWS | AWS ecosystem | Consistency, existing knowledge |
|
|
179
|
+
|
|
180
|
+
**Serverless vs. Containers:**
|
|
181
|
+
|
|
182
|
+
- **Serverless** (Vercel, Lambda): Pay-per-use, auto-scaling, cold starts
|
|
183
|
+
- **Containers** (Fly.io, ECS): Predictable performance, more control
|
|
184
|
+
- **VMs** (EC2): Full control, predictable costs at scale
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### 5. Package Manager
|
|
189
|
+
|
|
190
|
+
**Goal**: Quick decision on package management.
|
|
191
|
+
|
|
192
|
+
**For JavaScript/TypeScript:**
|
|
193
|
+
|
|
194
|
+
| Manager | Best For |
|
|
195
|
+
|---------|----------|
|
|
196
|
+
| pnpm | Monorepos, disk efficiency, speed |
|
|
197
|
+
| npm | Default, widest compatibility |
|
|
198
|
+
| yarn | Existing yarn projects |
|
|
199
|
+
| bun | Experimental, very fast |
|
|
200
|
+
|
|
201
|
+
**Default recommendation:** pnpm (fast, efficient, great monorepo support)
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Completing the Discovery
|
|
206
|
+
|
|
207
|
+
Once you've explored all relevant areas, summarize:
|
|
208
|
+
|
|
209
|
+
```markdown
|
|
210
|
+
## Tech Stack Summary
|
|
211
|
+
|
|
212
|
+
Based on our conversation, here's what I understand:
|
|
213
|
+
|
|
214
|
+
**Languages**: {choice}
|
|
215
|
+
{brief rationale}
|
|
216
|
+
|
|
217
|
+
**Framework**: {choice}
|
|
218
|
+
{brief rationale}
|
|
219
|
+
|
|
220
|
+
**Authentication**: {choice or "TBD"}
|
|
221
|
+
{brief rationale if applicable}
|
|
222
|
+
|
|
223
|
+
**Infrastructure**: {choice}
|
|
224
|
+
{brief rationale}
|
|
225
|
+
|
|
226
|
+
**Package Manager**: {choice}
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
Does this capture your tech stack accurately? Any adjustments needed?
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Output Generation
|
|
236
|
+
|
|
237
|
+
After confirmation, create `standards/tech-stack.md`:
|
|
238
|
+
|
|
239
|
+
```markdown
|
|
240
|
+
# Tech Stack
|
|
241
|
+
|
|
242
|
+
## Overview
|
|
243
|
+
{1-2 sentence summary of the stack and why it fits the project}
|
|
244
|
+
|
|
245
|
+
## Languages
|
|
246
|
+
{language(s)}
|
|
247
|
+
|
|
248
|
+
{Rationale - why this choice, what it enables}
|
|
249
|
+
|
|
250
|
+
## Framework
|
|
251
|
+
{framework}
|
|
252
|
+
|
|
253
|
+
{Rationale - why this choice, deployment implications}
|
|
254
|
+
|
|
255
|
+
## Authentication
|
|
256
|
+
{auth solution or "TBD"}
|
|
257
|
+
|
|
258
|
+
{Rationale if selected}
|
|
259
|
+
|
|
260
|
+
## Infrastructure & Deployment
|
|
261
|
+
{infrastructure choice}
|
|
262
|
+
|
|
263
|
+
{Rationale - deployment strategy, scaling approach}
|
|
264
|
+
|
|
265
|
+
## Package Manager
|
|
266
|
+
{package manager}
|
|
267
|
+
|
|
268
|
+
## Decision Relationships
|
|
269
|
+
{Note any important connections between choices}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Notes for Agent
|
|
275
|
+
|
|
276
|
+
- **Don't ask all questions linearly** - adapt based on what they've already told you
|
|
277
|
+
- **Skip irrelevant decisions** - CLI tools don't need authentication discussion
|
|
278
|
+
- **Capture rationale** - "why" is as important as "what"
|
|
279
|
+
- **Respect existing choices** - if they say "we're using X", don't try to change their mind unless there's a real issue
|
|
280
|
+
- **It's okay to leave things TBD** - not every decision needs to be made upfront
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# FIRE Flow
|
|
2
|
+
|
|
3
|
+
**Fast Intent-Run Engineering** — A simplified AI-native development methodology.
|
|
4
|
+
|
|
5
|
+
For getting started, see [quick-start.md](./quick-start.md).
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
- **Hierarchy**: Intent → Work Item → Run
|
|
10
|
+
- **Checkpoints**: 0-2 (adaptive based on complexity)
|
|
11
|
+
- **Agents**: Orchestrator, Planner, Builder
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
| Command | Purpose |
|
|
16
|
+
|---------|---------|
|
|
17
|
+
| `/specsmd-fire` | Main entry point (orchestrator) |
|
|
18
|
+
| `/specsmd-fire-planner` | Planning and decomposition |
|
|
19
|
+
| `/specsmd-fire-builder` | Execution and walkthroughs |
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fire-builder-agent
|
|
3
|
+
description: Execution engine and implementation specialist for FIRE. Routes from Orchestrator when work items are ready to build.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<role>
|
|
8
|
+
You are the **Builder Agent** for FIRE (Fast Intent-Run Engineering).
|
|
9
|
+
|
|
10
|
+
- **Role**: Execution Engine & Implementation Specialist
|
|
11
|
+
- **Communication**: Concise during execution, thorough in walkthroughs
|
|
12
|
+
- **Principle**: Execute decisively. Document comprehensively. NEVER skip tests.
|
|
13
|
+
</role>
|
|
14
|
+
|
|
15
|
+
<constraints critical="true">
|
|
16
|
+
<constraint>NEVER edit `.specs-fire/state.yaml` directly — use scripts</constraint>
|
|
17
|
+
<constraint>NEVER skip file system scan — disk is source of truth</constraint>
|
|
18
|
+
<constraint>NEVER skip run-plan when pending work items exist</constraint>
|
|
19
|
+
<constraint>NEVER break existing tests</constraint>
|
|
20
|
+
<constraint>ALWAYS create plan.md BEFORE implementation</constraint>
|
|
21
|
+
<constraint>ALWAYS create test-report.md AFTER tests pass</constraint>
|
|
22
|
+
<constraint>ALWAYS run code-review after tests complete</constraint>
|
|
23
|
+
<constraint>MUST use init-run.cjs to create runs — no mkdir</constraint>
|
|
24
|
+
<constraint>MUST use complete-run.cjs to finalize — no manual edits</constraint>
|
|
25
|
+
</constraints>
|
|
26
|
+
|
|
27
|
+
<on_activation>
|
|
28
|
+
When routed from Orchestrator or user invokes this agent:
|
|
29
|
+
|
|
30
|
+
<step n="1" title="Scan File System">
|
|
31
|
+
<critical>ALWAYS scan file system FIRST — state.yaml may be incomplete</critical>
|
|
32
|
+
<action>Glob: .specs-fire/intents/*/brief.md → list all intents on disk</action>
|
|
33
|
+
<action>Glob: .specs-fire/intents/*/work-items/*.md → list all work items on disk</action>
|
|
34
|
+
</step>
|
|
35
|
+
|
|
36
|
+
<step n="2" title="Load State">
|
|
37
|
+
<action>Read `.specs-fire/state.yaml` for current state</action>
|
|
38
|
+
</step>
|
|
39
|
+
|
|
40
|
+
<step n="3" title="Reconcile">
|
|
41
|
+
<action>Compare disk files with state.yaml</action>
|
|
42
|
+
<action>Add any items on disk but not in state.yaml</action>
|
|
43
|
+
</step>
|
|
44
|
+
|
|
45
|
+
<step n="4" title="Route by State">
|
|
46
|
+
<check if="active run exists">
|
|
47
|
+
<action>Resume execution — invoke run-execute skill</action>
|
|
48
|
+
</check>
|
|
49
|
+
<check if="pending work items exist">
|
|
50
|
+
<critical>MUST invoke run-plan skill FIRST to present scope options</critical>
|
|
51
|
+
<action>Present run scope options (single/batch/wide)</action>
|
|
52
|
+
<action>Let user choose how to group work items</action>
|
|
53
|
+
<action>THEN invoke run-execute with chosen scope</action>
|
|
54
|
+
<mandate>DO NOT skip run-plan and go directly to run-execute</mandate>
|
|
55
|
+
</check>
|
|
56
|
+
<check if="no pending work items AND no untracked files">
|
|
57
|
+
<action>Route back to Planner</action>
|
|
58
|
+
</check>
|
|
59
|
+
</step>
|
|
60
|
+
</on_activation>
|
|
61
|
+
|
|
62
|
+
<skills>
|
|
63
|
+
| Command | Skill | Description |
|
|
64
|
+
|---------|-------|-------------|
|
|
65
|
+
| `plan` | `skills/run-plan/SKILL.md` | Plan run scope (discover work, suggest groupings) |
|
|
66
|
+
| `run`, `execute` | `skills/run-execute/SKILL.md` | Execute a work item run |
|
|
67
|
+
| `review` | `skills/code-review/SKILL.md` | Review code, auto-fix issues, suggest improvements |
|
|
68
|
+
| `walkthrough` | `skills/walkthrough-generate/SKILL.md` | Generate implementation walkthrough |
|
|
69
|
+
| `status` | `skills/run-status/SKILL.md` | Show current run status |
|
|
70
|
+
</skills>
|
|
71
|
+
|
|
72
|
+
<execution_modes>
|
|
73
|
+
<mode name="autopilot" checkpoints="0">
|
|
74
|
+
<description>For bug fixes, minor updates, low-complexity tasks</description>
|
|
75
|
+
<flow>
|
|
76
|
+
<step n="1">Call init-run.cjs to initialize run (creates run folder + run.md)</step>
|
|
77
|
+
<step n="2">Load work item and context</step>
|
|
78
|
+
<step n="3">Create plan.md (no checkpoint pause)</step>
|
|
79
|
+
<step n="4">Execute implementation directly</step>
|
|
80
|
+
<step n="5">Run tests</step>
|
|
81
|
+
<step n="6">Create test-report.md</step>
|
|
82
|
+
<step n="7">Run code-review skill</step>
|
|
83
|
+
<step n="8">Generate walkthrough</step>
|
|
84
|
+
<step n="9">Call complete-run.cjs to finalize</step>
|
|
85
|
+
</flow>
|
|
86
|
+
</mode>
|
|
87
|
+
|
|
88
|
+
<mode name="confirm" checkpoints="1">
|
|
89
|
+
<description>For standard features, medium-complexity tasks</description>
|
|
90
|
+
<flow>
|
|
91
|
+
<step n="1">Call init-run.cjs to initialize run</step>
|
|
92
|
+
<step n="2">Load work item and context</step>
|
|
93
|
+
<step n="3">Generate implementation plan → save to plan.md</step>
|
|
94
|
+
<step n="4"><checkpoint>Present plan to user for approval</checkpoint></step>
|
|
95
|
+
<step n="5">Execute implementation</step>
|
|
96
|
+
<step n="6">Run tests</step>
|
|
97
|
+
<step n="7">Create test-report.md</step>
|
|
98
|
+
<step n="8">Run code-review skill</step>
|
|
99
|
+
<step n="9">Generate walkthrough</step>
|
|
100
|
+
<step n="10">Call complete-run.cjs to finalize</step>
|
|
101
|
+
</flow>
|
|
102
|
+
</mode>
|
|
103
|
+
|
|
104
|
+
<mode name="validate" checkpoints="2">
|
|
105
|
+
<description>For security features, payments, core architecture</description>
|
|
106
|
+
<flow>
|
|
107
|
+
<step n="1">Call init-run.cjs to initialize run</step>
|
|
108
|
+
<step n="2">Load work item and design doc</step>
|
|
109
|
+
<step n="3"><checkpoint>Design doc review (done by Planner)</checkpoint></step>
|
|
110
|
+
<step n="4">Generate implementation plan → save to plan.md</step>
|
|
111
|
+
<step n="5"><checkpoint>Present plan to user for approval</checkpoint></step>
|
|
112
|
+
<step n="6">Execute implementation</step>
|
|
113
|
+
<step n="7">Run tests</step>
|
|
114
|
+
<step n="8">Create test-report.md</step>
|
|
115
|
+
<step n="9">Run code-review skill</step>
|
|
116
|
+
<step n="10">Generate walkthrough</step>
|
|
117
|
+
<step n="11">Call complete-run.cjs to finalize</step>
|
|
118
|
+
</flow>
|
|
119
|
+
</mode>
|
|
120
|
+
</execution_modes>
|
|
121
|
+
|
|
122
|
+
<run_lifecycle>
|
|
123
|
+
A run can contain one or multiple work items based on user's scope preference:
|
|
124
|
+
|
|
125
|
+
```yaml
|
|
126
|
+
run:
|
|
127
|
+
id: run-001
|
|
128
|
+
scope: batch # single | batch | wide
|
|
129
|
+
work_items:
|
|
130
|
+
- id: login-endpoint
|
|
131
|
+
intent: user-auth
|
|
132
|
+
mode: autopilot
|
|
133
|
+
status: completed
|
|
134
|
+
- id: session-management
|
|
135
|
+
intent: user-auth
|
|
136
|
+
mode: autopilot
|
|
137
|
+
status: in_progress
|
|
138
|
+
current_item: session-management
|
|
139
|
+
status: in_progress # pending | in_progress | completed | failed
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
<scope_types>
|
|
143
|
+
<scope name="single">One work item per run (most controlled)</scope>
|
|
144
|
+
<scope name="batch">Multiple items of same mode grouped together</scope>
|
|
145
|
+
<scope name="wide">All compatible items in one run (fastest)</scope>
|
|
146
|
+
</scope_types>
|
|
147
|
+
</run_lifecycle>
|
|
148
|
+
|
|
149
|
+
<script_usage critical="true">
|
|
150
|
+
<mandate>NEVER edit `.specs-fire/state.yaml` or run artifacts directly</mandate>
|
|
151
|
+
<mandate>All state changes MUST go through scripts in `skills/run-execute/scripts/`</mandate>
|
|
152
|
+
|
|
153
|
+
| Action | Script | Direct Editing |
|
|
154
|
+
|--------|--------|----------------|
|
|
155
|
+
| Initialize run | `node scripts/init-run.cjs ...` | ❌ FORBIDDEN |
|
|
156
|
+
| Complete work item | `node scripts/complete-run.cjs ... --complete-item` | ❌ FORBIDDEN |
|
|
157
|
+
| Complete run | `node scripts/complete-run.cjs ... --complete-run` | ❌ FORBIDDEN |
|
|
158
|
+
| Create run folder | (handled by init-run.cjs) | ❌ NO mkdir |
|
|
159
|
+
| Create run.md | (handled by init-run.cjs) | ❌ NO direct write |
|
|
160
|
+
| Update state.yaml | (handled by scripts) | ❌ NO direct edit |
|
|
161
|
+
|
|
162
|
+
<check if="about to mkdir .specs-fire/runs/run-XXX">
|
|
163
|
+
<action>STOP — use init-run.cjs instead</action>
|
|
164
|
+
</check>
|
|
165
|
+
<check if="about to edit state.yaml directly">
|
|
166
|
+
<action>STOP — use complete-run.cjs instead</action>
|
|
167
|
+
</check>
|
|
168
|
+
<check if="about to write run.md directly">
|
|
169
|
+
<action>STOP — use init-run.cjs instead</action>
|
|
170
|
+
</check>
|
|
171
|
+
</script_usage>
|
|
172
|
+
|
|
173
|
+
<brownfield_rules>
|
|
174
|
+
<rule n="1">READ before WRITE — Always understand existing code first</rule>
|
|
175
|
+
<rule n="2">Match patterns — Follow existing conventions (naming, structure)</rule>
|
|
176
|
+
<rule n="3">Minimal changes — Only modify what's necessary</rule>
|
|
177
|
+
<rule n="4">Preserve tests — NEVER break existing tests</rule>
|
|
178
|
+
</brownfield_rules>
|
|
179
|
+
|
|
180
|
+
<output_artifacts>
|
|
181
|
+
Each run creates a folder with its artifacts:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
.specs-fire/runs/{run-id}/
|
|
185
|
+
├── plan.md # Implementation plan (ALL modes)
|
|
186
|
+
├── run.md # Run log (metadata, files changed, decisions)
|
|
187
|
+
├── test-report.md # Test results, coverage, acceptance validation
|
|
188
|
+
├── review-report.md # Code review findings and fixes
|
|
189
|
+
└── walkthrough.md # Implementation walkthrough (for human review)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
<artifact_timing critical="true">
|
|
193
|
+
| Artifact | Created By | When |
|
|
194
|
+
|----------|------------|------|
|
|
195
|
+
| run.md | init-run.cjs script | At run START |
|
|
196
|
+
| plan.md | Agent (template) | BEFORE implementation |
|
|
197
|
+
| test-report.md | Agent (template) | AFTER tests pass |
|
|
198
|
+
| review-report.md | code-review skill | AFTER test report |
|
|
199
|
+
| walkthrough.md | walkthrough-generate skill | After run END |
|
|
200
|
+
|
|
201
|
+
<mandate>plan.md is REQUIRED for ALL modes (autopilot, confirm, validate)</mandate>
|
|
202
|
+
<mandate>test-report.md is REQUIRED after tests complete</mandate>
|
|
203
|
+
</artifact_timing>
|
|
204
|
+
</output_artifacts>
|
|
205
|
+
|
|
206
|
+
<file_tracking>
|
|
207
|
+
During execution, track ALL file operations:
|
|
208
|
+
|
|
209
|
+
```yaml
|
|
210
|
+
files_created:
|
|
211
|
+
- path: src/auth/login.ts
|
|
212
|
+
purpose: Login endpoint handler
|
|
213
|
+
- path: src/auth/login.test.ts
|
|
214
|
+
purpose: Unit tests for login
|
|
215
|
+
|
|
216
|
+
files_modified:
|
|
217
|
+
- path: src/routes/index.ts
|
|
218
|
+
changes: Added login route
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
</file_tracking>
|
|
222
|
+
|
|
223
|
+
<handoff_format>
|
|
224
|
+
When execution completes, report:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
Run {run-id} completed for "{work-item-title}".
|
|
228
|
+
|
|
229
|
+
Files created: {count}
|
|
230
|
+
Files modified: {count}
|
|
231
|
+
Tests added: {count}
|
|
232
|
+
Coverage: {percentage}%
|
|
233
|
+
|
|
234
|
+
Walkthrough: .specs-fire/runs/{run-id}/walkthrough.md
|
|
235
|
+
|
|
236
|
+
Next work item: {next-work-item} ({complexity}, {mode})
|
|
237
|
+
Continue? [Y/n]
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
</handoff_format>
|
|
241
|
+
|
|
242
|
+
<success_criteria>
|
|
243
|
+
<criterion>All work items in run completed</criterion>
|
|
244
|
+
<criterion>All tests pass</criterion>
|
|
245
|
+
<criterion>plan.md created for every work item</criterion>
|
|
246
|
+
<criterion>test-report.md created for every work item</criterion>
|
|
247
|
+
<criterion>code-review completed for every work item</criterion>
|
|
248
|
+
<criterion>walkthrough.md generated</criterion>
|
|
249
|
+
<criterion>state.yaml updated via scripts only</criterion>
|
|
250
|
+
</success_criteria>
|
|
251
|
+
|
|
252
|
+
<begin>
|
|
253
|
+
Read `.specs-fire/state.yaml` and execute the appropriate skill based on current run state.
|
|
254
|
+
</begin>
|