specdacular 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: specd.new-project
3
+ description: Bootstrap a new project from idea to structured plan
4
+ argument-hint: "[project-name]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - AskUserQuestion
12
+ - Task
13
+ ---
14
+
15
+ <objective>
16
+ Guide users from "I have an idea" to a structured project plan for greenfield projects. Unlike `/specd.new` which adds tasks to existing codebases, this bootstraps entire projects (or multi-service systems) through collaborative questioning, domain research, requirements scoping, and roadmap generation — producing an orchestrator setup with per-project task lifecycles.
17
+
18
+ **Stages:**
19
+ 1. **Questioning** — Collaborative discussion to understand vision, goals, users, constraints
20
+ 2. **Research** — Parallel agents investigate stack, features, architecture, pitfalls
21
+ 3. **Requirements** — Multi-select scoping from research findings → REQUIREMENTS.md
22
+ 4. **Roadmap** — Phase planning mapped to requirements, identifies sub-projects
23
+ 5. **Scaffolding** — Create orchestrator config, sub-project directories, seed setup tasks
24
+
25
+ **Creates:**
26
+ - `.specd/tasks/project/PROJECT.md` — Project vision and goals
27
+ - `.specd/tasks/project/research/` — Stack, features, architecture, pitfalls findings
28
+ - `.specd/tasks/project/REQUIREMENTS.md` — Scoped v1 requirements with REQ-IDs
29
+ - `.specd/tasks/project/ROADMAP.md` — Phased execution plan
30
+ - `.specd/config.json` — Orchestrator config with projects array
31
+ - Per sub-project: `.specd/config.json` + `.specd/tasks/setup/FEATURE.md`
32
+
33
+ **This is a standalone command.** It runs its own sequential flow and exits. After scaffolding, use `/specd.new` and `/specd.continue` on individual sub-projects.
34
+ </objective>
35
+
36
+ <execution_context>
37
+ @~/.claude/specdacular/workflows/new-project.md
38
+ </execution_context>
39
+
40
+ <context>
41
+ Project name: $ARGUMENTS
42
+
43
+ **No codebase context needed** — this is for greenfield projects with no existing code.
44
+
45
+ **References:**
46
+ - `~/.claude/specdacular/templates/tasks/PROJECT.md` — Project vision template
47
+ - `~/.claude/specdacular/templates/tasks/REQUIREMENTS.md` — Requirements template (Phase 3)
48
+ - `~/.claude/specdacular/agents/project-researcher.md` — Research agent (Phase 2)
49
+ </context>
50
+
51
+ <success_criteria>
52
+ - [ ] Questioning produces PROJECT.md with clear vision, goals, users, constraints
53
+ - [ ] Research spawns parallel agents for 4 domains (Phase 2)
54
+ - [ ] Requirements scoped via multi-select from research (Phase 3)
55
+ - [ ] Roadmap generated with phases mapped to requirements (Phase 3)
56
+ - [ ] Sub-projects scaffolded with orchestrator config (Phase 4)
57
+ - [ ] Each sub-project independently runnable via `/specd.new` and `/specd.continue`
58
+ </success_criteria>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specdacular",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Feature planning system for existing codebases. Map, understand, and plan features in large projects.",
5
5
  "bin": {
6
6
  "specdacular": "bin/install.js"
@@ -9,6 +9,7 @@
9
9
  | Command | Description |
10
10
  |---------|-------------|
11
11
  | `/specd.new [name]` | Initialize a task, start first discussion |
12
+ | `/specd.new-project [name]` | Bootstrap a new project from idea to structured plan |
12
13
  | `/specd.continue [name] [--interactive\|--auto]` | Continue task lifecycle — picks up where you left off |
13
14
 
14
15
  | `/specd.toolbox [<name>]` | Advanced task operations |
@@ -32,6 +33,11 @@
32
33
  /specd.new → /specd.continue → continue → continue → done
33
34
  ```
34
35
 
36
+ **For new projects (greenfield):**
37
+ ```
38
+ /specd.new-project → (questioning → research → requirements → roadmap → scaffold)
39
+ ```
40
+
35
41
  **You only need three commands:**
36
42
 
37
43
  1. **`/specd.new [name]`** — Start here. Creates task folder, asks initial questions.
@@ -0,0 +1,409 @@
1
+ ---
2
+ name: project-researcher
3
+ description: Researches stack, features, architecture, and pitfalls for greenfield projects. Spawned 4 times with different focus areas by /specd.new-project.
4
+ tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
5
+ ---
6
+
7
+ <role>
8
+ You are a project researcher for greenfield projects. You investigate how to build a project from scratch, producing opinionated recommendations that directly inform requirements and planning.
9
+
10
+ You are spawned by the `/specd.new-project` workflow with one of 4 focus areas:
11
+ - **Stack** — Technology choices (languages, frameworks, libraries, infrastructure)
12
+ - **Features** — Feature categorization and scoping
13
+ - **Architecture** — System design, service boundaries, data model
14
+ - **Pitfalls** — Common mistakes, performance issues, security concerns
15
+
16
+ Your job: Answer "What do I need to know to BUILD this project well?" Produce structured findings that the workflow synthesizes into research files.
17
+
18
+ **Key difference from feature-researcher:** There is no existing codebase. All context comes from the user's PROJECT.md vision document. You're helping make foundational decisions, not integrating with existing code.
19
+
20
+ **Core responsibilities:**
21
+ - Investigate the project's domain and technical landscape
22
+ - Recommend specific technologies with versions and rationale
23
+ - Categorize features by importance (table stakes vs differentiators vs nice-to-have)
24
+ - Identify architecture patterns that fit the requirements
25
+ - Document findings with confidence levels (HIGH/MEDIUM/LOW)
26
+ - Be opinionated — "Use X because Y" not "you could use X, Y, or Z"
27
+ </role>
28
+
29
+ <philosophy>
30
+
31
+ ## Claude's Training as Hypothesis
32
+
33
+ Claude's training data is 6-18 months stale. Treat pre-existing knowledge as hypothesis, not fact.
34
+
35
+ **The trap:** Claude "knows" things confidently. But that knowledge may be:
36
+ - Outdated (library has new major version)
37
+ - Incomplete (feature was added after training)
38
+ - Wrong (Claude misremembered or hallucinated)
39
+
40
+ **The discipline:**
41
+ 1. **Verify before asserting** - Don't state library capabilities without checking
42
+ 2. **Prefer current sources** - Context7 and official docs trump training data
43
+ 3. **Flag uncertainty** - LOW confidence when only training data supports a claim
44
+
45
+ ## Opinionated Recommendations
46
+
47
+ Don't list options — recommend. The user needs clear direction, not a menu.
48
+
49
+ Bad: "You could use React, Vue, or Svelte for the frontend"
50
+ Good: "Use Next.js 15 with App Router. It handles SSR, routing, and API routes in one framework. The ecosystem is the most mature for production apps."
51
+
52
+ ## Specificity Over Generality
53
+
54
+ Bad: "Use a database"
55
+ Good: "Use PostgreSQL 16 via Supabase. Gets you auth, realtime, and storage alongside the database. Self-hostable later if needed."
56
+
57
+ ## Research is Investigation, Not Confirmation
58
+
59
+ Don't find evidence for what you already believe. Gather evidence, then form conclusions.
60
+
61
+ </philosophy>
62
+
63
+ <tool_strategy>
64
+
65
+ ## Context7: First for Libraries
66
+
67
+ Context7 provides authoritative, current documentation.
68
+
69
+ **When to use:**
70
+ - Any question about a library's API
71
+ - Current version capabilities
72
+ - Configuration options
73
+
74
+ **How to use:**
75
+ ```
76
+ 1. Resolve library ID:
77
+ mcp__context7__resolve-library-id with libraryName: "[library name]"
78
+
79
+ 2. Query documentation:
80
+ mcp__context7__query-docs with:
81
+ - libraryId: [resolved ID]
82
+ - query: "[specific question]"
83
+ ```
84
+
85
+ ## Official Docs via WebFetch
86
+
87
+ For libraries not in Context7 or for authoritative sources.
88
+
89
+ **When to use:**
90
+ - Library not in Context7
91
+ - Need to verify changelog/release notes
92
+ - Official examples
93
+
94
+ **Best practices:**
95
+ - Use exact URLs, not search result pages
96
+ - Check publication dates
97
+ - Prefer /docs/ paths over marketing pages
98
+
99
+ ## WebSearch: Ecosystem Discovery
100
+
101
+ For finding what exists and common patterns.
102
+
103
+ **Query templates:**
104
+ ```
105
+ Stack discovery:
106
+ - "[domain] tech stack 2025 2026"
107
+ - "[domain] best framework 2025"
108
+ - "[technology] vs [technology] 2025"
109
+
110
+ Feature discovery:
111
+ - "[domain] app essential features"
112
+ - "[domain] MVP features checklist"
113
+
114
+ Architecture discovery:
115
+ - "[domain] system architecture patterns"
116
+ - "[technology] project structure best practices"
117
+
118
+ Pitfall discovery:
119
+ - "[domain] project common mistakes"
120
+ - "[technology] production pitfalls"
121
+ - "[domain] startup technical debt"
122
+ ```
123
+
124
+ **Always include the current year.**
125
+
126
+ ## Verification Protocol
127
+
128
+ For each WebSearch finding:
129
+
130
+ 1. Can I verify with Context7? → Query, upgrade to HIGH
131
+ 2. Can I verify with official docs? → WebFetch, upgrade to MEDIUM
132
+ 3. Multiple sources agree? → Increase confidence one level
133
+ 4. Single unverified source? → Remains LOW, flag it
134
+
135
+ </tool_strategy>
136
+
137
+ <confidence_levels>
138
+
139
+ | Level | Sources | How to Use |
140
+ |-------|---------|------------|
141
+ | HIGH | Context7, official docs | State as recommendation |
142
+ | MEDIUM | Verified with official source | State with attribution |
143
+ | LOW | Single source, unverified | Flag as needing validation |
144
+
145
+ **Never present LOW confidence findings as recommendations.**
146
+
147
+ </confidence_levels>
148
+
149
+ <output_formats>
150
+
151
+ ## Stack Research
152
+
153
+ ```markdown
154
+ ## Stack Findings
155
+
156
+ **Project type:** {what's being built}
157
+ **Confidence:** {overall level}
158
+
159
+ ### Recommended Stack
160
+
161
+ | Layer | Technology | Version | Purpose | Confidence | Source |
162
+ |-------|-----------|---------|---------|------------|--------|
163
+ | {Frontend/Backend/DB/etc.} | {name} | {ver} | {what} | {level} | {source} |
164
+
165
+ ### Why This Stack
166
+
167
+ {Rationale for the overall stack choice. How pieces fit together. Why this combination over alternatives.}
168
+
169
+ ### Key Libraries
170
+
171
+ | Library | Version | Purpose | Confidence |
172
+ |---------|---------|---------|------------|
173
+ | {name} | {ver} | {what it does} | {level} |
174
+
175
+ ### Infrastructure
176
+
177
+ - **Hosting:** {recommendation with rationale}
178
+ - **CI/CD:** {recommendation}
179
+ - **Monitoring:** {recommendation}
180
+
181
+ ### Alternatives Considered
182
+
183
+ | Instead of | Could Use | When |
184
+ |------------|-----------|------|
185
+ | {recommended} | {alternative} | {conditions where alternative is better} |
186
+
187
+ ### Sources
188
+
189
+ **HIGH confidence:**
190
+ - Context7: {library IDs queried}
191
+ - Official: {URLs}
192
+
193
+ **MEDIUM confidence:**
194
+ - {Verified WebSearch findings}
195
+
196
+ **LOW confidence (for awareness only):**
197
+ - {Unverified findings}
198
+ ```
199
+
200
+ ## Features Research
201
+
202
+ ```markdown
203
+ ## Features Findings
204
+
205
+ **Project type:** {what's being built}
206
+ **Confidence:** {overall level}
207
+
208
+ ### Table Stakes (must have for v1)
209
+
210
+ These are non-negotiable — users expect them.
211
+
212
+ | Feature | Description | Complexity | Dependencies |
213
+ |---------|-------------|------------|--------------|
214
+ | {name} | {what it does} | {Low/Med/High} | {other features or tech} |
215
+
216
+ ### Differentiators (competitive advantage)
217
+
218
+ These set the project apart.
219
+
220
+ | Feature | Description | Complexity | Dependencies |
221
+ |---------|-------------|------------|--------------|
222
+ | {name} | {what it does} | {Low/Med/High} | {other features or tech} |
223
+
224
+ ### Nice-to-Have (v2+)
225
+
226
+ Valuable but can wait.
227
+
228
+ | Feature | Description | Complexity |
229
+ |---------|-------------|------------|
230
+ | {name} | {what it does} | {Low/Med/High} |
231
+
232
+ ### Anti-Features (explicitly avoid)
233
+
234
+ Things that seem useful but cause problems.
235
+
236
+ | Feature | Why to Avoid |
237
+ |---------|-------------|
238
+ | {name} | {rationale} |
239
+
240
+ ### Sources
241
+
242
+ {Same format as stack}
243
+ ```
244
+
245
+ ## Architecture Research
246
+
247
+ ```markdown
248
+ ## Architecture Findings
249
+
250
+ **Project type:** {what's being built}
251
+ **Confidence:** {overall level}
252
+
253
+ ### Recommended Architecture
254
+
255
+ **Pattern:** {e.g., monolith-first, microservices, modular monolith}
256
+ **Why:** {rationale based on project scale, team size, domain}
257
+
258
+ ### Service Boundaries
259
+
260
+ | Service | Responsibility | Technology | Communication |
261
+ |---------|---------------|-----------|---------------|
262
+ | {name} | {what it owns} | {stack} | {REST/gRPC/events} |
263
+
264
+ ### Data Model
265
+
266
+ **Key Entities:**
267
+ | Entity | Description | Owned By |
268
+ |--------|-------------|----------|
269
+ | {name} | {what it represents} | {service} |
270
+
271
+ **Key Relationships:**
272
+ - {Entity A} → {Entity B}: {relationship type and rationale}
273
+
274
+ ### Key Patterns
275
+
276
+ | Pattern | Where to Apply | Why |
277
+ |---------|---------------|-----|
278
+ | {name} | {context} | {benefit} |
279
+
280
+ ### Directory Structure
281
+
282
+ ```
283
+ {recommended project structure}
284
+ ```
285
+
286
+ ### Sources
287
+
288
+ {Same format as stack}
289
+ ```
290
+
291
+ ## Pitfalls Research
292
+
293
+ ```markdown
294
+ ## Pitfalls Findings
295
+
296
+ **Project type:** {what's being built}
297
+ **Confidence:** {overall level}
298
+
299
+ ### Critical Pitfalls (causes failures/rewrites)
300
+
301
+ **{Pitfall name}**
302
+ - What goes wrong: {description}
303
+ - Why it happens: {root cause}
304
+ - Prevention: {how to avoid}
305
+ - Detection: {warning signs}
306
+ - Confidence: {level}
307
+ - Source: {where learned}
308
+
309
+ ### Moderate Pitfalls (causes bugs/debt)
310
+
311
+ **{Pitfall name}**
312
+ - What goes wrong: {description}
313
+ - Prevention: {how to avoid}
314
+ - Confidence: {level}
315
+
316
+ ### Minor Pitfalls (causes friction)
317
+
318
+ **{Pitfall name}**
319
+ - What goes wrong: {description}
320
+ - Prevention: {how to avoid}
321
+
322
+ ### Sources
323
+
324
+ {Same format as stack}
325
+ ```
326
+
327
+ </output_formats>
328
+
329
+ <execution_flow>
330
+
331
+ ## Step 1: Parse Research Request
332
+
333
+ Receive from workflow:
334
+ - Project name and vision (from PROJECT.md)
335
+ - Known constraints (from CONTEXT.md/DECISIONS.md)
336
+ - Specific focus area (stack/features/architecture/pitfalls)
337
+ - Open questions from PROJECT.md
338
+
339
+ ## Step 2: Execute Tool Strategy
340
+
341
+ Based on focus area:
342
+
343
+ **For stack:**
344
+ 1. Identify the domain and project type
345
+ 2. WebSearch for current best stacks for this domain
346
+ 3. Context7 for recommended frameworks/libraries
347
+ 4. Verify versions and compatibility
348
+ 5. Recommend a cohesive stack with rationale
349
+
350
+ **For features:**
351
+ 1. WebSearch for "[domain] essential features" and "[domain] MVP"
352
+ 2. Categorize by importance (table stakes / differentiators / nice-to-have)
353
+ 3. Estimate complexity per feature
354
+ 4. Identify anti-features (common but harmful)
355
+
356
+ **For architecture:**
357
+ 1. Consider project scale, team size, domain complexity
358
+ 2. WebSearch for architecture patterns in similar projects
359
+ 3. Design service boundaries if multi-service
360
+ 4. Recommend data model and key patterns
361
+ 5. Suggest directory structure
362
+
363
+ **For pitfalls:**
364
+ 1. WebSearch for common mistakes in this domain
365
+ 2. Look for post-mortems, retrospectives
366
+ 3. Check official docs for warnings
367
+ 4. Categorize by severity (critical/moderate/minor)
368
+
369
+ ## Step 3: Structure Findings
370
+
371
+ Use the appropriate output format for your focus area.
372
+
373
+ Include:
374
+ - Specific versions (not just "latest")
375
+ - Rationale for every recommendation
376
+ - Confidence levels (honest)
377
+ - Sources (URLs, Context7 IDs)
378
+
379
+ ## Step 4: Return to Workflow
380
+
381
+ Return structured markdown. The workflow writes files and synthesizes SUMMARY.md.
382
+
383
+ Do NOT:
384
+ - Write files directly (workflow handles file creation)
385
+ - Make commits (workflow commits)
386
+ - Present findings to user (workflow presents)
387
+
388
+ </execution_flow>
389
+
390
+ <success_criteria>
391
+
392
+ Research is complete when:
393
+
394
+ - [ ] Focus area thoroughly investigated
395
+ - [ ] Findings are specific (versions, names, rationale)
396
+ - [ ] Confidence levels assigned honestly
397
+ - [ ] Sources documented
398
+ - [ ] LOW confidence items flagged
399
+ - [ ] Output follows expected format for the focus area
400
+
401
+ Quality indicators:
402
+
403
+ - **Opinionated:** "Use Next.js 15" not "consider React frameworks"
404
+ - **Specific:** "PostgreSQL 16 via Supabase" not "use a database"
405
+ - **Verified:** Context7/official docs cited
406
+ - **Honest:** LOW confidence items marked as such
407
+ - **Actionable:** Requirements stage can use this directly
408
+
409
+ </success_criteria>
@@ -0,0 +1,52 @@
1
+ # Project: {project-name}
2
+
3
+ ## Vision
4
+
5
+ {One paragraph: what this project is and why it exists. Focus on the core value proposition.}
6
+
7
+ ## Problem Statement
8
+
9
+ {What problem does this solve? Who experiences this problem? Why do existing solutions fall short?}
10
+
11
+ ## Target Users
12
+
13
+ {Who uses this and how? Be specific about user roles and their primary workflows.}
14
+
15
+ - **{User Role 1}** — {What they do with this system}
16
+ - **{User Role 2}** — {What they do with this system}
17
+
18
+ ## Key Goals
19
+
20
+ {3-5 measurable goals for v1. Each should be testable/observable.}
21
+
22
+ 1. {Goal 1}
23
+ 2. {Goal 2}
24
+ 3. {Goal 3}
25
+
26
+ ## Technical Constraints
27
+
28
+ {Known constraints that shape decisions. Platform, language, integrations, timeline, team.}
29
+
30
+ - {Constraint 1} — {Rationale}
31
+ - {Constraint 2} — {Rationale}
32
+
33
+ ## Sub-Projects
34
+
35
+ {Known or suspected sub-projects/services. Can be empty if not yet identified. Will be refined during research and roadmap stages.}
36
+
37
+ - **{sub-project-name}** — {What it does, rough tech stack if known}
38
+
39
+ ## Key Decisions
40
+
41
+ {Decisions made during questioning. Reference DEC-IDs if recorded in DECISIONS.md.}
42
+
43
+ | Decision | Rationale |
44
+ |----------|-----------|
45
+ | {Decision 1} | {Why} |
46
+
47
+ ## Open Questions
48
+
49
+ {Things to resolve during research. These feed into the research agent prompts.}
50
+
51
+ - {Question 1}
52
+ - {Question 2}
@@ -0,0 +1,75 @@
1
+ # Requirements: {project-name}
2
+
3
+ **Scoped:** {date}
4
+ **Total v1:** {count}
5
+
6
+ ---
7
+
8
+ ## v1 Requirements
9
+
10
+ | REQ-ID | Category | Feature | Description | Complexity | Dependencies |
11
+ |--------|----------|---------|-------------|------------|--------------|
12
+ | REQ-001 | {table-stakes\|differentiator\|nice-to-have} | {Feature Name} | {Brief description} | {Low\|Med\|High} | {REQ-IDs or "None"} |
13
+
14
+ ---
15
+
16
+ ## v2+ (Deferred)
17
+
18
+ | Feature | Category | Rationale for Deferral |
19
+ |---------|----------|----------------------|
20
+ | {Feature Name} | {category} | {Why it can wait} |
21
+
22
+ ---
23
+
24
+ ## Out of Scope
25
+
26
+ | Feature | Rationale |
27
+ |---------|-----------|
28
+ | {Feature Name} | {Why explicitly excluded} |
29
+
30
+ ---
31
+
32
+ ## Requirement Details
33
+
34
+ ### REQ-001: {Feature Name}
35
+
36
+ **Category:** {table-stakes|differentiator|nice-to-have}
37
+ **Complexity:** {Low|Med|High}
38
+ **Dependencies:** {REQ-IDs or "None"}
39
+
40
+ **Description:**
41
+ {Expanded description of what this requirement entails.}
42
+
43
+ **Acceptance Criteria:**
44
+ - [ ] {Specific, testable criterion}
45
+ - [ ] {Specific, testable criterion}
46
+
47
+ ---
48
+
49
+ ## Dependencies
50
+
51
+ ```
52
+ {Dependency diagram showing which REQ-IDs depend on others}
53
+ REQ-001
54
+ ├── REQ-003
55
+ └── REQ-005
56
+ └── REQ-007
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Summary
62
+
63
+ | Metric | Count |
64
+ |--------|-------|
65
+ | v1 Requirements | {count} |
66
+ | Table Stakes | {count} |
67
+ | Differentiators | {count} |
68
+ | Nice-to-Have (included) | {count} |
69
+ | Deferred to v2+ | {count} |
70
+ | Out of Scope | {count} |
71
+
72
+ **Complexity Distribution:**
73
+ - Low: {count}
74
+ - Medium: {count}
75
+ - High: {count}
@@ -0,0 +1,799 @@
1
+ <purpose>
2
+ Bootstrap a new project from idea to structured plan. Standalone workflow — no brain/pipeline integration. Runs its own sequential flow: questioning → research → requirements → roadmap → scaffold.
3
+
4
+ After scaffolding, sub-projects use `/specd.new` and `/specd.continue` for their individual task lifecycles.
5
+
6
+ **Output:** `.specd/tasks/project/PROJECT.md` (Phase 1), research files (Phase 2), REQUIREMENTS.md + ROADMAP.md (Phase 3), scaffolded sub-projects (Phase 4)
7
+ </purpose>
8
+
9
+ <philosophy>
10
+
11
+ ## Collaborative, Not Interrogative
12
+
13
+ Follow the thread. When the user mentions something interesting, explore it. Don't march through a checklist of questions. Build understanding through natural dialogue.
14
+
15
+ ## Vision First, Details Later
16
+
17
+ The questioning stage captures the big picture — what, why, who, constraints. Technical details (stack, libraries, architecture) come from research agents later.
18
+
19
+ ## Opinionated Research
20
+
21
+ Research agents don't list options — they recommend. "Use X because Y" is more useful than "you could use X, Y, or Z."
22
+
23
+ ## Greenfield Assumptions
24
+
25
+ There's no codebase to learn from. All context comes from the user's vision and domain research. This is fundamentally different from `/specd.new`.
26
+
27
+ </philosophy>
28
+
29
+ <process>
30
+
31
+ <step name="validate">
32
+ Get project name and validate.
33
+
34
+ **If $ARGUMENTS provided:**
35
+ Use as project name. This is a label for the project, not a task name.
36
+
37
+ **If no arguments:**
38
+ Ask: "What's the name of this project?"
39
+
40
+ **Check if project already exists:**
41
+ ```bash
42
+ [ -d ".specd/tasks/project" ] && echo "exists"
43
+ ```
44
+
45
+ **If project exists:**
46
+ Use AskUserQuestion:
47
+ - header: "Project Exists"
48
+ - question: "A project has already been initialized. What would you like to do?"
49
+ - options:
50
+ - "Start fresh" — Delete existing and reinitialize
51
+ - "View existing" — Show current PROJECT.md
52
+
53
+ **If "Start fresh":**
54
+ ```bash
55
+ rm -rf .specd/tasks/project
56
+ ```
57
+
58
+ **If "View existing":**
59
+ Read and display `.specd/tasks/project/PROJECT.md`. End workflow.
60
+
61
+ **If new project:**
62
+ Continue to questioning.
63
+ </step>
64
+
65
+ <step name="questioning">
66
+ Collaborative conversation to understand the project vision.
67
+
68
+ **Opening:**
69
+ ```
70
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
+ NEW PROJECT: {project-name}
72
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
73
+
74
+ Tell me about this project. What are you building and why?
75
+ ```
76
+
77
+ Wait for response.
78
+
79
+ **Follow the thread:**
80
+ Based on their response, explore:
81
+ - What's the core value? ("When you say X, tell me more about...")
82
+ - Who uses it? ("Who's the primary user? What's their workflow?")
83
+ - What does it need to do? ("What are the must-have capabilities for v1?")
84
+ - Any known technical constraints? ("Any preferences for stack, hosting, team size?")
85
+ - What's out of scope? ("What should we explicitly NOT build?")
86
+ - Sub-projects? ("Does this feel like one app or multiple services?")
87
+
88
+ **Record decisions inline:**
89
+ When the user makes a clear choice, note it for DECISIONS.md later.
90
+
91
+ **After 4-6 exchanges, summarize:**
92
+ ```
93
+ Here's what I'm hearing:
94
+
95
+ **Vision:** {one-liner}
96
+ **Problem:** {what it solves}
97
+ **Users:** {who and how}
98
+ **Key goals:**
99
+ - {goal 1}
100
+ - {goal 2}
101
+ - {goal 3}
102
+
103
+ **Constraints:** {known constraints}
104
+ **Sub-projects:** {identified or "TBD from research"}
105
+
106
+ Does that capture it? Anything to add or correct?
107
+ ```
108
+
109
+ **When to move on:**
110
+ - User confirms the summary
111
+ - You have enough for a meaningful PROJECT.md
112
+ - Technical details can wait for research
113
+
114
+ Continue to write_project.
115
+ </step>
116
+
117
+ <step name="write_project">
118
+ Create the project task directory and write initial documents.
119
+
120
+ **Create directory:**
121
+ ```bash
122
+ mkdir -p .specd/tasks/project
123
+ ```
124
+
125
+ **Write PROJECT.md:**
126
+ Use template at `~/.claude/specdacular/templates/tasks/PROJECT.md`
127
+ Fill in from the questioning conversation.
128
+
129
+ **Write CONTEXT.md:**
130
+ Use template at `~/.claude/specdacular/templates/tasks/CONTEXT.md`
131
+ - Discussion summary from questioning
132
+ - Any resolved questions
133
+ - Open questions that research should address
134
+ - Gray areas (if any)
135
+
136
+ **Write DECISIONS.md:**
137
+ Use template at `~/.claude/specdacular/templates/tasks/DECISIONS.md`
138
+ Record any decisions made during questioning using:
139
+ @~/.claude/specdacular/references/record-decision.md
140
+
141
+ **Write config.json:**
142
+ ```json
143
+ {
144
+ "task_name": "project",
145
+ "project_name": "{project-name}",
146
+ "created": "{date}",
147
+ "stage": "questioning",
148
+ "type": "project"
149
+ }
150
+ ```
151
+
152
+ Continue to commit.
153
+ </step>
154
+
155
+ <step name="commit">
156
+ Commit the project initialization.
157
+
158
+ @~/.claude/specdacular/references/commit-docs.md
159
+
160
+ - **$FILES:** `.specd/tasks/project/`
161
+ - **$MESSAGE:** `docs(project): initialize project — {project-name}` with brief vision summary
162
+ - **$LABEL:** `project initialization`
163
+
164
+ Continue to research.
165
+ </step>
166
+
167
+ <step name="research">
168
+ Spawn 4 parallel research agents to investigate the project domain.
169
+
170
+ **Show banner:**
171
+ ```
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+ RESEARCHING: {project-name}
174
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
175
+ Spawning 4 research agents...
176
+ ```
177
+
178
+ **Prepare context:**
179
+ Read `.specd/tasks/project/PROJECT.md` and `.specd/tasks/project/CONTEXT.md`.
180
+ Build `$PROJECT_CONTEXT` combining: vision, problem, users, goals, constraints, open questions.
181
+
182
+ **Spawn 4 agents using Task tool with `run_in_background: true`:**
183
+
184
+ All agents use `subagent_type: "general-purpose"` and `model: "sonnet"`.
185
+
186
+ **Agent 1 — Stack:**
187
+ ```
188
+ Task(
189
+ subagent_type: "general-purpose"
190
+ model: "sonnet"
191
+ description: "Stack research"
192
+ run_in_background: true
193
+ prompt: "First, read {install-path}/specdacular/agents/project-researcher.md for your role.
194
+
195
+ <focus_area>Stack</focus_area>
196
+
197
+ <project_context>
198
+ $PROJECT_CONTEXT
199
+ </project_context>
200
+
201
+ <research_questions>
202
+ 1. What's the best technology stack for this type of project?
203
+ 2. What frameworks and libraries are recommended for each layer?
204
+ 3. What infrastructure (hosting, CI/CD, monitoring) fits best?
205
+ 4. What are the key version requirements and compatibility concerns?
206
+ </research_questions>
207
+
208
+ Return findings in the Stack Research output format from your role definition."
209
+ )
210
+ ```
211
+
212
+ **Agent 2 — Features:**
213
+ ```
214
+ Task(
215
+ subagent_type: "general-purpose"
216
+ model: "sonnet"
217
+ description: "Features research"
218
+ run_in_background: true
219
+ prompt: "First, read {install-path}/specdacular/agents/project-researcher.md for your role.
220
+
221
+ <focus_area>Features</focus_area>
222
+
223
+ <project_context>
224
+ $PROJECT_CONTEXT
225
+ </project_context>
226
+
227
+ <research_questions>
228
+ 1. What features are table stakes (users expect them)?
229
+ 2. What features would differentiate this project?
230
+ 3. What features should wait for v2+?
231
+ 4. What anti-features should be explicitly avoided?
232
+ </research_questions>
233
+
234
+ Return findings in the Features Research output format from your role definition."
235
+ )
236
+ ```
237
+
238
+ **Agent 3 — Architecture:**
239
+ ```
240
+ Task(
241
+ subagent_type: "general-purpose"
242
+ model: "sonnet"
243
+ description: "Architecture research"
244
+ run_in_background: true
245
+ prompt: "First, read {install-path}/specdacular/agents/project-researcher.md for your role.
246
+
247
+ <focus_area>Architecture</focus_area>
248
+
249
+ <project_context>
250
+ $PROJECT_CONTEXT
251
+ </project_context>
252
+
253
+ <research_questions>
254
+ 1. What architecture pattern fits this project (monolith, microservices, modular)?
255
+ 2. What are the natural service boundaries?
256
+ 3. What does the data model look like?
257
+ 4. What directory structure is recommended?
258
+ </research_questions>
259
+
260
+ Return findings in the Architecture Research output format from your role definition."
261
+ )
262
+ ```
263
+
264
+ **Agent 4 — Pitfalls:**
265
+ ```
266
+ Task(
267
+ subagent_type: "general-purpose"
268
+ model: "sonnet"
269
+ description: "Pitfalls research"
270
+ run_in_background: true
271
+ prompt: "First, read {install-path}/specdacular/agents/project-researcher.md for your role.
272
+
273
+ <focus_area>Pitfalls</focus_area>
274
+
275
+ <project_context>
276
+ $PROJECT_CONTEXT
277
+ </project_context>
278
+
279
+ <research_questions>
280
+ 1. What do teams commonly get wrong when building this type of project?
281
+ 2. What are the performance and scalability pitfalls?
282
+ 3. What security concerns are specific to this domain?
283
+ 4. What architectural mistakes lead to rewrites?
284
+ </research_questions>
285
+
286
+ Return findings in the Pitfalls Research output format from your role definition."
287
+ )
288
+ ```
289
+
290
+ **Wait for all agents to complete.**
291
+
292
+ ```
293
+ Research agents complete:
294
+ - Stack: {✓ | ✗}
295
+ - Features: {✓ | ✗}
296
+ - Architecture: {✓ | ✗}
297
+ - Pitfalls: {✓ | ✗}
298
+ ```
299
+
300
+ Continue to write_research.
301
+ </step>
302
+
303
+ <step name="write_research">
304
+ Write research findings to files and synthesize a summary.
305
+
306
+ **Create research directory:**
307
+ ```bash
308
+ mkdir -p .specd/tasks/project/research
309
+ ```
310
+
311
+ **Write individual research files from agent outputs:**
312
+ - `.specd/tasks/project/research/STACK.md` — Stack agent findings
313
+ - `.specd/tasks/project/research/FEATURES.md` — Features agent findings
314
+ - `.specd/tasks/project/research/ARCHITECTURE.md` — Architecture agent findings
315
+ - `.specd/tasks/project/research/PITFALLS.md` — Pitfalls agent findings
316
+
317
+ **Synthesize SUMMARY.md:**
318
+ Read all 4 files and write `.specd/tasks/project/research/SUMMARY.md` containing:
319
+
320
+ ```markdown
321
+ # Research Summary: {project-name}
322
+
323
+ ## Key Recommendation
324
+
325
+ {One paragraph: the single most important takeaway from research}
326
+
327
+ ## Stack
328
+
329
+ {2-3 sentence summary of recommended stack}
330
+
331
+ ## Features
332
+
333
+ - **Table stakes:** {count} features identified
334
+ - **Differentiators:** {count} features identified
335
+ - **v2+:** {count} features deferred
336
+
337
+ ## Architecture
338
+
339
+ {2-3 sentence summary of recommended architecture}
340
+
341
+ ## Pitfalls
342
+
343
+ - **Critical:** {count} — {brief list}
344
+ - **Moderate:** {count}
345
+ - **Minor:** {count}
346
+
347
+ ## Confidence
348
+
349
+ | Area | Level | Notes |
350
+ |------|-------|-------|
351
+ | Stack | {level} | {brief note} |
352
+ | Features | {level} | {brief note} |
353
+ | Architecture | {level} | {brief note} |
354
+ | Pitfalls | {level} | {brief note} |
355
+
356
+ ## Roadmap Implications
357
+
358
+ {How research findings should influence requirements and phasing}
359
+ ```
360
+
361
+ **Update config.json:**
362
+ ```json
363
+ {
364
+ "stage": "research",
365
+ ...
366
+ }
367
+ ```
368
+
369
+ Continue to commit_research.
370
+ </step>
371
+
372
+ <step name="commit_research">
373
+ Commit research files.
374
+
375
+ @~/.claude/specdacular/references/commit-docs.md
376
+
377
+ - **$FILES:** `.specd/tasks/project/research/ .specd/tasks/project/config.json`
378
+ - **$MESSAGE:** `docs(project): research complete — {project-name}` with key findings summary
379
+ - **$LABEL:** `research findings`
380
+
381
+ Continue to research_complete.
382
+ </step>
383
+
384
+ <step name="research_complete">
385
+ Show research summary and indicate next steps.
386
+
387
+ ```
388
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
389
+ RESEARCH COMPLETE
390
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
391
+
392
+ **Project:** {project-name}
393
+
394
+ **Key recommendation:** {one-liner from SUMMARY.md}
395
+
396
+ **Findings:**
397
+ - Stack: {brief summary}
398
+ - Features: {brief summary}
399
+ - Architecture: {brief summary}
400
+ - Pitfalls: {brief summary}
401
+
402
+ **Confidence:** {overall level}
403
+
404
+ ## Created
405
+
406
+ - `.specd/tasks/project/research/STACK.md`
407
+ - `.specd/tasks/project/research/FEATURES.md`
408
+ - `.specd/tasks/project/research/ARCHITECTURE.md`
409
+ - `.specd/tasks/project/research/PITFALLS.md`
410
+ - `.specd/tasks/project/research/SUMMARY.md`
411
+
412
+ ```
413
+
414
+ Continue to requirements.
415
+ </step>
416
+
417
+ <step name="requirements">
418
+ Scope v1 features from research findings via multi-select.
419
+
420
+ ```
421
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
422
+ REQUIREMENTS SCOPING: {project-name}
423
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
424
+ ```
425
+
426
+ **Read research FEATURES.md:**
427
+ ```bash
428
+ cat .specd/tasks/project/research/FEATURES.md
429
+ ```
430
+ Parse features by category: table stakes, differentiators, nice-to-have, anti-features.
431
+
432
+ **Present features for scoping using AskUserQuestion with multiSelect: true.**
433
+
434
+ For each category, present features in batches of up to 4 (AskUserQuestion limit):
435
+
436
+ **Table Stakes:**
437
+ ```
438
+ **Table Stakes** — Users expect these. Deselect only if you have a reason.
439
+ ```
440
+ Use AskUserQuestion:
441
+ - header: "Table Stakes"
442
+ - question: "Which table stakes features should be in v1?"
443
+ - multiSelect: true
444
+ - options: up to 4 features per batch (label: feature name, description: brief description)
445
+ - Mark all as recommended for table stakes
446
+
447
+ If >4 table stakes features, use multiple AskUserQuestion calls.
448
+
449
+ **Differentiators:**
450
+ ```
451
+ **Differentiators** — These set your project apart. Pick what matters for v1.
452
+ ```
453
+ Use AskUserQuestion:
454
+ - header: "Differentiators"
455
+ - question: "Which differentiator features should be in v1?"
456
+ - multiSelect: true
457
+ - options: up to 4 per batch
458
+
459
+ **Nice-to-Have:**
460
+ ```
461
+ **Nice-to-Have** — These can wait for v2+. Include any you want in v1.
462
+ ```
463
+ Use AskUserQuestion:
464
+ - header: "Nice-to-Have"
465
+ - question: "Any nice-to-have features to include in v1?"
466
+ - multiSelect: true
467
+ - options: up to 4 per batch
468
+
469
+ **After all selections:**
470
+
471
+ Compile results:
472
+ - Selected features → v1 requirements with REQ-IDs (REQ-001, REQ-002, ...)
473
+ - Unselected table stakes/differentiators → v2+ with rationale "Deferred by user during scoping"
474
+ - Unselected nice-to-haves → v2+
475
+ - Anti-features from research → out of scope
476
+
477
+ **Write REQUIREMENTS.md:**
478
+ Use template at `~/.claude/specdacular/templates/tasks/REQUIREMENTS.md`
479
+ Write to `.specd/tasks/project/REQUIREMENTS.md`.
480
+
481
+ **Show summary:**
482
+ ```
483
+ **v1 Scope:**
484
+ - {count} table stakes
485
+ - {count} differentiators
486
+ - {count} nice-to-haves
487
+ Total: {count} requirements
488
+
489
+ **Deferred to v2+:** {count}
490
+ **Out of scope:** {count}
491
+ ```
492
+
493
+ **Commit:**
494
+ @~/.claude/specdacular/references/commit-docs.md
495
+
496
+ - **$FILES:** `.specd/tasks/project/REQUIREMENTS.md`
497
+ - **$MESSAGE:** `docs(project): requirements scoped — {count} v1 requirements`
498
+ - **$LABEL:** `requirements scoped`
499
+
500
+ Continue to roadmap.
501
+ </step>
502
+
503
+ <step name="roadmap">
504
+ Generate a phased roadmap from requirements, research, and architecture findings.
505
+
506
+ ```
507
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
508
+ GENERATING ROADMAP: {project-name}
509
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
510
+ ```
511
+
512
+ **Read context:**
513
+ - `.specd/tasks/project/REQUIREMENTS.md` — v1 requirements with REQ-IDs
514
+ - `.specd/tasks/project/research/ARCHITECTURE.md` — service boundaries, sub-projects
515
+ - `.specd/tasks/project/research/STACK.md` — technology choices
516
+ - `.specd/tasks/project/research/SUMMARY.md` — roadmap implications
517
+
518
+ **Identify sub-projects:**
519
+ From architecture research service boundaries and questioning context:
520
+ - Each service/boundary = potential sub-project
521
+ - If user specified sub-projects during questioning, use those
522
+ - Single-service projects still get one sub-project entry (DEC-002: always orchestrator mode)
523
+
524
+ **Generate phases:**
525
+ Order by dependency:
526
+ 1. Project setup / infrastructure (environment, CI/CD, shared config)
527
+ 2. Data model / core types (shared across services)
528
+ 3. API / backend services (data layer before consumers)
529
+ 4. Frontend / UI (consumes APIs)
530
+ 5. Integration / cross-service features
531
+ 6. Polish / optimization
532
+
533
+ Map each phase to the REQ-IDs it satisfies. Assign phases to sub-projects.
534
+
535
+ **Write ROADMAP.md:**
536
+ Write to `.specd/tasks/project/ROADMAP.md`:
537
+
538
+ ```markdown
539
+ # Roadmap: {project-name}
540
+
541
+ ## Overview
542
+
543
+ | Metric | Value |
544
+ |--------|-------|
545
+ | Total Phases | {count} |
546
+ | Sub-Projects | {count} |
547
+ | v1 Requirements | {count} |
548
+
549
+ ---
550
+
551
+ ## Sub-Projects
552
+
553
+ | Name | Type | Technology | Description |
554
+ |------|------|-----------|-------------|
555
+ | {name} | {frontend/backend/worker/etc.} | {stack} | {what it does} |
556
+
557
+ ---
558
+
559
+ ## Phases
560
+
561
+ {For each phase:}
562
+ - [ ] **Phase {N}: {Name}** — {goal} ({REQ-IDs})
563
+
564
+ ---
565
+
566
+ ## Phase Details
567
+
568
+ ### Phase {N}: {Name}
569
+
570
+ **Goal:** {what this phase accomplishes}
571
+ **Sub-project:** {which sub-project this targets}
572
+ **Requirements:** {REQ-IDs this phase satisfies}
573
+
574
+ **Creates:**
575
+ - {key deliverables}
576
+
577
+ **Dependencies:** {earlier phases this depends on}
578
+
579
+ **Success Criteria:**
580
+ 1. {testable criterion}
581
+
582
+ ---
583
+
584
+ ## Execution Order
585
+
586
+ {Dependency diagram}
587
+
588
+ ---
589
+
590
+ ## Requirements Coverage
591
+
592
+ | REQ-ID | Feature | Phase |
593
+ |--------|---------|-------|
594
+ | REQ-001 | {name} | Phase {N} |
595
+ ```
596
+
597
+ **Update config.json:**
598
+ ```json
599
+ {
600
+ "stage": "roadmap",
601
+ ...
602
+ }
603
+ ```
604
+
605
+ **Commit:**
606
+ @~/.claude/specdacular/references/commit-docs.md
607
+
608
+ - **$FILES:** `.specd/tasks/project/ROADMAP.md .specd/tasks/project/config.json`
609
+ - **$MESSAGE:** `docs(project): roadmap created — {N} phases, {N} sub-projects`
610
+ - **$LABEL:** `roadmap created`
611
+
612
+ Continue to roadmap_complete.
613
+ </step>
614
+
615
+ <step name="roadmap_complete">
616
+ Show roadmap summary and indicate next steps.
617
+
618
+ ```
619
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
620
+ ROADMAP COMPLETE
621
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
622
+
623
+ **Project:** {project-name}
624
+
625
+ **Sub-projects:** {list}
626
+ **Phases:** {count}
627
+ **Requirements covered:** {count}/{total}
628
+
629
+ {For each phase:}
630
+ Phase {N}: {Name} — {goal}
631
+ Sub-project: {name}
632
+ Requirements: {REQ-IDs}
633
+
634
+ ## Created
635
+
636
+ - `.specd/tasks/project/REQUIREMENTS.md` — {count} v1 requirements
637
+ - `.specd/tasks/project/ROADMAP.md` — {count} phases
638
+
639
+ ```
640
+
641
+ Continue to scaffold.
642
+ </step>
643
+
644
+ <step name="scaffold">
645
+ Create orchestrator config, sub-project directories, and seed setup tasks.
646
+
647
+ ```
648
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
649
+ SCAFFOLDING: {project-name}
650
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
651
+ ```
652
+
653
+ **Read context:**
654
+ - `.specd/tasks/project/ROADMAP.md` — sub-projects list, phases per sub-project
655
+ - `.specd/tasks/project/REQUIREMENTS.md` — v1 requirements for seeding setup tasks
656
+ - `.specd/tasks/project/research/STACK.md` — technology per sub-project
657
+ - `.specd/tasks/project/research/ARCHITECTURE.md` — service responsibilities
658
+
659
+ **Create orchestrator config at root:**
660
+ Write `.specd/config.json`:
661
+ ```json
662
+ {
663
+ "type": "orchestrator",
664
+ "project_name": "{project-name}",
665
+ "created": "{date}",
666
+ "projects": [
667
+ {
668
+ "name": "{sub-project-name}",
669
+ "path": "{sub-project-name}/",
670
+ "type": "{frontend|backend|worker|etc.}"
671
+ }
672
+ ]
673
+ }
674
+ ```
675
+
676
+ Note: If `.specd/config.json` already exists (e.g., with auto-commit settings), merge the orchestrator fields into it rather than overwriting.
677
+
678
+ **For each sub-project from ROADMAP.md:**
679
+
680
+ 1. Create directory structure:
681
+ ```bash
682
+ mkdir -p {sub-project-name}/.specd/tasks/setup
683
+ ```
684
+
685
+ 2. Write sub-project `.specd/config.json`:
686
+ ```json
687
+ {
688
+ "type": "project",
689
+ "project_name": "{sub-project-name}",
690
+ "orchestrator": "../",
691
+ "created": "{date}"
692
+ }
693
+ ```
694
+
695
+ 3. Write `.specd/tasks/setup/FEATURE.md` seeded from system-level research.
696
+ Use the FEATURE.md template (`~/.claude/specdacular/templates/tasks/FEATURE.md`) filled with:
697
+
698
+ - **What This Is:** Initial setup for {sub-project-name} — {description from ROADMAP.md}. Creates project structure, installs dependencies, configures development environment.
699
+
700
+ - **Must Create:** Based on STACK.md recommendations for this sub-project:
701
+ - Project configuration files (package.json, tsconfig, etc.)
702
+ - Directory structure per ARCHITECTURE.md recommendations
703
+ - Development environment config (linting, formatting, testing)
704
+ - Basic entry point / hello world
705
+
706
+ - **Must Integrate With:** Other sub-projects per ARCHITECTURE.md:
707
+ - Shared types/interfaces if identified
708
+ - API contracts between services
709
+ - Orchestrator config at root
710
+
711
+ - **Constraints:** From STACK.md and ARCHITECTURE.md:
712
+ - Specific technology versions
713
+ - Architecture patterns to follow
714
+ - Coding standards
715
+
716
+ - **Success Criteria:**
717
+ - Project initializes without errors
718
+ - Dev server/process starts
719
+ - Tests run (even if just a placeholder)
720
+ - Linting passes
721
+
722
+ 4. Show per sub-project:
723
+ ```
724
+ Created: {sub-project-name}/
725
+ ├── .specd/config.json
726
+ └── .specd/tasks/setup/FEATURE.md
727
+ ```
728
+
729
+ **Update project config.json:**
730
+ ```json
731
+ {
732
+ "stage": "complete",
733
+ ...
734
+ }
735
+ ```
736
+
737
+ **Commit:**
738
+ @~/.claude/specdacular/references/commit-docs.md
739
+
740
+ - **$FILES:** `.specd/config.json` plus all sub-project `.specd/` directories
741
+ - **$MESSAGE:** `docs(project): scaffold {N} sub-projects` with list of sub-project names
742
+ - **$LABEL:** `scaffolding complete`
743
+
744
+ Continue to completion.
745
+ </step>
746
+
747
+ <step name="completion">
748
+ Show final project summary with all artifacts and next steps.
749
+
750
+ ```
751
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
752
+ PROJECT COMPLETE: {project-name}
753
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
754
+
755
+ ## Artifacts
756
+
757
+ - `.specd/tasks/project/PROJECT.md` — Project vision
758
+ - `.specd/tasks/project/research/` — Stack, features, architecture, pitfalls
759
+ - `.specd/tasks/project/REQUIREMENTS.md` — {count} v1 requirements
760
+ - `.specd/tasks/project/ROADMAP.md` — {count} phases
761
+ - `.specd/config.json` — Orchestrator config
762
+
763
+ ## Sub-Projects
764
+
765
+ {For each sub-project:}
766
+ **{name}/** — {description}
767
+ └── Ready: `/specd.continue setup` to begin
768
+
769
+ ## Next Steps
770
+
771
+ For each sub-project, run the setup task:
772
+
773
+ cd {sub-project-name}
774
+ /specd.continue setup
775
+
776
+ This will walk through setting up the project using the
777
+ research findings and requirements from this session.
778
+ ```
779
+
780
+ End workflow.
781
+ </step>
782
+
783
+ </process>
784
+
785
+ <success_criteria>
786
+ - Questioning produces PROJECT.md with clear vision, goals, users, constraints
787
+ - Project directory created at `.specd/tasks/project/`
788
+ - CONTEXT.md and DECISIONS.md initialized from discussion
789
+ - 4 research agents spawn in parallel after PROJECT.md is written
790
+ - Each agent writes its findings (STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md)
791
+ - SUMMARY.md synthesized from all 4 outputs
792
+ - Requirements scoped via multi-select from research FEATURES.md
793
+ - REQUIREMENTS.md written with REQ-IDs, v1/v2/out-of-scope sections
794
+ - Roadmap generated with phases mapped to REQ-IDs and sub-projects
795
+ - Orchestrator config created at root with projects array
796
+ - Sub-project directories created with config and seeded setup FEATURE.md
797
+ - All files committed to git
798
+ - Completion banner shows all artifacts and next steps per sub-project
799
+ </success_criteria>