specweave 1.0.46 → 1.0.48

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.
Files changed (46) hide show
  1. package/CLAUDE.md +47 -23
  2. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js +14 -0
  3. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +1 -1
  4. package/dist/src/cli/workers/codebase-rescan-worker.d.ts +21 -0
  5. package/dist/src/cli/workers/codebase-rescan-worker.d.ts.map +1 -0
  6. package/dist/src/cli/workers/codebase-rescan-worker.js +738 -0
  7. package/dist/src/cli/workers/codebase-rescan-worker.js.map +1 -0
  8. package/dist/src/core/background/job-launcher.d.ts +24 -0
  9. package/dist/src/core/background/job-launcher.d.ts.map +1 -1
  10. package/dist/src/core/background/job-launcher.js +87 -0
  11. package/dist/src/core/background/job-launcher.js.map +1 -1
  12. package/dist/src/core/background/types.d.ts +32 -2
  13. package/dist/src/core/background/types.d.ts.map +1 -1
  14. package/dist/src/core/sync/external-tool-resolver.d.ts.map +1 -1
  15. package/dist/src/core/sync/external-tool-resolver.js +22 -0
  16. package/dist/src/core/sync/external-tool-resolver.js.map +1 -1
  17. package/dist/src/core/types/increment-metadata.d.ts +1 -1
  18. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  19. package/dist/src/sync/sync-coordinator.d.ts +12 -0
  20. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  21. package/dist/src/sync/sync-coordinator.js +45 -13
  22. package/dist/src/sync/sync-coordinator.js.map +1 -1
  23. package/dist/src/utils/docs-validator.d.ts +9 -0
  24. package/dist/src/utils/docs-validator.d.ts.map +1 -1
  25. package/dist/src/utils/docs-validator.js +35 -3
  26. package/dist/src/utils/docs-validator.js.map +1 -1
  27. package/package.json +1 -1
  28. package/plugins/specweave/COMMANDS.md +133 -69
  29. package/plugins/specweave/commands/context.md +381 -0
  30. package/plugins/specweave/commands/discrepancies.md +5 -0
  31. package/plugins/specweave/commands/discrepancy-to-increment.md +5 -0
  32. package/plugins/specweave/commands/do.md +37 -3
  33. package/plugins/specweave/commands/notifications.md +5 -0
  34. package/plugins/specweave/commands/sync-logs.md +5 -0
  35. package/plugins/specweave/commands/sync-monitor.md +5 -0
  36. package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +196 -14
  37. package/plugins/specweave/hooks/v2/handlers/living-specs-handler.sh +35 -0
  38. package/plugins/specweave/lib/hooks/launch-codebase-rescan.js +91 -0
  39. package/plugins/specweave/lib/hooks/launch-codebase-rescan.ts +132 -0
  40. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +1 -1
  41. package/plugins/specweave/skills/living-docs-navigator/SKILL.md +139 -0
  42. package/plugins/specweave-github/lib/github-feature-sync-cli.js +11 -0
  43. package/plugins/specweave-github/lib/github-feature-sync-cli.ts +14 -0
  44. package/src/templates/CLAUDE.md.template +35 -5
  45. package/src/templates/config.json.template +10 -3
  46. package/plugins/specweave/commands/costs.md +0 -261
package/CLAUDE.md CHANGED
@@ -1,10 +1,10 @@
1
- <!-- SW:META template="claude" version="1.0.44" 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.47" sections="header,start,autodetect,metarule,rules,workflow,context,structure,taskformat,secrets,syncing,mapping,testing,limits,troubleshooting,principles,linking,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.44" -->
3
+ <!-- SW:SECTION:header version="1.0.46" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
7
- <!-- SW:SECTION:start version="1.0.44" -->
7
+ <!-- SW:SECTION:start version="1.0.46" -->
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.44" -->
17
+ <!-- SW:SECTION:autodetect version="1.0.46" -->
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.44" -->
27
+ <!-- SW:SECTION:metarule version="1.0.46" -->
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.44" -->
38
+ <!-- SW:SECTION:rules version="1.0.46" -->
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.44" -->
48
+ <!-- SW:SECTION:workflow version="1.0.46" -->
49
49
  ## Workflow
50
50
 
51
51
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -62,15 +62,29 @@ 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.44" -->
65
+ <!-- SW:SECTION:context version="1.0.47" -->
66
+ ## Living Docs Context
67
+
68
+ **Before implementing**: Check existing docs for patterns and decisions.
69
+
70
+ ```bash
71
+ grep -ril "keyword" .specweave/docs/internal/ # Search for related docs
72
+ ```
73
+
74
+ **Key locations**: `specs/` (features) | `architecture/adr/` (decisions) | `architecture/` (design)
75
+
76
+ **Always check ADRs** before design decisions. Use `/sw:context <topic>` to load context.
77
+ <!-- SW:END:context -->
78
+
79
+ <!-- SW:SECTION:structure version="1.0.46" -->
66
80
  ## Structure
67
81
 
68
82
  ```
69
83
  .specweave/
70
84
  ├── increments/####-name/ # metadata.json, spec.md, tasks.md
71
85
  ├── docs/internal/
72
- │ ├── specs/{project}/ # Living docs
73
- │ ├── architecture/adr/ # ADRs
86
+ │ ├── specs/{project}/ # Living docs (check before implementing!)
87
+ │ ├── architecture/adr/ # ADRs (check before design decisions!)
74
88
  │ └── operations/ # Runbooks
75
89
  └── config.json
76
90
  ```
@@ -84,7 +98,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
84
98
  **Path syntax**: `//path` = absolute | `/path` = relative to settings file | `**` = recursive | `additionalDirectories` = explicit working dirs
85
99
  <!-- SW:END:structure -->
86
100
 
87
- <!-- SW:SECTION:taskformat version="1.0.44" -->
101
+ <!-- SW:SECTION:taskformat version="1.0.46" -->
88
102
  ## Task Format
89
103
 
90
104
  ```markdown
@@ -94,7 +108,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
94
108
  ```
95
109
  <!-- SW:END:taskformat -->
96
110
 
97
- <!-- SW:SECTION:secrets version="1.0.44" -->
111
+ <!-- SW:SECTION:secrets version="1.0.46" -->
98
112
  ## Secrets Check
99
113
 
100
114
  **BEFORE CLI tools**: Check existing config first!
@@ -105,7 +119,7 @@ gh auth status
105
119
  ```
106
120
  <!-- SW:END:secrets -->
107
121
 
108
- <!-- SW:SECTION:syncing version="1.0.44" -->
122
+ <!-- SW:SECTION:syncing version="1.0.46" -->
109
123
  ## External Sync (GitHub/JIRA/ADO)
110
124
 
111
125
  **After increment creation**: Run `/sw-github:sync {id}` to create issues!
@@ -117,14 +131,23 @@ Living docs sync ≠ External sync. They are separate:
117
131
  **Required config** (`.specweave/config.json`):
118
132
  ```json
119
133
  "sync": {
120
- "settings": { "canUpsertInternalItems": true }
134
+ "settings": {
135
+ "canUpsertInternalItems": true,
136
+ "canUpdateExternalItems": true,
137
+ "autoSyncOnCompletion": true
138
+ },
139
+ "github": {
140
+ "enabled": true,
141
+ "owner": "your-org",
142
+ "repo": "your-repo"
143
+ }
121
144
  }
122
145
  ```
123
146
 
124
147
  **Verify tokens**: `grep GITHUB_TOKEN .env` | `gh auth status`
125
148
  <!-- SW:END:syncing -->
126
149
 
127
- <!-- SW:SECTION:mapping version="1.0.44" -->
150
+ <!-- SW:SECTION:mapping version="1.0.46" -->
128
151
  ## GitHub Mapping
129
152
 
130
153
  | SpecWeave | GitHub |
@@ -134,7 +157,7 @@ Living docs sync ≠ External sync. They are separate:
134
157
  | Task T-XXX | Checkbox |
135
158
  <!-- SW:END:mapping -->
136
159
 
137
- <!-- SW:SECTION:testing version="1.0.44" -->
160
+ <!-- SW:SECTION:testing version="1.0.46" -->
138
161
  ## Testing
139
162
 
140
163
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
@@ -146,13 +169,13 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
146
169
  ```
147
170
  <!-- SW:END:testing -->
148
171
 
149
- <!-- SW:SECTION:limits version="1.0.44" -->
172
+ <!-- SW:SECTION:limits version="1.0.46" -->
150
173
  ## Limits
151
174
 
152
175
  **Max 1500 lines/file** — extract before adding
153
176
  <!-- SW:END:limits -->
154
177
 
155
- <!-- SW:SECTION:troubleshooting version="1.0.44" -->
178
+ <!-- SW:SECTION:troubleshooting version="1.0.46" -->
156
179
  ## Troubleshooting
157
180
 
158
181
  | Issue | Fix |
@@ -163,14 +186,15 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
163
186
  | Find increment | `/sw:status` |
164
187
  | Root polluted | Move files to `.specweave/increments/####/reports/` |
165
188
  | Duplicate IDs | `/sw:fix-duplicates` |
166
- | GitHub not syncing | Run `/sw-github:sync {id}` explicitly |
167
- | Permission denied | Set `canUpsertInternalItems: true` in config.json |
189
+ | GitHub not syncing | Check `sync.github.enabled: true` AND `canUpdateExternalItems: true` in config.json |
190
+ | GitHub issues not updating | Run `/sw-github:sync {id}` explicitly; check `.specweave/logs/throttle.log` |
191
+ | Permission denied | Set `canUpsertInternalItems: true` AND `canUpdateExternalItems: true` in config.json |
168
192
  | No GITHUB_TOKEN | Check `.env` file or run `gh auth login` |
169
193
  | Edits blocked in repositories/ | Add `"additionalDirectories":["repositories"]` + `Write(//**)`, `Edit(//**)` to `.claude/settings.json` |
170
194
  | Path patterns not working | `//path` = absolute, `/path` = relative to settings file, `additionalDirectories` for explicit working dirs |
171
195
  <!-- SW:END:troubleshooting -->
172
196
 
173
- <!-- SW:SECTION:principles version="1.0.44" -->
197
+ <!-- SW:SECTION:principles version="1.0.46" -->
174
198
  ## Principles
175
199
 
176
200
  1. **Spec-first**: `/sw:increment` before coding
@@ -180,7 +204,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
180
204
  5. **Clean**: All files in increment folders
181
205
  <!-- SW:END:principles -->
182
206
 
183
- <!-- SW:SECTION:linking version="1.0.44" -->
207
+ <!-- SW:SECTION:linking version="1.0.46" -->
184
208
  ## Bidirectional Linking
185
209
 
186
210
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -188,7 +212,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
188
212
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
189
213
  <!-- SW:END:linking -->
190
214
 
191
- <!-- SW:SECTION:docs version="1.0.44" -->
215
+ <!-- SW:SECTION:docs version="1.0.46" -->
192
216
  ## Docs
193
217
 
194
218
  [spec-weave.com](https://spec-weave.com) | `.specweave/docs/internal/`
@@ -56,6 +56,20 @@ async function loadGitHubConfig() {
56
56
  repo = profile.config.repo;
57
57
  }
58
58
  }
59
+ // Method 4 (v1.0.46): First GitHub profile if no defaultProfile is set
60
+ // This handles the common case where user has profiles but forgot to set defaultProfile
61
+ else if (config.sync?.profiles) {
62
+ const profileNames = Object.keys(config.sync.profiles);
63
+ for (const name of profileNames) {
64
+ const profile = config.sync.profiles[name];
65
+ if (profile?.provider === 'github' && profile?.config?.owner && profile?.config?.repo) {
66
+ owner = profile.config.owner;
67
+ repo = profile.config.repo;
68
+ console.log(`ℹ️ Using first GitHub profile: ${name}`);
69
+ break;
70
+ }
71
+ }
72
+ }
59
73
  }
60
74
  catch (error) {
61
75
  console.error('⚠️ Failed to parse config.json:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"github-feature-sync-cli.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-feature-sync-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-feature-sync-cli.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-feature-sync-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Codebase Rescan Worker
4
+ *
5
+ * Background worker that rescans the actual source code after an increment closes
6
+ * to ensure living docs reflect implementation reality (code as source of truth).
7
+ *
8
+ * Triggered automatically by the living-specs-handler when increment.done event fires.
9
+ *
10
+ * Phases:
11
+ * 1. Discovery - Scan codebase structure for files affected by the increment
12
+ * 2. Code Analysis - Extract actual implementation details from source files
13
+ * 3. Doc Reconciliation - Compare code reality with living docs
14
+ * 4. Update - Update living docs based on actual code
15
+ * 5. Reporting - Generate sync report
16
+ *
17
+ * Usage:
18
+ * node codebase-rescan-worker.js <jobId> <projectPath>
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=codebase-rescan-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebase-rescan-worker.d.ts","sourceRoot":"","sources":["../../../../src/cli/workers/codebase-rescan-worker.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG"}