specweave 1.0.34 → 1.0.36
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/CLAUDE.md +18 -19
- package/package.json +1 -1
- package/plugins/specweave/skills/role-orchestrator/SKILL.md +16 -15
package/CLAUDE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
1
|
+
<!-- SW:META template="claude" version="1.0.34" sections="header,start,autodetect,metarule,rules,workflow,structure,taskformat,secrets,syncing,mapping,testing,limits,troubleshooting,principles,linking,docs" -->
|
|
2
2
|
|
|
3
|
-
<!-- SW:SECTION:header version="1.0.
|
|
3
|
+
<!-- SW:SECTION:header version="1.0.34" -->
|
|
4
4
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
5
5
|
<!-- SW:END:header -->
|
|
6
6
|
|
|
7
|
-
<!-- SW:SECTION:start version="1.0.
|
|
7
|
+
<!-- SW:SECTION:start version="1.0.34" -->
|
|
8
8
|
## Getting Started
|
|
9
9
|
|
|
10
10
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
15
15
|
<!-- SW:END:start -->
|
|
16
16
|
|
|
17
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
17
|
+
<!-- SW:SECTION:autodetect version="1.0.34" -->
|
|
18
18
|
## Auto-Detection
|
|
19
19
|
|
|
20
20
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -24,7 +24,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
24
24
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
25
25
|
<!-- SW:END:autodetect -->
|
|
26
26
|
|
|
27
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
27
|
+
<!-- SW:SECTION:metarule version="1.0.34" -->
|
|
28
28
|
## Meta-Rule: Think-Before-Act
|
|
29
29
|
|
|
30
30
|
**Satisfy dependencies BEFORE dependent operations.**
|
|
@@ -35,7 +35,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
35
35
|
```
|
|
36
36
|
<!-- SW:END:metarule -->
|
|
37
37
|
|
|
38
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
38
|
+
<!-- SW:SECTION:rules version="1.0.34" -->
|
|
39
39
|
## Rules
|
|
40
40
|
|
|
41
41
|
1. **Files** → `.specweave/increments/####-name/` (spec.md, plan.md, tasks.md at root; reports/, scripts/, logs/ subfolders)
|
|
@@ -45,7 +45,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
45
45
|
5. **Root clean**: NEVER create .md/reports/scripts in project root → use increment folders
|
|
46
46
|
<!-- SW:END:rules -->
|
|
47
47
|
|
|
48
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
48
|
+
<!-- SW:SECTION:workflow version="1.0.34" -->
|
|
49
49
|
## Workflow
|
|
50
50
|
|
|
51
51
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -62,7 +62,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
62
62
|
**Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done`
|
|
63
63
|
<!-- SW:END:workflow -->
|
|
64
64
|
|
|
65
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
65
|
+
<!-- SW:SECTION:structure version="1.0.34" -->
|
|
66
66
|
## Structure
|
|
67
67
|
|
|
68
68
|
```
|
|
@@ -78,7 +78,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
78
78
|
**Multi-repo**: Clone to `/repositories`, not root → `repositories/backend/src/...`
|
|
79
79
|
<!-- SW:END:structure -->
|
|
80
80
|
|
|
81
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
81
|
+
<!-- SW:SECTION:taskformat version="1.0.34" -->
|
|
82
82
|
## Task Format
|
|
83
83
|
|
|
84
84
|
```markdown
|
|
@@ -88,7 +88,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
88
88
|
```
|
|
89
89
|
<!-- SW:END:taskformat -->
|
|
90
90
|
|
|
91
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
91
|
+
<!-- SW:SECTION:secrets version="1.0.34" -->
|
|
92
92
|
## Secrets Check
|
|
93
93
|
|
|
94
94
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -99,7 +99,7 @@ gh auth status
|
|
|
99
99
|
```
|
|
100
100
|
<!-- SW:END:secrets -->
|
|
101
101
|
|
|
102
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
102
|
+
<!-- SW:SECTION:syncing version="1.0.34" -->
|
|
103
103
|
## Auto-Sync (Hooks)
|
|
104
104
|
|
|
105
105
|
Post-task: updates tasks.md → living docs → external trackers (if configured)
|
|
@@ -107,7 +107,7 @@ Post-task: updates tasks.md → living docs → external trackers (if configured
|
|
|
107
107
|
Config: `.specweave/config.json` → `hooks.post_task_completion`
|
|
108
108
|
<!-- SW:END:syncing -->
|
|
109
109
|
|
|
110
|
-
<!-- SW:SECTION:mapping version="1.0.
|
|
110
|
+
<!-- SW:SECTION:mapping version="1.0.34" -->
|
|
111
111
|
## GitHub Mapping
|
|
112
112
|
|
|
113
113
|
| SpecWeave | GitHub |
|
|
@@ -117,7 +117,7 @@ Config: `.specweave/config.json` → `hooks.post_task_completion`
|
|
|
117
117
|
| Task T-XXX | Checkbox |
|
|
118
118
|
<!-- SW:END:mapping -->
|
|
119
119
|
|
|
120
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
120
|
+
<!-- SW:SECTION:testing version="1.0.34" -->
|
|
121
121
|
## Testing
|
|
122
122
|
|
|
123
123
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -129,13 +129,13 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
129
129
|
```
|
|
130
130
|
<!-- SW:END:testing -->
|
|
131
131
|
|
|
132
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
132
|
+
<!-- SW:SECTION:limits version="1.0.34" -->
|
|
133
133
|
## Limits
|
|
134
134
|
|
|
135
135
|
**Max 1500 lines/file** — extract before adding
|
|
136
136
|
<!-- SW:END:limits -->
|
|
137
137
|
|
|
138
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
138
|
+
<!-- SW:SECTION:troubleshooting version="1.0.34" -->
|
|
139
139
|
## Troubleshooting
|
|
140
140
|
|
|
141
141
|
| Issue | Fix |
|
|
@@ -149,7 +149,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
149
149
|
| External not syncing | Check `config.json` → `external_tracker_sync: true` |
|
|
150
150
|
<!-- SW:END:troubleshooting -->
|
|
151
151
|
|
|
152
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
152
|
+
<!-- SW:SECTION:principles version="1.0.34" -->
|
|
153
153
|
## Principles
|
|
154
154
|
|
|
155
155
|
1. **Spec-first**: `/sw:increment` before coding
|
|
@@ -159,7 +159,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
159
159
|
5. **Clean**: All files in increment folders
|
|
160
160
|
<!-- SW:END:principles -->
|
|
161
161
|
|
|
162
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
162
|
+
<!-- SW:SECTION:linking version="1.0.34" -->
|
|
163
163
|
## Bidirectional Linking
|
|
164
164
|
|
|
165
165
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -167,7 +167,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
167
167
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
168
168
|
<!-- SW:END:linking -->
|
|
169
169
|
|
|
170
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
170
|
+
<!-- SW:SECTION:docs version="1.0.34" -->
|
|
171
171
|
## Docs
|
|
172
172
|
|
|
173
173
|
[spec-weave.com](https://spec-weave.com) | `.specweave/docs/internal/`
|
|
@@ -548,4 +548,3 @@ npm run rebuild
|
|
|
548
548
|
- **Internal Docs**: `.specweave/docs/internal/`
|
|
549
549
|
- **ADRs**: `.specweave/docs/internal/architecture/adr/`
|
|
550
550
|
- **Troubleshooting**: `.specweave/docs/internal/troubleshooting/`
|
|
551
|
-
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
4
4
|
"description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -99,14 +99,27 @@ mkdir -p ${incrementPath}logs/
|
|
|
99
99
|
mkdir -p ${incrementPath}scripts/
|
|
100
100
|
mkdir -p ${incrementPath}reports/
|
|
101
101
|
|
|
102
|
-
// 4. Create placeholder files
|
|
102
|
+
// 4. Create placeholder files (ORDER MATTERS!)
|
|
103
|
+
// metadata.json MUST be created FIRST (metadata-json-guard.sh blocks spec.md otherwise)
|
|
104
|
+
write ${incrementPath}metadata.json (MANDATORY - CREATE FIRST!)
|
|
103
105
|
write ${incrementPath}spec.md (basic template)
|
|
104
106
|
write ${incrementPath}plan.md (basic template)
|
|
105
107
|
write ${incrementPath}tasks.md (basic template)
|
|
106
|
-
write ${incrementPath}metadata.json (MANDATORY)
|
|
107
108
|
```
|
|
108
109
|
|
|
109
|
-
**
|
|
110
|
+
**metadata.json template** (CREATE FIRST!):
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"id": "0001-project-name",
|
|
114
|
+
"status": "planned",
|
|
115
|
+
"type": "feature",
|
|
116
|
+
"priority": "P1",
|
|
117
|
+
"created": "2025-11-24T12:00:00Z",
|
|
118
|
+
"lastActivity": "2025-11-24T12:00:00Z"
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**spec.md template** (create AFTER metadata.json):
|
|
110
123
|
```yaml
|
|
111
124
|
---
|
|
112
125
|
increment: 0001-project-name
|
|
@@ -126,18 +139,6 @@ created: 2025-11-24
|
|
|
126
139
|
(To be filled by PM Agent)
|
|
127
140
|
```
|
|
128
141
|
|
|
129
|
-
**metadata.json template**:
|
|
130
|
-
```json
|
|
131
|
-
{
|
|
132
|
-
"id": "0001-project-name",
|
|
133
|
-
"status": "planned",
|
|
134
|
-
"type": "feature",
|
|
135
|
-
"priority": "P1",
|
|
136
|
-
"created": "2025-11-24T12:00:00Z",
|
|
137
|
-
"lastActivity": "2025-11-24T12:00:00Z"
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
142
|
### Phase 1: Guide User Through Agent Workflow
|
|
142
143
|
|
|
143
144
|
**Output this workflow to user**:
|