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 CHANGED
@@ -1,10 +1,10 @@
1
- <!-- SW:META template="claude" version="1.0.33" sections="header,start,autodetect,metarule,rules,workflow,structure,taskformat,secrets,syncing,mapping,testing,limits,troubleshooting,principles,linking,docs" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.33" -->
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.34",
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
- **spec.md template**:
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**: