specweave 0.1.7 → 0.1.8
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 +31 -24
- package/SPECWEAVE.md +61 -59
- package/package.json +2 -2
- package/src/agents/pm/AGENT.md +286 -0
- package/src/commands/build.md +433 -0
- package/src/commands/done.md +544 -56
- package/src/commands/inc.md +85 -0
- package/src/commands/{validate-increment.md → validate.md} +1 -1
- package/src/commands/add-tasks.md +0 -176
- package/src/commands/at.md +0 -114
- package/src/commands/close-increment.md +0 -347
- package/src/commands/init.md +0 -123
- package/src/commands/ls.md +0 -100
- package/src/commands/pi.md +0 -65
- package/src/commands/si.md +0 -83
- package/src/commands/start-increment.md +0 -139
- package/src/commands/vi.md +0 -89
- /package/src/commands/{create-increment.md → increment.md} +0 -0
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> **Spec-Driven Development Framework** - Where specifications and documentation are the source of truth
|
|
4
4
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[](https://github.com/anton-abyzov/specweave/releases/tag/v0.1.8)
|
|
7
7
|
[]()
|
|
8
8
|
[](https://spec-weave.com)
|
|
9
9
|
|
|
@@ -115,17 +115,18 @@ cd my-app
|
|
|
115
115
|
|
|
116
116
|
# Open Claude Code and use slash commands:
|
|
117
117
|
|
|
118
|
-
User: /
|
|
118
|
+
User: /inc "Next.js authentication with email and OAuth"
|
|
119
119
|
↓
|
|
120
|
-
SpecWeave: 🔷 SpecWeave Active (/
|
|
120
|
+
SpecWeave: 🔷 SpecWeave Active (/increment)
|
|
121
121
|
|
|
122
122
|
🚀 Creating increment 0001-user-authentication...
|
|
123
123
|
📝 Using nextjs skill (already installed!)
|
|
124
124
|
🤖 PM agent creating requirements...
|
|
125
125
|
🏗️ Architect agent designing system...
|
|
126
|
+
📋 Auto-generating tasks from plan...
|
|
126
127
|
|
|
127
128
|
✅ Increment created: .specweave/increments/0001-user-authentication/
|
|
128
|
-
✅ Files: spec.md, plan.md, tasks.md, tests.md
|
|
129
|
+
✅ Files: spec.md, plan.md, tasks.md (auto-generated!), tests.md
|
|
129
130
|
|
|
130
131
|
User: "Create C4 context diagram for authentication" # Regular conversation for implementation
|
|
131
132
|
↓
|
|
@@ -146,12 +147,13 @@ User: /done 0001 # Close increment with slash command
|
|
|
146
147
|
✅ Increment 0001 closed successfully
|
|
147
148
|
```
|
|
148
149
|
|
|
149
|
-
**How it works
|
|
150
|
+
**How it works** (append-only increment workflow: 0001 → 0002 → 0003):
|
|
150
151
|
1. `specweave init` → ALL components pre-installed (10 agents + 35+ skills)
|
|
151
|
-
2. **Use `/
|
|
152
|
-
3. **
|
|
153
|
-
4. **Use `/
|
|
154
|
-
5.
|
|
152
|
+
2. **Use `/inc "feature"`** → PM creates specs + plan + auto-generates tasks
|
|
153
|
+
3. **Use `/build 0001`** → Execute implementation (hooks after EVERY task)
|
|
154
|
+
4. **Use `/validate 0001`** → Optional quality check (LLM-as-judge)
|
|
155
|
+
5. **Use `/done 0001`** → PM validates 3 gates (tasks ✅ + tests ✅ + docs ✅)
|
|
156
|
+
6. All components ready - no waiting, no installation
|
|
155
157
|
|
|
156
158
|
**Why slash commands?** Auto-activation doesn't work reliably - slash commands ensure SpecWeave ALWAYS activates when you want it.
|
|
157
159
|
|
|
@@ -184,7 +186,7 @@ SpecWeave includes **35+ AI skills** that work with slash commands:
|
|
|
184
186
|
|
|
185
187
|
### Core Framework Skills
|
|
186
188
|
- **specweave-detector** - Slash command documentation
|
|
187
|
-
- **increment-planner** - Plan features via `/
|
|
189
|
+
- **increment-planner** - Plan features via `/inc` or `/increment` command
|
|
188
190
|
- **skill-router** - Route requests to appropriate skills
|
|
189
191
|
- **context-loader** - Load relevant specifications
|
|
190
192
|
- **role-orchestrator** - Coordinate multiple agents
|
|
@@ -295,21 +297,26 @@ specweave/
|
|
|
295
297
|
# Option A: Comprehensive (Enterprise) - 500-600+ pages upfront
|
|
296
298
|
# Option B: Incremental (Startup) - Build as you go
|
|
297
299
|
|
|
298
|
-
# 2.
|
|
299
|
-
/
|
|
300
|
-
#
|
|
301
|
-
#
|
|
302
|
-
# Creates: spec.md, plan.md, tasks.md, tests.md
|
|
300
|
+
# 2. Plan increment with slash command (PM-led process)
|
|
301
|
+
/inc "user authentication"
|
|
302
|
+
# Alias for /increment
|
|
303
|
+
# PM-led: Market research → spec.md → plan.md → auto-generate tasks.md
|
|
304
|
+
# Creates: spec.md, plan.md, tasks.md (auto-generated!), tests.md
|
|
303
305
|
|
|
304
|
-
# 3.
|
|
305
|
-
|
|
306
|
-
#
|
|
306
|
+
# 3. Build it (hooks run after EVERY task)
|
|
307
|
+
/build 0001
|
|
308
|
+
# Executes tasks sequentially
|
|
309
|
+
# Hooks automatically update CLAUDE.md, README.md, CHANGELOG.md
|
|
307
310
|
|
|
308
|
-
# 4.
|
|
309
|
-
|
|
311
|
+
# 4. Validate quality (optional)
|
|
312
|
+
/validate 0001 --quality
|
|
313
|
+
# LLM-as-judge quality assessment
|
|
310
314
|
|
|
311
|
-
# 5. Close increment
|
|
315
|
+
# 5. Close increment (PM validates 3 gates)
|
|
312
316
|
/done 0001
|
|
317
|
+
# Gate 1: Tasks completed (P1 required)
|
|
318
|
+
# Gate 2: Tests passing (>80% coverage)
|
|
319
|
+
# Gate 3: Documentation updated
|
|
313
320
|
|
|
314
321
|
# 6. Sync with tools (optional)
|
|
315
322
|
/sync-github # Sync to GitHub issues
|
|
@@ -480,19 +487,19 @@ npm test
|
|
|
480
487
|
|
|
481
488
|
## 🏷️ Project Status
|
|
482
489
|
|
|
483
|
-
**Version**: 0.1.
|
|
490
|
+
**Version**: 0.1.8
|
|
484
491
|
**Status**: Public Beta
|
|
485
492
|
**License**: MIT
|
|
486
493
|
**Release Date**: 2025-10-28
|
|
487
494
|
**Website**: [spec-weave.com](https://spec-weave.com)
|
|
488
495
|
|
|
489
|
-
### ✅ What Works (v0.1.
|
|
496
|
+
### ✅ What Works (v0.1.8)
|
|
490
497
|
|
|
491
498
|
- ✅ **10 Agents** fully implemented and pre-installed
|
|
492
499
|
- ✅ **35+ Skills** fully implemented and pre-installed
|
|
493
500
|
- ✅ **CLI Tool** - `specweave init` with complete component copying
|
|
494
501
|
- ✅ **Ready Out of the Box** - All components installed during init
|
|
495
|
-
- ✅ **
|
|
502
|
+
- ✅ **Command simplification** - 4-command workflow (0.1.8)
|
|
496
503
|
- ✅ **Diagram generation** (C4 Model with validation)
|
|
497
504
|
- ✅ **4-level testing framework** (spec → feature → component → automated)
|
|
498
505
|
- ✅ **JIRA/ADO/GitHub sync** integration
|
package/SPECWEAVE.md
CHANGED
|
@@ -21,25 +21,31 @@ This file contains quick reference for developing with SpecWeave:
|
|
|
21
21
|
|
|
22
22
|
SpecWeave follows the **spec-kit approach**: You MUST use slash commands explicitly.
|
|
23
23
|
|
|
24
|
-
**To use SpecWeave**: Type a slash command (e.g., `/
|
|
24
|
+
**To use SpecWeave**: Type a slash command (e.g., `/inc "Feature description"`)
|
|
25
25
|
|
|
26
26
|
### Quick Command Reference
|
|
27
27
|
|
|
28
|
+
**Core Workflow** (4 commands):
|
|
29
|
+
|
|
28
30
|
| Alias | Full Command | Purpose | Example |
|
|
29
31
|
|-------|--------------|---------|---------|
|
|
30
|
-
| `/
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
| `/inc` | `/increment` | **Plan Product Increment** (PM-led) | `/inc "User auth"` |
|
|
33
|
+
| - | `/build` | Execute implementation (hooks after every task) | `/build 0001` |
|
|
34
|
+
| - | `/validate` | Validate quality (optional LLM judge) | `/validate 0001 --quality` |
|
|
35
|
+
| - | `/done` | Close increment (PM validates 3 gates) | `/done 0001` |
|
|
36
|
+
|
|
37
|
+
**Supporting Commands**:
|
|
38
|
+
- `/create-project` - Initialize SpecWeave project
|
|
39
|
+
- `/list-increments` - List all increments
|
|
40
|
+
- `/review-docs` - Review docs vs code
|
|
41
|
+
- `/generate-docs` - Generate doc site
|
|
42
|
+
- `/sync-github` - Sync to GitHub
|
|
43
|
+
|
|
44
|
+
**Why ONE Alias (/inc)?**
|
|
45
|
+
- ✅ `/inc` is THE most used command (every new feature starts here)
|
|
46
|
+
- ✅ Append-only increment workflow: 0001 → 0002 → 0003 → ...
|
|
47
|
+
- ✅ Other commands used once per increment (no aliases needed)
|
|
48
|
+
- ✅ Clear and explicit workflow
|
|
43
49
|
|
|
44
50
|
### Typical Workflow
|
|
45
51
|
|
|
@@ -47,24 +53,26 @@ SpecWeave follows the **spec-kit approach**: You MUST use slash commands explici
|
|
|
47
53
|
# 1. Initialize project
|
|
48
54
|
npx specweave init my-saas
|
|
49
55
|
|
|
50
|
-
# 2. Plan your first increment (use
|
|
51
|
-
/
|
|
56
|
+
# 2. Plan your first increment (use /inc - the ONLY alias!)
|
|
57
|
+
/inc "User authentication with JWT and RBAC"
|
|
52
58
|
|
|
53
|
-
# 3.
|
|
54
|
-
|
|
59
|
+
# 3. Review generated docs
|
|
60
|
+
# spec.md, plan.md, tasks.md (auto-generated!), tests.md
|
|
55
61
|
|
|
56
|
-
# 4.
|
|
57
|
-
/
|
|
62
|
+
# 4. Build it (hooks run after EVERY task)
|
|
63
|
+
/build 0001
|
|
58
64
|
|
|
59
|
-
# 5.
|
|
60
|
-
|
|
61
|
-
Claude: [implements based on plan.md and tasks.md]
|
|
65
|
+
# 5. Validate quality (optional)
|
|
66
|
+
/validate 0001 --quality
|
|
62
67
|
|
|
63
|
-
# 6. Close when done
|
|
68
|
+
# 6. Close when done (PM validates: tasks ✅ + tests ✅ + docs ✅)
|
|
64
69
|
/done 0001
|
|
70
|
+
|
|
71
|
+
# 7. Repeat for next feature
|
|
72
|
+
/inc "Payment processing"
|
|
65
73
|
```
|
|
66
74
|
|
|
67
|
-
**Remember**: Type `/
|
|
75
|
+
**Remember**: Type `/inc` first, THEN build! Otherwise you lose all SpecWeave benefits (specs, architecture, auto-generated tasks, test strategy).
|
|
68
76
|
|
|
69
77
|
---
|
|
70
78
|
|
|
@@ -193,24 +201,22 @@ npx specweave list --installed # See what's installed
|
|
|
193
201
|
|
|
194
202
|
**CRITICAL**: SpecWeave uses **EXPLICIT SLASH COMMANDS** - type them to activate the framework!
|
|
195
203
|
|
|
204
|
+
### Core Workflow (4 Commands)
|
|
205
|
+
|
|
196
206
|
| Command | Alias | Purpose | Example |
|
|
197
207
|
|---------|-------|---------|---------|
|
|
198
|
-
| `/
|
|
199
|
-
| `/
|
|
200
|
-
| `/
|
|
201
|
-
| `/
|
|
202
|
-
| `/validate-increment` | `/vi` | Validate with rule-based + optional AI quality | `/vi 0001 --quality` |
|
|
203
|
-
| `/close-increment` | `/done` | Close increment with leftover transfer | `/done 0001` |
|
|
204
|
-
| `/list-increments` | `/ls` | List all increments with status | `/ls --status=in-progress` |
|
|
205
|
-
| `/review-docs` | - | Review strategic docs vs code | `/review-docs --increment=0003` |
|
|
206
|
-
| `/generate-docs` | - | Generate documentation site | `/generate-docs` |
|
|
207
|
-
| `/sync-github` | - | Sync increment to GitHub issues | `/sync-github` |
|
|
208
|
+
| `/increment` | `/inc` | Plan Product Increment (PM-led, auto-generates tasks) | `/inc "user authentication"` |
|
|
209
|
+
| `/build` | - | Execute implementation (hooks after EVERY task) | `/build 0001` |
|
|
210
|
+
| `/validate` | - | Validate quality (optional LLM judge) | `/validate 0001 --quality` |
|
|
211
|
+
| `/done` | - | Close increment (PM validates 3 gates: tasks, tests, docs) | `/done 0001` |
|
|
208
212
|
|
|
209
|
-
|
|
213
|
+
### Supporting Commands
|
|
210
214
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
-
|
|
215
|
+
| Command | Purpose | Example |
|
|
216
|
+
|---------|---------|---------|
|
|
217
|
+
| `/create-project` | Bootstrap new SpecWeave project | `/create-project --type python` |
|
|
218
|
+
| `/list-increments` | List all increments with status | `/list-increments` |
|
|
219
|
+
**All commands are framework-agnostic** (adapt to detected tech stack)
|
|
214
220
|
|
|
215
221
|
**See**: [Command Reference](.claude/commands/) for all available commands
|
|
216
222
|
|
|
@@ -246,7 +252,7 @@ npx specweave list --installed # See what's installed
|
|
|
246
252
|
| Skill | Purpose | Activates When |
|
|
247
253
|
|-------|---------|----------------|
|
|
248
254
|
| `specweave-detector` | Slash command documentation | User asks about SpecWeave commands |
|
|
249
|
-
| `increment-planner` | Plan features with context | `/
|
|
255
|
+
| `increment-planner` | Plan features with context | `/inc` or `/increment` command |
|
|
250
256
|
| `skill-router` | Route to appropriate skills | Ambiguous requests |
|
|
251
257
|
| `context-loader` | Load context selectively | Working on increments |
|
|
252
258
|
| `diagrams-generator` | Coordinate diagram creation | "create diagram", "draw diagram", C4, sequence, ER |
|
|
@@ -302,17 +308,12 @@ backlog → planned → in-progress → completed → closed
|
|
|
302
308
|
|
|
303
309
|
**Naming Convention**: 4-digit format (0001-9999), e.g., `0001-feature-name`, `0042-user-auth`, `0123-payment-flow`
|
|
304
310
|
|
|
305
|
-
**Commands
|
|
311
|
+
**Commands**:
|
|
306
312
|
```bash
|
|
307
|
-
#
|
|
308
|
-
/
|
|
309
|
-
/
|
|
310
|
-
/done 0001 # Close
|
|
311
|
-
|
|
312
|
-
# Or full commands
|
|
313
|
-
/create-increment "feature name" # Same as /pi
|
|
314
|
-
/add-tasks 0001 "task description" # Same as /at
|
|
315
|
-
/close-increment 0001 # Same as /done
|
|
313
|
+
/inc "feature name" # Plan increment (PM-led, auto-generates tasks)
|
|
314
|
+
/build 0001 # Execute implementation (hooks after EVERY task)
|
|
315
|
+
/validate 0001 --quality # Validate quality (optional)
|
|
316
|
+
/done 0001 # Close increment (PM validates 3 gates)
|
|
316
317
|
```
|
|
317
318
|
|
|
318
319
|
**See**: [Increment Lifecycle Guide](.specweave/docs/internal/delivery/guides/increment-lifecycle.md) for complete lifecycle management
|
|
@@ -685,24 +686,25 @@ Attempt 2/3: Refining with feedback...
|
|
|
685
686
|
|
|
686
687
|
**Quick Start**:
|
|
687
688
|
|
|
688
|
-
**CRITICAL**: SpecWeave uses **EXPLICIT SLASH COMMANDS** - type `/
|
|
689
|
+
**CRITICAL**: SpecWeave uses **EXPLICIT SLASH COMMANDS** - type `/inc` to activate!
|
|
689
690
|
|
|
690
691
|
```bash
|
|
691
692
|
# Initialize project
|
|
692
693
|
npx specweave init my-project
|
|
693
694
|
|
|
694
|
-
#
|
|
695
|
-
/
|
|
695
|
+
# Plan your first increment (use slash command!)
|
|
696
|
+
/inc "feature description"
|
|
696
697
|
|
|
697
|
-
# Typical workflow
|
|
698
|
-
1. /
|
|
699
|
-
2.
|
|
700
|
-
3. /
|
|
698
|
+
# Typical workflow (append-only increments: 0001 → 0002 → 0003)
|
|
699
|
+
1. /inc "feature" → PM creates specs + plan + auto-generates tasks
|
|
700
|
+
2. /build 0001 → Execute implementation (hooks after EVERY task)
|
|
701
|
+
3. /validate 0001 --quality → Optional quality check
|
|
702
|
+
4. /done 0001 → PM validates 3 gates (tasks ✅ + tests ✅ + docs ✅)
|
|
701
703
|
```
|
|
702
704
|
|
|
703
|
-
**Remember**: Type `/
|
|
705
|
+
**Remember**: Type `/inc` first to plan, THEN `/build` to implement! Otherwise you lose all SpecWeave benefits (specs, architecture, test strategy).
|
|
704
706
|
|
|
705
|
-
**Need help?**: Type `/
|
|
707
|
+
**Need help?**: Type `/inc` to see examples, or ask about specific workflows.
|
|
706
708
|
|
|
707
709
|
**SpecWeave Documentation**: https://spec-weave.com
|
|
708
710
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"description": "Replace vibe coding with spec-driven development. 4-command workflow (/inc, /build, /validate, /done), PM-led planning, 10 agents, 35+ skills. Visit spec-weave.com",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"specweave": "./bin/specweave.js"
|
package/src/agents/pm/AGENT.md
CHANGED
|
@@ -734,6 +734,291 @@ Avoid technical jargon with stakeholders. Focus on:
|
|
|
734
734
|
|
|
735
735
|
---
|
|
736
736
|
|
|
737
|
+
## 🔥 CRITICAL: Increment Closure Validation (/done Command)
|
|
738
|
+
|
|
739
|
+
**MANDATORY BEHAVIOR**: When invoked via `/done` command, PM Agent acts as the **final quality gate** before increment closure.
|
|
740
|
+
|
|
741
|
+
### Role: Product Owner / Release Manager
|
|
742
|
+
|
|
743
|
+
You are the final approver for increment closure. Your job is to ensure:
|
|
744
|
+
1. ✅ **Business value delivered** (all critical tasks complete)
|
|
745
|
+
2. ✅ **Quality maintained** (tests passing, no regressions)
|
|
746
|
+
3. ✅ **Knowledge preserved** (documentation updated)
|
|
747
|
+
|
|
748
|
+
**You MUST validate ALL 3 gates before approving closure.**
|
|
749
|
+
|
|
750
|
+
---
|
|
751
|
+
|
|
752
|
+
### Validation Workflow
|
|
753
|
+
|
|
754
|
+
When user runs `/done <increment-id>`, follow these steps:
|
|
755
|
+
|
|
756
|
+
#### Step 1: Load Increment Context
|
|
757
|
+
|
|
758
|
+
```bash
|
|
759
|
+
# Load all documents
|
|
760
|
+
Read: .specweave/increments/{id}/spec.md
|
|
761
|
+
Read: .specweave/increments/{id}/plan.md
|
|
762
|
+
Read: .specweave/increments/{id}/tasks.md
|
|
763
|
+
Read: .specweave/increments/{id}/tests.md
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
#### Step 2: Validate Gate 1 - Tasks Completed ✅
|
|
767
|
+
|
|
768
|
+
**Check**:
|
|
769
|
+
- [ ] All P1 (critical) tasks completed
|
|
770
|
+
- [ ] All P2 (important) tasks completed OR deferred with reason
|
|
771
|
+
- [ ] P3 (nice-to-have) tasks completed, deferred, or moved to backlog
|
|
772
|
+
- [ ] No tasks in "blocked" state
|
|
773
|
+
- [ ] Acceptance criteria for each task met
|
|
774
|
+
|
|
775
|
+
**Example Pass**:
|
|
776
|
+
```
|
|
777
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
778
|
+
GATE 1: Tasks Completion ✅ PASS
|
|
779
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
780
|
+
|
|
781
|
+
Priority P1 (Critical): 12/12 completed (100%)
|
|
782
|
+
Priority P2 (Important): 16/18 completed (89%) - 2 deferred with reason
|
|
783
|
+
Priority P3 (Nice-to-have): 8/12 completed (67%) - 4 moved to backlog
|
|
784
|
+
|
|
785
|
+
Status: ✅ PASS
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
**Example Fail**:
|
|
789
|
+
```
|
|
790
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
791
|
+
GATE 1: Tasks Completion ❌ FAIL
|
|
792
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
793
|
+
|
|
794
|
+
Priority P1 (Critical): 10/12 completed (83%)
|
|
795
|
+
|
|
796
|
+
Incomplete P1 tasks:
|
|
797
|
+
❌ T005: Add password hashing (CRITICAL - security requirement)
|
|
798
|
+
❌ T008: Implement JWT validation (CRITICAL - auth won't work)
|
|
799
|
+
|
|
800
|
+
Recommendation: ❌ CANNOT close increment
|
|
801
|
+
• Complete T005 and T008 (security critical)
|
|
802
|
+
• Estimated effort: 4-6 hours
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
#### Step 3: Validate Gate 2 - Tests Passing ✅
|
|
806
|
+
|
|
807
|
+
**Check**:
|
|
808
|
+
- [ ] All test suites passing (no failures)
|
|
809
|
+
- [ ] Test coverage meets requirements (>80% for critical paths)
|
|
810
|
+
- [ ] E2E tests passing (if UI exists)
|
|
811
|
+
- [ ] No skipped tests without documentation
|
|
812
|
+
- [ ] Test cases align with acceptance criteria in spec.md
|
|
813
|
+
|
|
814
|
+
**Ask user to run tests**:
|
|
815
|
+
```
|
|
816
|
+
Please run the test suite and share results:
|
|
817
|
+
npm test # Run all tests
|
|
818
|
+
npm run test:coverage # Check coverage
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
**Example Pass**:
|
|
822
|
+
```
|
|
823
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
824
|
+
GATE 2: Tests Passing ✅ PASS
|
|
825
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
826
|
+
|
|
827
|
+
Unit Tests: 47/47 passing ✅
|
|
828
|
+
Integration Tests: 15/15 passing ✅
|
|
829
|
+
E2E Tests: 8/8 passing ✅
|
|
830
|
+
Coverage: 89% (above 80% target) ✅
|
|
831
|
+
|
|
832
|
+
Status: ✅ PASS
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
**Example Fail**:
|
|
836
|
+
```
|
|
837
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
838
|
+
GATE 2: Tests Passing ❌ FAIL
|
|
839
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
840
|
+
|
|
841
|
+
Unit Tests: 45/47 passing (96%) - 2 failures
|
|
842
|
+
E2E Tests: 7/8 passing (88%) - 1 failure
|
|
843
|
+
|
|
844
|
+
Failures:
|
|
845
|
+
❌ test/auth/jwt.test.ts: Token expiry validation
|
|
846
|
+
❌ test/e2e/login.spec.ts: Rate limiting test
|
|
847
|
+
|
|
848
|
+
Recommendation: ❌ CANNOT close increment
|
|
849
|
+
• Fix JWT expiry configuration (security issue)
|
|
850
|
+
• Fix rate limiting (prevents brute force attacks)
|
|
851
|
+
• Estimated effort: 2-3 hours
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
#### Step 4: Validate Gate 3 - Documentation Updated ✅
|
|
855
|
+
|
|
856
|
+
**Check**:
|
|
857
|
+
- [ ] CLAUDE.md updated with new features
|
|
858
|
+
- [ ] README.md updated with usage examples
|
|
859
|
+
- [ ] CHANGELOG.md updated (if public API changed)
|
|
860
|
+
- [ ] API documentation regenerated (if applicable)
|
|
861
|
+
- [ ] Inline code documentation complete
|
|
862
|
+
- [ ] No stale references to old code
|
|
863
|
+
|
|
864
|
+
**Scan files**:
|
|
865
|
+
```bash
|
|
866
|
+
Read: CLAUDE.md
|
|
867
|
+
Read: README.md
|
|
868
|
+
Read: CHANGELOG.md
|
|
869
|
+
Grep: Search for references to new features
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
**Example Pass**:
|
|
873
|
+
```
|
|
874
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
875
|
+
GATE 3: Documentation Updated ✅ PASS
|
|
876
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
877
|
+
|
|
878
|
+
CLAUDE.md: ✅ Updated with new features
|
|
879
|
+
README.md: ✅ Updated with examples
|
|
880
|
+
CHANGELOG.md: ✅ v0.1.8 entry added
|
|
881
|
+
Inline Docs: ✅ All functions documented
|
|
882
|
+
|
|
883
|
+
Status: ✅ PASS
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
**Example Fail**:
|
|
887
|
+
```
|
|
888
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
889
|
+
GATE 3: Documentation Updated ❌ FAIL
|
|
890
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
891
|
+
|
|
892
|
+
CLAUDE.md: ❌ Missing authentication section
|
|
893
|
+
README.md: ❌ No authentication examples
|
|
894
|
+
CHANGELOG.md: ❌ v0.1.8 entry missing
|
|
895
|
+
|
|
896
|
+
Recommendation: ❌ CANNOT close increment
|
|
897
|
+
• Update CLAUDE.md with authentication section
|
|
898
|
+
• Add examples to README.md
|
|
899
|
+
• Create CHANGELOG.md entry
|
|
900
|
+
• Estimated effort: 1-2 hours
|
|
901
|
+
```
|
|
902
|
+
|
|
903
|
+
#### Step 5: PM Decision
|
|
904
|
+
|
|
905
|
+
**If ALL 3 gates pass**:
|
|
906
|
+
```
|
|
907
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
908
|
+
PM VALIDATION RESULT: ✅ READY TO CLOSE
|
|
909
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
910
|
+
|
|
911
|
+
✅ Gate 1: Tasks Completed (100% P1, 89% P2)
|
|
912
|
+
✅ Gate 2: Tests Passing (70/70, 89% coverage)
|
|
913
|
+
✅ Gate 3: Documentation Updated (all current)
|
|
914
|
+
|
|
915
|
+
Business Value Delivered:
|
|
916
|
+
• [List key deliverables from spec.md]
|
|
917
|
+
|
|
918
|
+
PM Approval: ✅ APPROVED for closure
|
|
919
|
+
|
|
920
|
+
Next steps:
|
|
921
|
+
1. Update status: in-progress → completed
|
|
922
|
+
2. Set completion date
|
|
923
|
+
3. Generate completion report
|
|
924
|
+
4. Update backlog with deferred tasks
|
|
925
|
+
```
|
|
926
|
+
|
|
927
|
+
**If ANY gate fails**:
|
|
928
|
+
```
|
|
929
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
930
|
+
PM VALIDATION RESULT: ❌ NOT READY TO CLOSE
|
|
931
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
932
|
+
|
|
933
|
+
[Gate status summary]
|
|
934
|
+
|
|
935
|
+
PM Decision: ❌ CANNOT close increment
|
|
936
|
+
|
|
937
|
+
Blockers:
|
|
938
|
+
1. [List all blockers with estimated effort]
|
|
939
|
+
2. [...]
|
|
940
|
+
|
|
941
|
+
Total estimated effort to fix: X hours
|
|
942
|
+
|
|
943
|
+
Action Plan:
|
|
944
|
+
1. [Step-by-step plan to address blockers]
|
|
945
|
+
2. [...]
|
|
946
|
+
3. Re-run /done {id} for validation
|
|
947
|
+
|
|
948
|
+
Increment remains: in-progress
|
|
949
|
+
```
|
|
950
|
+
|
|
951
|
+
---
|
|
952
|
+
|
|
953
|
+
### Scope Creep Detection
|
|
954
|
+
|
|
955
|
+
**If tasks.md has significantly more tasks than originally planned**:
|
|
956
|
+
|
|
957
|
+
```
|
|
958
|
+
🤔 PM Analysis: Scope creep detected
|
|
959
|
+
|
|
960
|
+
Original plan: 42 tasks (estimated 3-4 weeks)
|
|
961
|
+
Current state: 55 tasks (3 weeks elapsed)
|
|
962
|
+
Reason: 13 tasks added during implementation
|
|
963
|
+
|
|
964
|
+
Options:
|
|
965
|
+
A) Complete all 55 tasks (1 more week)
|
|
966
|
+
B) Move 13 new tasks to next increment (close now)
|
|
967
|
+
C) Re-plan as 2 increments (recommended)
|
|
968
|
+
|
|
969
|
+
Recommendation: Option C - Split into two increments
|
|
970
|
+
• Increment {id}: Core features (42 tasks) - Close now
|
|
971
|
+
• Increment {id+1}: Enhancements (13 tasks) - New increment
|
|
972
|
+
|
|
973
|
+
Create new increment for extra scope? [Y/n]
|
|
974
|
+
```
|
|
975
|
+
|
|
976
|
+
---
|
|
977
|
+
|
|
978
|
+
### Configuration
|
|
979
|
+
|
|
980
|
+
```yaml
|
|
981
|
+
# .specweave/config.yaml
|
|
982
|
+
increment_closure:
|
|
983
|
+
pm_validation:
|
|
984
|
+
enabled: true # MUST be true
|
|
985
|
+
strict_mode: true # Require all 3 gates
|
|
986
|
+
|
|
987
|
+
gates:
|
|
988
|
+
tasks:
|
|
989
|
+
require_p1_complete: true
|
|
990
|
+
require_p2_complete: false
|
|
991
|
+
allow_scope_transfer: true
|
|
992
|
+
|
|
993
|
+
tests:
|
|
994
|
+
require_all_passing: true
|
|
995
|
+
min_coverage: 80
|
|
996
|
+
allow_skipped: false
|
|
997
|
+
|
|
998
|
+
documentation:
|
|
999
|
+
require_claude_md: true
|
|
1000
|
+
require_readme: true
|
|
1001
|
+
require_changelog: true
|
|
1002
|
+
allow_inline_only: false
|
|
1003
|
+
|
|
1004
|
+
scope_creep:
|
|
1005
|
+
detect: true
|
|
1006
|
+
max_additional_tasks: 10
|
|
1007
|
+
auto_transfer: true
|
|
1008
|
+
```
|
|
1009
|
+
|
|
1010
|
+
---
|
|
1011
|
+
|
|
1012
|
+
### Best Practices
|
|
1013
|
+
|
|
1014
|
+
1. **Never bypass validation** - All 3 gates must pass
|
|
1015
|
+
2. **Be specific in feedback** - Tell user exactly what's missing
|
|
1016
|
+
3. **Estimate effort** - Help user understand time to fix
|
|
1017
|
+
4. **Detect scope creep early** - Offer to transfer extra tasks
|
|
1018
|
+
5. **Document business value** - Summarize what was delivered
|
|
1019
|
+
|
|
1020
|
+
---
|
|
1021
|
+
|
|
737
1022
|
## Summary
|
|
738
1023
|
|
|
739
1024
|
The **PM Agent** is your AI Product Manager that:
|
|
@@ -745,6 +1030,7 @@ The **PM Agent** is your AI Product Manager that:
|
|
|
745
1030
|
✅ Creates product roadmaps with timelines
|
|
746
1031
|
✅ Translates technical decisions for stakeholders
|
|
747
1032
|
✅ Defines measurable success metrics
|
|
1033
|
+
✅ **Validates increment closure with 3-gate check** (tasks, tests, docs)
|
|
748
1034
|
|
|
749
1035
|
**User benefit**: Get expert product management guidance without hiring a PM. Make data-driven decisions about what to build, when, and why.
|
|
750
1036
|
|