specweave 1.0.272 → 1.0.273

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 (131) hide show
  1. package/CLAUDE.md +28 -28
  2. package/bin/specweave.js +13 -0
  3. package/dist/dashboard/assets/index-BKdLA_6x.js +11 -0
  4. package/dist/dashboard/assets/index-Cs3Zq6E2.css +1 -0
  5. package/dist/dashboard/index.html +2 -2
  6. package/dist/src/cli/commands/detect-intent.js +1 -1
  7. package/dist/src/cli/commands/detect-intent.js.map +1 -1
  8. package/dist/src/cli/commands/judge-skill.d.ts.map +1 -1
  9. package/dist/src/cli/commands/judge-skill.js +11 -0
  10. package/dist/src/cli/commands/judge-skill.js.map +1 -1
  11. package/dist/src/cli/commands/migrate-to-vskill.d.ts +43 -0
  12. package/dist/src/cli/commands/migrate-to-vskill.d.ts.map +1 -0
  13. package/dist/src/cli/commands/migrate-to-vskill.js +144 -0
  14. package/dist/src/cli/commands/migrate-to-vskill.js.map +1 -0
  15. package/dist/src/cli/commands/refresh-marketplace.d.ts +4 -23
  16. package/dist/src/cli/commands/refresh-marketplace.d.ts.map +1 -1
  17. package/dist/src/cli/commands/refresh-marketplace.js +15 -1061
  18. package/dist/src/cli/commands/refresh-marketplace.js.map +1 -1
  19. package/dist/src/cli/commands/refresh-plugins.d.ts +28 -0
  20. package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -0
  21. package/dist/src/cli/commands/refresh-plugins.js +272 -0
  22. package/dist/src/cli/commands/refresh-plugins.js.map +1 -0
  23. package/dist/src/cli/commands/uninstall.d.ts +11 -0
  24. package/dist/src/cli/commands/uninstall.d.ts.map +1 -0
  25. package/dist/src/cli/commands/uninstall.js +164 -0
  26. package/dist/src/cli/commands/uninstall.js.map +1 -0
  27. package/dist/src/cli/helpers/init/claude-plugin-enabler.d.ts +6 -2
  28. package/dist/src/cli/helpers/init/claude-plugin-enabler.d.ts.map +1 -1
  29. package/dist/src/cli/helpers/init/claude-plugin-enabler.js +6 -2
  30. package/dist/src/cli/helpers/init/claude-plugin-enabler.js.map +1 -1
  31. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts +5 -0
  32. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts.map +1 -1
  33. package/dist/src/cli/helpers/init/instruction-file-merger.js +18 -0
  34. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
  35. package/dist/src/cli/helpers/init/plugin-installer.d.ts +1 -1
  36. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  37. package/dist/src/cli/helpers/init/plugin-installer.js +98 -364
  38. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  39. package/dist/src/cli/workers/marketplace-scanner-worker.d.ts +73 -0
  40. package/dist/src/cli/workers/marketplace-scanner-worker.d.ts.map +1 -0
  41. package/dist/src/cli/workers/marketplace-scanner-worker.js +405 -0
  42. package/dist/src/cli/workers/marketplace-scanner-worker.js.map +1 -0
  43. package/dist/src/config/types.d.ts +2 -2
  44. package/dist/src/core/background/job-launcher.d.ts +24 -0
  45. package/dist/src/core/background/job-launcher.d.ts.map +1 -1
  46. package/dist/src/core/background/job-launcher.js +80 -0
  47. package/dist/src/core/background/job-launcher.js.map +1 -1
  48. package/dist/src/core/background/types.d.ts +20 -2
  49. package/dist/src/core/background/types.d.ts.map +1 -1
  50. package/dist/src/core/fabric/registry-schema.d.ts +117 -0
  51. package/dist/src/core/fabric/registry-schema.d.ts.map +1 -1
  52. package/dist/src/core/fabric/registry-schema.js +37 -1
  53. package/dist/src/core/fabric/registry-schema.js.map +1 -1
  54. package/dist/src/core/fabric/security-judge.d.ts.map +1 -1
  55. package/dist/src/core/fabric/security-judge.js +38 -17
  56. package/dist/src/core/fabric/security-judge.js.map +1 -1
  57. package/dist/src/core/fabric/submission-queue-types.d.ts +83 -0
  58. package/dist/src/core/fabric/submission-queue-types.d.ts.map +1 -0
  59. package/dist/src/core/fabric/submission-queue-types.js +8 -0
  60. package/dist/src/core/fabric/submission-queue-types.js.map +1 -0
  61. package/dist/src/core/fabric/submission-queue.d.ts +65 -0
  62. package/dist/src/core/fabric/submission-queue.d.ts.map +1 -0
  63. package/dist/src/core/fabric/submission-queue.js +267 -0
  64. package/dist/src/core/fabric/submission-queue.js.map +1 -0
  65. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +5 -3
  66. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  67. package/dist/src/core/lazy-loading/llm-plugin-detector.js +66 -13
  68. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  69. package/dist/src/core/session/plugin-install-detector.d.ts.map +1 -1
  70. package/dist/src/core/session/plugin-install-detector.js +3 -2
  71. package/dist/src/core/session/plugin-install-detector.js.map +1 -1
  72. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  73. package/dist/src/dashboard/server/dashboard-server.js +115 -3
  74. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  75. package/dist/src/dashboard/server/data/cost-aggregator.d.ts +0 -1
  76. package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -1
  77. package/dist/src/dashboard/server/data/cost-aggregator.js +0 -1
  78. package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -1
  79. package/dist/src/dashboard/server/data/marketplace-aggregator.d.ts +27 -0
  80. package/dist/src/dashboard/server/data/marketplace-aggregator.d.ts.map +1 -0
  81. package/dist/src/dashboard/server/data/marketplace-aggregator.js +61 -0
  82. package/dist/src/dashboard/server/data/marketplace-aggregator.js.map +1 -0
  83. package/dist/src/dashboard/server/file-watcher.d.ts.map +1 -1
  84. package/dist/src/dashboard/server/file-watcher.js +1 -0
  85. package/dist/src/dashboard/server/file-watcher.js.map +1 -1
  86. package/dist/src/dashboard/types.d.ts +1 -1
  87. package/dist/src/dashboard/types.d.ts.map +1 -1
  88. package/dist/src/init/research/types.d.ts +1 -1
  89. package/dist/src/utils/cleanup-stale-plugins.d.ts +1 -1
  90. package/dist/src/utils/cleanup-stale-plugins.js +1 -1
  91. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -1
  92. package/dist/src/utils/docs-preview/docusaurus-setup.js +9 -6
  93. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
  94. package/dist/src/utils/vskill-resolver.d.ts +24 -0
  95. package/dist/src/utils/vskill-resolver.d.ts.map +1 -0
  96. package/dist/src/utils/vskill-resolver.js +98 -0
  97. package/dist/src/utils/vskill-resolver.js.map +1 -0
  98. package/package.json +3 -1
  99. package/plugins/specweave/PLUGIN.md +1 -1
  100. package/plugins/specweave/hooks/user-prompt-submit.sh +147 -55
  101. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +1 -1
  102. package/plugins/specweave/skills/npm/SKILL.md +6 -6
  103. package/plugins/specweave/skills/update-instructions/SKILL.md +1 -1
  104. package/plugins/specweave-ado/PLUGIN.md +1 -1
  105. package/plugins/specweave-backend/PLUGIN.md +1 -1
  106. package/plugins/specweave-blockchain/PLUGIN.md +1 -1
  107. package/plugins/specweave-confluent/PLUGIN.md +1 -1
  108. package/plugins/specweave-cost-optimizer/PLUGIN.md +1 -1
  109. package/plugins/specweave-desktop/PLUGIN.md +1 -1
  110. package/plugins/specweave-diagrams/PLUGIN.md +1 -1
  111. package/plugins/specweave-docs/PLUGIN.md +1 -1
  112. package/plugins/specweave-figma/PLUGIN.md +1 -1
  113. package/plugins/specweave-frontend/PLUGIN.md +1 -1
  114. package/plugins/specweave-github/PLUGIN.md +1 -1
  115. package/plugins/specweave-infrastructure/PLUGIN.md +1 -1
  116. package/plugins/specweave-jira/PLUGIN.md +1 -1
  117. package/plugins/specweave-kafka/PLUGIN.md +1 -1
  118. package/plugins/specweave-kafka-streams/PLUGIN.md +1 -1
  119. package/plugins/specweave-kubernetes/PLUGIN.md +1 -1
  120. package/plugins/specweave-ml/PLUGIN.md +1 -1
  121. package/plugins/specweave-mobile/PLUGIN.md +1 -1
  122. package/plugins/specweave-mobile/README.md +2 -2
  123. package/plugins/specweave-n8n/PLUGIN.md +1 -1
  124. package/plugins/specweave-payments/PLUGIN.md +1 -1
  125. package/plugins/specweave-release/PLUGIN.md +1 -1
  126. package/plugins/specweave-release/commands/npm.md +6 -6
  127. package/plugins/specweave-testing/PLUGIN.md +1 -1
  128. package/scripts/preuninstall.cjs +34 -0
  129. package/src/templates/CLAUDE.md.template +3 -3
  130. package/dist/dashboard/assets/index-DNnisM2Y.css +0 -1
  131. package/dist/dashboard/assets/index-ldLuSpfZ.js +0 -11
package/CLAUDE.md CHANGED
@@ -1,16 +1,16 @@
1
- <!-- SW:META template="claude" version="1.0.270" sections="header,lsp,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
1
+ <!-- SW:META template="claude" version="1.0.272" sections="header,lsp,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.270" -->
3
+ <!-- SW:SECTION:header version="1.0.272" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
7
- <!-- SW:SECTION:lsp version="1.0.270" -->
7
+ <!-- SW:SECTION:lsp version="1.0.272" -->
8
8
  ## LSP (Code Intelligence)
9
9
 
10
10
  **Native LSP broken in v2.1.0+.** Use: `specweave lsp refs|def|hover src/file.ts SymbolName`
11
11
  <!-- SW:END:lsp -->
12
12
 
13
- <!-- SW:SECTION:start version="1.0.270" -->
13
+ <!-- SW:SECTION:start version="1.0.272" -->
14
14
  ## Getting Started
15
15
 
16
16
  **Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
@@ -20,7 +20,7 @@
20
20
  2. **Customize**: Edit spec.md and use for setup tasks
21
21
  <!-- SW:END:start -->
22
22
 
23
- <!-- SW:SECTION:autodetect version="1.0.270" -->
23
+ <!-- SW:SECTION:autodetect version="1.0.272" -->
24
24
  ## Auto-Detection
25
25
 
26
26
  SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
@@ -30,7 +30,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
30
30
  **Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
31
31
  <!-- SW:END:autodetect -->
32
32
 
33
- <!-- SW:SECTION:metarule version="1.0.270" -->
33
+ <!-- SW:SECTION:metarule version="1.0.272" -->
34
34
  ## Workflow Orchestration
35
35
 
36
36
  ### 1. Plan Mode Default
@@ -57,7 +57,7 @@ Good: npm run build → node script.js → Success
57
57
  ```
58
58
  <!-- SW:END:metarule -->
59
59
 
60
- <!-- SW:SECTION:rules version="1.0.270" -->
60
+ <!-- SW:SECTION:rules version="1.0.272" -->
61
61
  ## Rules
62
62
 
63
63
  1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
@@ -68,12 +68,12 @@ Good: npm run build → node script.js → Success
68
68
  ```
69
69
  4. **Emergency**: "emergency mode" → 1 edit, 50 lines max, no agents
70
70
  5. **Initialization guard**: `.specweave/` folders MUST ONLY exist where `specweave init` was run
71
- 6. **Marketplace refresh**: Use `specweave refresh-marketplace` CLI (not `scripts/refresh-marketplace.sh`)
71
+ 6. **Plugin refresh**: Use `specweave refresh-plugins` CLI (not `scripts/refresh-marketplace.sh`)
72
72
  7. **Numbered folder collisions**: Before creating `docs/NN-*` folders, CHECK existing prefixes
73
73
  8. **Multi-repo**: ALL repos MUST be at `repositories/{org}/{repo-name}/` — NEVER directly under `repositories/`
74
74
  <!-- SW:END:rules -->
75
75
 
76
- <!-- SW:SECTION:workflow version="1.0.270" -->
76
+ <!-- SW:SECTION:workflow version="1.0.272" -->
77
77
  ## Workflow
78
78
 
79
79
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -93,7 +93,7 @@ Good: npm run build → node script.js → Success
93
93
  **Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
94
94
  <!-- SW:END:workflow -->
95
95
 
96
- <!-- SW:SECTION:reflect version="1.0.270" -->
96
+ <!-- SW:SECTION:reflect version="1.0.272" -->
97
97
  ## Skill Memories
98
98
 
99
99
  SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
@@ -101,7 +101,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
101
101
  **Disable**: Set `"reflect": { "enabled": false }` in `.specweave/config.json`
102
102
  <!-- SW:END:reflect -->
103
103
 
104
- <!-- SW:SECTION:context version="1.0.270" -->
104
+ <!-- SW:SECTION:context version="1.0.272" -->
105
105
  ## Context
106
106
 
107
107
  **Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
@@ -109,7 +109,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
109
109
  **Load context**: `/sw:docs <topic>` loads relevant living docs into conversation
110
110
  <!-- SW:END:context -->
111
111
 
112
- <!-- SW:SECTION:structure version="1.0.270" -->
112
+ <!-- SW:SECTION:structure version="1.0.272" -->
113
113
  ## Structure
114
114
 
115
115
  ```
@@ -124,7 +124,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
124
124
  **Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
125
125
  <!-- SW:END:structure -->
126
126
 
127
- <!-- SW:SECTION:taskformat version="1.0.270" -->
127
+ <!-- SW:SECTION:taskformat version="1.0.272" -->
128
128
  ## Task Format
129
129
 
130
130
  ```markdown
@@ -134,58 +134,58 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
134
134
  ```
135
135
  <!-- SW:END:taskformat -->
136
136
 
137
- <!-- SW:SECTION:secrets version="1.0.270" -->
137
+ <!-- SW:SECTION:secrets version="1.0.272" -->
138
138
  ## Secrets
139
139
 
140
140
  Before CLI tools, check existing config (`grep -q` only — never display values).
141
141
  <!-- SW:END:secrets -->
142
142
 
143
- <!-- SW:SECTION:syncing version="1.0.270" -->
143
+ <!-- SW:SECTION:syncing version="1.0.272" -->
144
144
  ## External Sync
145
145
 
146
146
  Primary: `/sw:progress-sync`. Individual: `/sw-github:push`, `/sw-github:close`. Mapping: Feature→Milestone | Story→Issue | Task→Checkbox.
147
147
  <!-- SW:END:syncing -->
148
148
 
149
- <!-- SW:SECTION:testing version="1.0.270" -->
149
+ <!-- SW:SECTION:testing version="1.0.272" -->
150
150
  ## Testing
151
151
 
152
152
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest) | ESM mocking: `vi.hoisted()` + `vi.mock()`
153
153
  <!-- SW:END:testing -->
154
154
 
155
- <!-- SW:SECTION:tdd version="1.0.270" -->
155
+ <!-- SW:SECTION:tdd version="1.0.272" -->
156
156
  ## TDD
157
157
 
158
158
  When `testing.defaultTestMode: "TDD"` in config.json: RED→GREEN→REFACTOR. Use `/sw:tdd-cycle`. Enforcement via `testing.tddEnforcement` (strict|warn|off).
159
159
  <!-- SW:END:tdd -->
160
160
 
161
- <!-- SW:SECTION:api version="1.0.270" -->
161
+ <!-- SW:SECTION:api version="1.0.272" -->
162
162
  <!-- API: Enable `apiDocs` in config.json. Commands: /sw:api-docs -->
163
163
  <!-- SW:END:api -->
164
164
 
165
- <!-- SW:SECTION:limits version="1.0.270" -->
165
+ <!-- SW:SECTION:limits version="1.0.272" -->
166
166
  ## Limits
167
167
 
168
168
  **Max 1500 lines/file** — extract before adding
169
169
  <!-- SW:END:limits -->
170
170
 
171
- <!-- SW:SECTION:troubleshooting version="1.0.270" -->
171
+ <!-- SW:SECTION:troubleshooting version="1.0.272" -->
172
172
  ## Troubleshooting
173
173
 
174
174
  | Issue | Fix |
175
175
  |-------|-----|
176
176
  | Skills missing | Restart Claude Code |
177
- | Plugins outdated | `specweave refresh-marketplace` |
177
+ | Plugins outdated | `specweave refresh-plugins` |
178
178
  | Out of sync | `/sw:sync-progress` |
179
179
  | Session stuck | `rm -f .specweave/state/*.lock` + restart |
180
180
  <!-- SW:END:troubleshooting -->
181
181
 
182
- <!-- SW:SECTION:lazyloading version="1.0.270" -->
182
+ <!-- SW:SECTION:lazyloading version="1.0.272" -->
183
183
  ## Plugin Auto-Loading
184
184
 
185
- Plugins load automatically. Manual: `claude plugin install sw-frontend@specweave`. Disable: `export SPECWEAVE_DISABLE_AUTO_LOAD=1`
185
+ Plugins load automatically. Manual: `vskill add specweave --plugin sw-frontend`. Disable: `export SPECWEAVE_DISABLE_AUTO_LOAD=1`
186
186
  <!-- SW:END:lazyloading -->
187
187
 
188
- <!-- SW:SECTION:principles version="1.0.270" -->
188
+ <!-- SW:SECTION:principles version="1.0.272" -->
189
189
  ## Principles
190
190
 
191
191
  1. **Spec-first**: `/sw:increment` before coding
@@ -196,7 +196,7 @@ Plugins load automatically. Manual: `claude plugin install sw-frontend@specweave
196
196
  6. **Plan Review**: Review the plan thoroughly before making any code changes
197
197
  <!-- SW:END:principles -->
198
198
 
199
- <!-- SW:SECTION:linking version="1.0.270" -->
199
+ <!-- SW:SECTION:linking version="1.0.272" -->
200
200
  ## Bidirectional Linking
201
201
 
202
202
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -204,13 +204,13 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
204
204
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
205
205
  <!-- SW:END:linking -->
206
206
 
207
- <!-- SW:SECTION:mcp version="1.0.270" -->
207
+ <!-- SW:SECTION:mcp version="1.0.272" -->
208
208
  ## External Services
209
209
 
210
210
  CLI tools first (`gh`, `wrangler`, `supabase`) → MCP for complex integrations.
211
211
  <!-- SW:END:mcp -->
212
212
 
213
- <!-- SW:SECTION:auto version="1.0.270" -->
213
+ <!-- SW:SECTION:auto version="1.0.272" -->
214
214
  ## Auto Mode
215
215
 
216
216
  `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency)
@@ -218,7 +218,7 @@ CLI tools first (`gh`, `wrangler`, `supabase`) → MCP for complex integrations.
218
218
  Pattern: IMPLEMENT → TEST → FAIL? → FIX → PASS → NEXT. STOP & ASK if spec conflicts or ambiguity.
219
219
  <!-- SW:END:auto -->
220
220
 
221
- <!-- SW:SECTION:docs version="1.0.270" -->
221
+ <!-- SW:SECTION:docs version="1.0.272" -->
222
222
  ## Docs
223
223
 
224
224
  [spec-weave.com](https://spec-weave.com)
package/bin/specweave.js CHANGED
@@ -236,6 +236,19 @@ program
236
236
  // await incrementCommand(action, name, options);
237
237
  // });
238
238
 
239
+ // Uninstall command - Remove SpecWeave from a project
240
+ program
241
+ .command('uninstall')
242
+ .description('Remove SpecWeave from the current project')
243
+ .option('--global', 'Also clean global agent directories and plugin cache')
244
+ .option('--keep-data', 'Archive .specweave/ instead of deleting')
245
+ .option('--dry-run', 'Show what would be removed without deleting')
246
+ .option('-f, --force', 'Skip confirmation prompt')
247
+ .action(async (options) => {
248
+ const { uninstallCommand } = await import('../dist/src/cli/commands/uninstall.js');
249
+ await uninstallCommand(process.cwd(), options);
250
+ });
251
+
239
252
  // Install command - Install agents/skills
240
253
  program
241
254
  .command('install [component-name]')