specweave 1.0.153 → 1.0.155
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 +69 -24
- package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
- package/dist/src/core/lazy-loading/llm-plugin-detector.js +79 -34
- package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +3 -2
- package/plugins/specweave/hooks/user-prompt-submit.sh +76 -17
package/CLAUDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
1
|
+
<!-- SW:META template="claude" version="1.0.154" sections="header,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.
|
|
3
|
+
<!-- SW:SECTION:header version="1.0.154" -->
|
|
4
4
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
5
5
|
<!-- SW:END:header -->
|
|
6
6
|
|
|
@@ -58,7 +58,7 @@ plugins/specweave/
|
|
|
58
58
|
**Old "commands" are just skills with `disable-model-invocation: true`** - they only respond to explicit `/name` invocation, not keyword detection.
|
|
59
59
|
<!-- SW:END:claude-code-concepts -->
|
|
60
60
|
|
|
61
|
-
<!-- SW:SECTION:start version="1.0.
|
|
61
|
+
<!-- SW:SECTION:start version="1.0.154" -->
|
|
62
62
|
## Getting Started
|
|
63
63
|
|
|
64
64
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -68,7 +68,7 @@ plugins/specweave/
|
|
|
68
68
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
69
69
|
<!-- SW:END:start -->
|
|
70
70
|
|
|
71
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
71
|
+
<!-- SW:SECTION:autodetect version="1.0.154" -->
|
|
72
72
|
## Auto-Detection
|
|
73
73
|
|
|
74
74
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -78,7 +78,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
78
78
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
79
79
|
<!-- SW:END:autodetect -->
|
|
80
80
|
|
|
81
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
81
|
+
<!-- SW:SECTION:metarule version="1.0.154" -->
|
|
82
82
|
## Meta-Rule: Think-Before-Act
|
|
83
83
|
|
|
84
84
|
**Satisfy dependencies BEFORE dependent operations.**
|
|
@@ -89,7 +89,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
89
89
|
```
|
|
90
90
|
<!-- SW:END:metarule -->
|
|
91
91
|
|
|
92
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
92
|
+
<!-- SW:SECTION:rules version="1.0.154" -->
|
|
93
93
|
## Rules
|
|
94
94
|
|
|
95
95
|
1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
|
|
@@ -100,7 +100,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
100
100
|
6. **⛔ Marketplace refresh**: Use `specweave refresh-marketplace` CLI (not `scripts/refresh-marketplace.sh`)
|
|
101
101
|
<!-- SW:END:rules -->
|
|
102
102
|
|
|
103
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
103
|
+
<!-- SW:SECTION:workflow version="1.0.154" -->
|
|
104
104
|
## Workflow
|
|
105
105
|
|
|
106
106
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -120,7 +120,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
120
120
|
**Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
|
|
121
121
|
<!-- SW:END:workflow -->
|
|
122
122
|
|
|
123
|
-
<!-- SW:SECTION:reflect version="1.0.
|
|
123
|
+
<!-- SW:SECTION:reflect version="1.0.154" -->
|
|
124
124
|
## Skill Memories
|
|
125
125
|
|
|
126
126
|
SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
|
|
@@ -133,7 +133,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
133
133
|
<!-- Auto-captured by SpecWeave reflect. Edit or delete as needed. -->
|
|
134
134
|
<!-- Learnings are organized by skill name. User edits override SpecWeave defaults. -->
|
|
135
135
|
|
|
136
|
-
<!-- SW:SECTION:context version="1.0.
|
|
136
|
+
<!-- SW:SECTION:context version="1.0.154" -->
|
|
137
137
|
## Context
|
|
138
138
|
|
|
139
139
|
**Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
|
|
@@ -141,7 +141,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
141
141
|
**Load context**: `/sw:context <topic>` loads relevant living docs into conversation
|
|
142
142
|
<!-- SW:END:context -->
|
|
143
143
|
|
|
144
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
144
|
+
<!-- SW:SECTION:structure version="1.0.154" -->
|
|
145
145
|
## Structure
|
|
146
146
|
|
|
147
147
|
```
|
|
@@ -156,7 +156,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
156
156
|
**Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
|
|
157
157
|
<!-- SW:END:structure -->
|
|
158
158
|
|
|
159
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
159
|
+
<!-- SW:SECTION:taskformat version="1.0.154" -->
|
|
160
160
|
## Task Format
|
|
161
161
|
|
|
162
162
|
```markdown
|
|
@@ -166,7 +166,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
166
166
|
```
|
|
167
167
|
<!-- SW:END:taskformat -->
|
|
168
168
|
|
|
169
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
169
|
+
<!-- SW:SECTION:secrets version="1.0.154" -->
|
|
170
170
|
## Secrets Check
|
|
171
171
|
|
|
172
172
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -180,7 +180,7 @@ gh auth status
|
|
|
180
180
|
**SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
|
|
181
181
|
<!-- SW:END:secrets -->
|
|
182
182
|
|
|
183
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
183
|
+
<!-- SW:SECTION:syncing version="1.0.154" -->
|
|
184
184
|
## External Sync (GitHub/JIRA/ADO)
|
|
185
185
|
|
|
186
186
|
**Commands**: `/sw-github:sync {id}` (issues) | `/sw:sync-specs` (living docs only)
|
|
@@ -190,7 +190,7 @@ gh auth status
|
|
|
190
190
|
**Config**: Set `sync.github.enabled: true` + `canUpdateExternalItems: true` in config.json
|
|
191
191
|
<!-- SW:END:syncing -->
|
|
192
192
|
|
|
193
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
193
|
+
<!-- SW:SECTION:testing version="1.0.154" -->
|
|
194
194
|
## Testing
|
|
195
195
|
|
|
196
196
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -202,7 +202,7 @@ vi.mock('./module', () => ({ func: mockFn }));
|
|
|
202
202
|
```
|
|
203
203
|
<!-- SW:END:testing -->
|
|
204
204
|
|
|
205
|
-
<!-- SW:SECTION:tdd version="1.0.
|
|
205
|
+
<!-- SW:SECTION:tdd version="1.0.154" -->
|
|
206
206
|
## TDD Mode (Test-Driven Development)
|
|
207
207
|
|
|
208
208
|
**When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
|
|
@@ -263,7 +263,7 @@ When TDD is enabled, tasks include phase markers:
|
|
|
263
263
|
**Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
|
|
264
264
|
<!-- SW:END:tdd -->
|
|
265
265
|
|
|
266
|
-
<!-- SW:SECTION:api version="1.0.
|
|
266
|
+
<!-- SW:SECTION:api version="1.0.154" -->
|
|
267
267
|
## API Development (OpenAPI-First)
|
|
268
268
|
|
|
269
269
|
**For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
|
|
@@ -271,13 +271,13 @@ When TDD is enabled, tasks include phase markers:
|
|
|
271
271
|
Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
272
272
|
<!-- SW:END:api -->
|
|
273
273
|
|
|
274
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
274
|
+
<!-- SW:SECTION:limits version="1.0.154" -->
|
|
275
275
|
## Limits
|
|
276
276
|
|
|
277
277
|
**Max 1500 lines/file** — extract before adding
|
|
278
278
|
<!-- SW:END:limits -->
|
|
279
279
|
|
|
280
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
280
|
+
<!-- SW:SECTION:troubleshooting version="1.0.154" -->
|
|
281
281
|
## Troubleshooting
|
|
282
282
|
|
|
283
283
|
| Issue | Fix |
|
|
@@ -293,7 +293,7 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
|
293
293
|
| Marketplace shows 0 | Normal with auto-load; `/plugin list` shows actual |
|
|
294
294
|
<!-- SW:END:troubleshooting -->
|
|
295
295
|
|
|
296
|
-
<!-- SW:SECTION:lazyloading version="1.0.
|
|
296
|
+
<!-- SW:SECTION:lazyloading version="1.0.154" -->
|
|
297
297
|
## Plugin Auto-Loading
|
|
298
298
|
|
|
299
299
|
Plugins load automatically based on project type and keywords. Manual install if needed:
|
|
@@ -307,7 +307,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
307
307
|
**Token savings**: Core ~3-5K tokens vs all plugins ~60K+
|
|
308
308
|
<!-- SW:END:lazyloading -->
|
|
309
309
|
|
|
310
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
310
|
+
<!-- SW:SECTION:principles version="1.0.154" -->
|
|
311
311
|
## Principles
|
|
312
312
|
|
|
313
313
|
1. **Spec-first**: `/sw:increment` before coding
|
|
@@ -316,7 +316,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
316
316
|
4. **Traceable**: All work → specs → ACs
|
|
317
317
|
<!-- SW:END:principles -->
|
|
318
318
|
|
|
319
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
319
|
+
<!-- SW:SECTION:linking version="1.0.154" -->
|
|
320
320
|
## Bidirectional Linking
|
|
321
321
|
|
|
322
322
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -324,7 +324,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
324
324
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
325
325
|
<!-- SW:END:linking -->
|
|
326
326
|
|
|
327
|
-
<!-- SW:SECTION:mcp version="1.0.
|
|
327
|
+
<!-- SW:SECTION:mcp version="1.0.154" -->
|
|
328
328
|
## External Services
|
|
329
329
|
|
|
330
330
|
**Priority**: CLI tools first (simpler) → MCP for complex integrations
|
|
@@ -346,7 +346,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
|
|
|
346
346
|
MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
347
347
|
<!-- SW:END:mcp -->
|
|
348
348
|
|
|
349
|
-
<!-- SW:SECTION:auto version="1.0.
|
|
349
|
+
<!-- SW:SECTION:auto version="1.0.154" -->
|
|
350
350
|
## Auto Mode
|
|
351
351
|
|
|
352
352
|
**Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
|
|
@@ -363,7 +363,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
|
363
363
|
**STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
|
|
364
364
|
<!-- SW:END:auto -->
|
|
365
365
|
|
|
366
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
366
|
+
<!-- SW:SECTION:docs version="1.0.154" -->
|
|
367
367
|
## Docs
|
|
368
368
|
|
|
369
369
|
[spec-weave.com](https://spec-weave.com)
|
|
@@ -555,12 +555,57 @@ Task({
|
|
|
555
555
|
})
|
|
556
556
|
```
|
|
557
557
|
|
|
558
|
+
### ⚠️ MANDATORY Agent Usage Rules (v1.0.155)
|
|
559
|
+
|
|
560
|
+
**When implementing code in these domains, you MUST spawn the specialized agent via Task tool:**
|
|
561
|
+
|
|
562
|
+
| If task involves... | You MUST use | subagent_type |
|
|
563
|
+
|---------------------|--------------|---------------|
|
|
564
|
+
| React, Vue, Next.js, frontend | Task tool | `sw-frontend:frontend-architect:frontend-architect` |
|
|
565
|
+
| Stripe, payments, checkout | Task tool | `sw-payments:payment-integration:payment-integration` |
|
|
566
|
+
| Kubernetes, Helm, K8s | Task tool | `sw-k8s:kubernetes-architect:kubernetes-architect` |
|
|
567
|
+
| Terraform, AWS, Docker | Task tool | `sw-infra:devops:devops` |
|
|
568
|
+
| Database optimization | Task tool | `sw-backend:database-optimizer:database-optimizer` |
|
|
569
|
+
| Playwright, Vitest, E2E tests | Task tool | `sw-testing:qa-engineer:qa-engineer` |
|
|
570
|
+
| React Native, mobile | Task tool | `sw-mobile:mobile-architect:mobile-architect` |
|
|
571
|
+
| ML, PyTorch, TensorFlow | Task tool | `sw-ml:ml-engineer:ml-engineer` |
|
|
572
|
+
|
|
573
|
+
**Why MANDATORY?**
|
|
574
|
+
- Agents have deep domain knowledge and best practices
|
|
575
|
+
- Agents produce higher quality, more maintainable code
|
|
576
|
+
- Direct implementation without agents = suboptimal results
|
|
577
|
+
|
|
578
|
+
**Example - You MUST do this:**
|
|
579
|
+
```typescript
|
|
580
|
+
// User asks: "Build React dashboard with Stripe"
|
|
581
|
+
// You MUST spawn these agents:
|
|
582
|
+
|
|
583
|
+
Task({
|
|
584
|
+
subagent_type: "sw-frontend:frontend-architect:frontend-architect",
|
|
585
|
+
prompt: "Build dashboard UI with sidebar, products page, orders page...",
|
|
586
|
+
description: "Dashboard UI"
|
|
587
|
+
})
|
|
588
|
+
|
|
589
|
+
Task({
|
|
590
|
+
subagent_type: "sw-payments:payment-integration:payment-integration",
|
|
591
|
+
prompt: "Build Stripe checkout with webhooks, success/cancel pages...",
|
|
592
|
+
description: "Stripe integration"
|
|
593
|
+
})
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**NEVER do this:**
|
|
597
|
+
```typescript
|
|
598
|
+
// ❌ WRONG: Direct implementation without agents
|
|
599
|
+
Write({ file_path: "app/api/checkout/route.ts", content: "..." })
|
|
600
|
+
```
|
|
601
|
+
|
|
558
602
|
### When to Use What
|
|
559
603
|
|
|
560
604
|
| Scenario | Use | Why |
|
|
561
605
|
|----------|-----|-----|
|
|
562
606
|
| Architecture decisions | Skills (auto) | Keywords trigger automatically |
|
|
563
607
|
| Code review, security | Skills (auto) | Keywords trigger automatically |
|
|
608
|
+
| **Implementation work** | **Agents (Task)** | **MANDATORY for quality** |
|
|
564
609
|
| Complex K8s/infra | Agents (Task) | Needs isolated context |
|
|
565
610
|
| Frontend architecture | Agents (Task) | Specialized plugin |
|
|
566
611
|
| ML pipelines | Agents (Task) | Specialized plugin |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-plugin-detector.d.ts","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm-plugin-detector.d.ts","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,42 +198,70 @@ export function isClaudeCliAvailable() {
|
|
|
198
198
|
/**
|
|
199
199
|
* Build the system prompt for plugin detection, increment recommendation, and skill routing
|
|
200
200
|
*
|
|
201
|
-
* v1.0.
|
|
202
|
-
* Reduced from ~500 lines to ~100 lines while keeping essential functionality
|
|
201
|
+
* v1.0.155: MINIMAL detection - only detect technologies EXPLICITLY mentioned in the prompt
|
|
203
202
|
*/
|
|
204
203
|
function buildDetectionPrompt() {
|
|
205
|
-
return `
|
|
204
|
+
return `You detect which SpecWeave plugins to load based on the user's prompt.
|
|
206
205
|
|
|
207
|
-
|
|
208
|
-
{"plugins":[],"confidence":0.9,"reasoning":"brief","increment":{"action":"new|none|small_fix","confidence":0.8,"suggestedName":null,"reasoning":"brief"},"routing":{"skills":[],"workflow":{"suggestPlanMode":false,"phases":[]},"confidence":0.8,"reasoning":"brief"}}
|
|
206
|
+
DETECTION PRINCIPLE: Load plugins for technologies that are NECESSARY for the task.
|
|
209
207
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
- sw-payments: Stripe, PayPal, checkout, payment, billing, subscription
|
|
215
|
-
- sw-infra: Terraform, AWS, Azure, Docker, CI/CD, serverless, Lambda
|
|
216
|
-
- sw-k8s: Kubernetes, K8s, Helm, pods, deployment, EKS, AKS
|
|
217
|
-
- sw-mobile: React Native, iOS, Android, mobile, Expo
|
|
218
|
-
- sw-ml: ML, machine learning, PyTorch, TensorFlow, AI model
|
|
219
|
-
- sw-kafka: Kafka, event streaming, topics, MSK
|
|
220
|
-
- sw-github: GitHub issues, PRs, Actions
|
|
221
|
-
- sw-jira: JIRA, epics, stories, sprints
|
|
222
|
-
- sw-ado: Azure DevOps, work items, pipelines
|
|
208
|
+
WHAT TO LOAD:
|
|
209
|
+
1. EXPLICIT technologies - user says "React" → load sw-frontend
|
|
210
|
+
2. NECESSARILY IMPLIED - "dashboard" implies backend (dashboards need APIs to fetch data)
|
|
211
|
+
3. PAYMENT FLOWS - checkout, billing, subscriptions always need sw-payments
|
|
223
212
|
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
|
|
213
|
+
WHAT NOT TO LOAD:
|
|
214
|
+
1. OPTIONAL/CHOICE - infrastructure is a CHOICE (user might use Vercel, Cloudflare, AWS)
|
|
215
|
+
2. TESTING - unless user explicitly mentions TDD, tests, QA, or Playwright/Jest
|
|
216
|
+
3. INTEGRATIONS - sw-github/sw-jira/sw-ado only when explicitly mentioned
|
|
217
|
+
4. Questions/discussions - typically need ZERO plugins
|
|
228
218
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
- One "primary" skill, others "secondary"
|
|
232
|
-
- invokeWhen: "after_increment" for features, "immediate" for simple tasks
|
|
219
|
+
OUTPUT FORMAT (JSON only):
|
|
220
|
+
{"plugins":[],"confidence":0.9,"reasoning":"one-line explanation"}
|
|
233
221
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
222
|
+
AVAILABLE PLUGINS:
|
|
223
|
+
- sw-frontend: Frontend (React, Vue, Angular, Next.js, UI, dashboards, components)
|
|
224
|
+
- sw-backend: Backend (APIs, databases, Node.js, Express, PostgreSQL, MongoDB)
|
|
225
|
+
- sw-payments: Payments (Stripe, PayPal, checkout, billing, subscriptions)
|
|
226
|
+
- sw-testing: Testing (Jest, Vitest, Playwright, TDD, E2E) - ONLY if explicit
|
|
227
|
+
- sw-infra: Infrastructure (Terraform, Docker, AWS, K8s) - ONLY if explicit
|
|
228
|
+
- sw-k8s: Kubernetes (only when K8s/Helm explicitly mentioned)
|
|
229
|
+
- sw-mobile: Mobile (React Native, iOS, Android) - ONLY if explicit
|
|
230
|
+
- sw-ml: ML/AI (PyTorch, TensorFlow) - ONLY if explicit
|
|
231
|
+
- sw-kafka: Kafka/streaming - ONLY if explicit
|
|
232
|
+
- sw-github: GitHub integration - ONLY if explicitly mentioned
|
|
233
|
+
- sw-jira: JIRA integration - ONLY if explicitly mentioned
|
|
234
|
+
- sw-ado: Azure DevOps - ONLY if explicitly mentioned
|
|
235
|
+
|
|
236
|
+
EXAMPLES:
|
|
237
|
+
|
|
238
|
+
"Build React dashboard with Stripe checkout"
|
|
239
|
+
→ React → sw-frontend (explicit)
|
|
240
|
+
→ Dashboard → sw-backend (dashboards need APIs to fetch/display data)
|
|
241
|
+
→ Stripe checkout → sw-payments (explicit)
|
|
242
|
+
→ Infrastructure? NO - user didn't specify, could be Vercel/Cloudflare/anything
|
|
243
|
+
{"plugins":["sw-frontend","sw-backend","sw-payments"],"confidence":0.95,"reasoning":"React+dashboard→frontend+backend, Stripe→payments. Infra not specified."}
|
|
244
|
+
|
|
245
|
+
"Create a REST API with PostgreSQL"
|
|
246
|
+
→ API + PostgreSQL → sw-backend only
|
|
247
|
+
{"plugins":["sw-backend"],"confidence":0.95,"reasoning":"API+PostgreSQL→backend only."}
|
|
248
|
+
|
|
249
|
+
"Build e-commerce site with admin panel"
|
|
250
|
+
→ Site → sw-frontend (explicit)
|
|
251
|
+
→ Admin panel → sw-backend (admin panels need data management)
|
|
252
|
+
→ E-commerce often has payments, but not explicit here - don't assume
|
|
253
|
+
{"plugins":["sw-frontend","sw-backend"],"confidence":0.9,"reasoning":"E-commerce site+admin→frontend+backend. Payments not mentioned."}
|
|
254
|
+
|
|
255
|
+
"Deploy my app to Kubernetes with Terraform"
|
|
256
|
+
→ K8s → sw-k8s (explicit)
|
|
257
|
+
→ Terraform → sw-infra (explicit)
|
|
258
|
+
{"plugins":["sw-k8s","sw-infra"],"confidence":0.95,"reasoning":"K8s+Terraform explicitly mentioned."}
|
|
259
|
+
|
|
260
|
+
"Fix the login bug"
|
|
261
|
+
{"plugins":[],"confidence":0.9,"reasoning":"No specific tech mentioned, generic bug fix."}
|
|
262
|
+
|
|
263
|
+
"How do I use React hooks?"
|
|
264
|
+
{"plugins":[],"confidence":0.95,"reasoning":"Question, no plugin needed."}`;
|
|
237
265
|
}
|
|
238
266
|
/**
|
|
239
267
|
* Execute Claude CLI command safely
|
|
@@ -384,7 +412,8 @@ function createKeywordFallbackResult(userPrompt, startTime, error) {
|
|
|
384
412
|
* @param timeout - Timeout in milliseconds (default: 30000)
|
|
385
413
|
* @returns Detection result with plugins to install
|
|
386
414
|
*/
|
|
387
|
-
export async function detectPluginsViaLLM(userPrompt, timeout =
|
|
415
|
+
export async function detectPluginsViaLLM(userPrompt, timeout = 20000 // Reduced from 30s to allow time for keyword fallback + install
|
|
416
|
+
) {
|
|
388
417
|
const startTime = performance.now();
|
|
389
418
|
// Check CLI availability first
|
|
390
419
|
const cliStatus = isClaudeCliAvailable();
|
|
@@ -419,8 +448,9 @@ User prompt to analyze:
|
|
|
419
448
|
|
|
420
449
|
Which plugins should be loaded?`;
|
|
421
450
|
try {
|
|
422
|
-
// Execute Claude CLI with
|
|
423
|
-
|
|
451
|
+
// Execute Claude CLI with Opus for maximum accuracy (v1.0.156: Opus understands necessary implications)
|
|
452
|
+
// Use --output-format json for faster response and --setting-sources user to skip project context
|
|
453
|
+
const result = executeClaudeCli(['-p', fullPrompt, '--model', 'opus', '--output-format', 'json', '--setting-sources', 'user'], timeout);
|
|
424
454
|
// Handle spawn errors - use keyword fallback (v1.0.153)
|
|
425
455
|
if (result.error) {
|
|
426
456
|
const errorMsg = result.error.message || String(result.error);
|
|
@@ -448,10 +478,23 @@ Which plugins should be loaded?`;
|
|
|
448
478
|
return createKeywordFallbackResult(userPrompt, startTime, `Claude CLI exited with code ${result.status}: ${stderr || stdout}`);
|
|
449
479
|
}
|
|
450
480
|
// Parse the response
|
|
451
|
-
|
|
481
|
+
let output = (result.stdout || '').trim();
|
|
452
482
|
if (!output) {
|
|
453
483
|
return createKeywordFallbackResult(userPrompt, startTime, 'Empty response from Claude CLI');
|
|
454
484
|
}
|
|
485
|
+
// Handle --output-format json wrapper (v1.0.155)
|
|
486
|
+
// The response is wrapped in: {"type":"result","result":"...actual response..."}
|
|
487
|
+
try {
|
|
488
|
+
const wrapper = JSON.parse(output);
|
|
489
|
+
if (wrapper.type === 'result' && wrapper.result) {
|
|
490
|
+
output = wrapper.result;
|
|
491
|
+
logger.debug(`Extracted result from JSON wrapper, duration_ms: ${wrapper.duration_ms}`);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
catch {
|
|
495
|
+
// Not a JSON wrapper, use raw output
|
|
496
|
+
logger.debug('Output is not JSON wrapper, using raw output');
|
|
497
|
+
}
|
|
455
498
|
// Try to extract JSON from the response (handle markdown code blocks)
|
|
456
499
|
let jsonStr = output;
|
|
457
500
|
// Remove markdown code blocks if present
|
|
@@ -477,12 +520,14 @@ Which plugins should be loaded?`;
|
|
|
477
520
|
}
|
|
478
521
|
// Validate and filter plugins
|
|
479
522
|
const rawPlugins = parsed.plugins || [];
|
|
480
|
-
|
|
523
|
+
let validPlugins = rawPlugins.filter((p) => typeof p === 'string' && SPECWEAVE_PLUGINS.includes(p));
|
|
481
524
|
// Log if we filtered out invalid plugins
|
|
482
525
|
if (validPlugins.length !== rawPlugins.length) {
|
|
483
526
|
const invalid = rawPlugins.filter((p) => !SPECWEAVE_PLUGINS.includes(p));
|
|
484
527
|
logger.debug(`Filtered out invalid plugins: ${invalid.join(', ')}`);
|
|
485
528
|
}
|
|
529
|
+
// v1.0.156: Trust Opus model - no arbitrary limits, no keyword fallback
|
|
530
|
+
// Opus understands NECESSARY implications (dashboard → backend) vs OPTIONAL (→ infra)
|
|
486
531
|
// Parse increment recommendation (v1.0.141+)
|
|
487
532
|
let incrementRecommendation;
|
|
488
533
|
if (parsed.increment) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-plugin-detector.js","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llm-plugin-detector.js","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.155",
|
|
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",
|
|
@@ -37,8 +37,9 @@ WRAPPER_VERSION="1.0.153"
|
|
|
37
37
|
script_name=$(basename "${1:-}" 2>/dev/null)
|
|
38
38
|
case "$script_name" in
|
|
39
39
|
user-prompt-submit.sh)
|
|
40
|
-
# LLM
|
|
41
|
-
|
|
40
|
+
# LLM detection can timeout (30s) + keyword fallback + plugin installs (~10s)
|
|
41
|
+
# Total worst case: 30s LLM timeout + 10s installs + 5s buffer = 45s
|
|
42
|
+
HOOK_TIMEOUT="${HOOK_TIMEOUT_USER_PROMPT:-45}"
|
|
42
43
|
;;
|
|
43
44
|
session-start.sh)
|
|
44
45
|
# Project detection may involve file scanning and optional LLM
|
|
@@ -88,6 +88,7 @@ if [[ -f "$CONFIG_PATH" ]]; then
|
|
|
88
88
|
fi
|
|
89
89
|
fi
|
|
90
90
|
|
|
91
|
+
|
|
91
92
|
# ==============================================================================
|
|
92
93
|
# KEYWORD-BASED PLUGIN DETECTION FALLBACK (v1.0.153)
|
|
93
94
|
# ==============================================================================
|
|
@@ -232,7 +233,7 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
|
|
|
232
233
|
|
|
233
234
|
# ONE LLM call for BOTH plugins and increment (using --file flag)
|
|
234
235
|
if command -v timeout >/dev/null 2>&1; then
|
|
235
|
-
DETECT_OUTPUT=$(timeout
|
|
236
|
+
DETECT_OUTPUT=$(timeout 20 specweave detect-intent --file "$PROMPT_TMP_FILE" 2>/dev/null)
|
|
236
237
|
else
|
|
237
238
|
DETECT_OUTPUT=$(specweave detect-intent --file "$PROMPT_TMP_FILE" 2>/dev/null)
|
|
238
239
|
fi
|
|
@@ -286,7 +287,10 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
|
|
|
286
287
|
|
|
287
288
|
# Build feedback message
|
|
288
289
|
if [[ -n "$PLUGINS_INSTALLED" ]]; then
|
|
289
|
-
|
|
290
|
+
# v1.0.155: Simple warning - Claude Code limitation, skills not available until new session
|
|
291
|
+
AUTOLOAD_PLUGINS_MSG="🔌 **Plugins installed**: ${PLUGINS_INSTALLED}\\n"
|
|
292
|
+
AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}⚠️ **NOTE**: Skills/agents from these plugins won't be available until you start a NEW Claude Code session.\\n"
|
|
293
|
+
AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}Tell the user to restart Claude Code to use ${PLUGINS_INSTALLED} skills.\\n"
|
|
290
294
|
elif [[ -n "$PLUGINS_ALREADY" ]]; then
|
|
291
295
|
AUTOLOAD_PLUGINS_MSG="🔌 **Using plugins**: ${PLUGINS_ALREADY}\\n"
|
|
292
296
|
fi
|
|
@@ -299,6 +303,11 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
|
|
|
299
303
|
fi
|
|
300
304
|
fi
|
|
301
305
|
|
|
306
|
+
# ==================================================================
|
|
307
|
+
# EXTRACT ROUTING INFO EARLY (v1.0.155 - needed for agent directives)
|
|
308
|
+
# ==================================================================
|
|
309
|
+
ROUTING_SKILLS_COUNT=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills | length // 0' 2>/dev/null)
|
|
310
|
+
|
|
302
311
|
# ==================================================================
|
|
303
312
|
# INCREMENT SUGGESTION (from LLM response)
|
|
304
313
|
# ==================================================================
|
|
@@ -317,6 +326,32 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
|
|
|
317
326
|
[[ -n "$AUTOLOAD_PLUGINS_MSG" ]] && AUTOLOAD_PREFIX="${AUTOLOAD_PLUGINS_MSG}
|
|
318
327
|
|
|
319
328
|
"
|
|
329
|
+
# Build agent spawn directive if routing skills available (v1.0.155)
|
|
330
|
+
AGENT_DIRECTIVE=""
|
|
331
|
+
if [[ "$ROUTING_SKILLS_COUNT" -gt 0 ]]; then
|
|
332
|
+
PRIMARY_PLUGIN=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .plugin // empty' 2>/dev/null | head -1)
|
|
333
|
+
PRIMARY_SKILL_NAME=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .name // empty' 2>/dev/null | head -1)
|
|
334
|
+
PRIMARY_REASON=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .reason // empty' 2>/dev/null | head -1)
|
|
335
|
+
if [[ -n "$PRIMARY_PLUGIN" && -n "$PRIMARY_SKILL_NAME" ]]; then
|
|
336
|
+
AGENT_TYPE="${PRIMARY_PLUGIN}:${PRIMARY_SKILL_NAME}:${PRIMARY_SKILL_NAME}"
|
|
337
|
+
AGENT_DIRECTIVE="
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
### 🚀 Then SPAWN Specialized Agent
|
|
342
|
+
|
|
343
|
+
**After creating increment, use Task tool:**
|
|
344
|
+
\\\`\\\`\\\`typescript
|
|
345
|
+
Task({
|
|
346
|
+
subagent_type: \\\"${AGENT_TYPE}\\\",
|
|
347
|
+
prompt: \\\"Implement the feature...\\\",
|
|
348
|
+
description: \\\"${PRIMARY_REASON:-Implementation}\\\"
|
|
349
|
+
})
|
|
350
|
+
\\\`\\\`\\\`
|
|
351
|
+
*Specialized agents produce better code than direct implementation.*"
|
|
352
|
+
fi
|
|
353
|
+
fi
|
|
354
|
+
|
|
320
355
|
case "$INC_ACTION" in
|
|
321
356
|
new)
|
|
322
357
|
CMD="/sw:increment"
|
|
@@ -328,7 +363,7 @@ Consider creating an increment first:
|
|
|
328
363
|
$CMD
|
|
329
364
|
\`\`\`
|
|
330
365
|
|
|
331
|
-
*Reason: $INC_REASON
|
|
366
|
+
*Reason: $INC_REASON*${AGENT_DIRECTIVE}
|
|
332
367
|
|
|
333
368
|
---
|
|
334
369
|
|
|
@@ -470,31 +505,51 @@ Consider reopening the existing increment:
|
|
|
470
505
|
STEP_NUM=$((STEP_NUM + 1))
|
|
471
506
|
fi
|
|
472
507
|
|
|
473
|
-
# Step:
|
|
508
|
+
# Step: SPAWN AGENTS (v1.0.155 - Task tool directive)
|
|
474
509
|
if [[ -n "$PRIMARY_SKILL" ]]; then
|
|
475
|
-
BRAIN_MSG+="### Step ${STEP_NUM}:
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
510
|
+
BRAIN_MSG+="### Step ${STEP_NUM}: 🚀 SPAWN SPECIALIZED AGENTS\\n\\n"
|
|
511
|
+
|
|
512
|
+
# Build agent subagent_type from skill info
|
|
513
|
+
# Format: plugin:skill:skill (e.g., sw-frontend:frontend-architect:frontend-architect)
|
|
514
|
+
PRIMARY_PLUGIN=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .plugin // empty' 2>/dev/null | head -1)
|
|
515
|
+
PRIMARY_SKILL_NAME=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .name // empty' 2>/dev/null | head -1)
|
|
516
|
+
|
|
517
|
+
if [[ -n "$PRIMARY_PLUGIN" && -n "$PRIMARY_SKILL_NAME" ]]; then
|
|
518
|
+
AGENT_TYPE="${PRIMARY_PLUGIN}:${PRIMARY_SKILL_NAME}:${PRIMARY_SKILL_NAME}"
|
|
519
|
+
|
|
520
|
+
BRAIN_MSG+="**⚠️ MANDATORY: Use Task tool to spawn agent for implementation**\\n\\n"
|
|
521
|
+
BRAIN_MSG+="\\\`\\\`\\\`typescript\\n"
|
|
522
|
+
BRAIN_MSG+="Task({\\n"
|
|
523
|
+
BRAIN_MSG+=" subagent_type: \\\"${AGENT_TYPE}\\\",\\n"
|
|
524
|
+
BRAIN_MSG+=" prompt: \\\"Implement [describe task]...\\\",\\n"
|
|
525
|
+
BRAIN_MSG+=" description: \\\"[short description]\\\"\\n"
|
|
526
|
+
BRAIN_MSG+="})\\n"
|
|
527
|
+
BRAIN_MSG+="\\\`\\\`\\\`\\n\\n"
|
|
528
|
+
|
|
529
|
+
BRAIN_MSG+="**Why**: Specialized agents have deep domain knowledge and produce better code than direct implementation.\\n\\n"
|
|
530
|
+
[[ -n "$PRIMARY_REASON" ]] && BRAIN_MSG+="**Agent expertise**: *${PRIMARY_REASON}*\\n\\n"
|
|
531
|
+
fi
|
|
479
532
|
|
|
533
|
+
# Add secondary agents if present
|
|
480
534
|
if [[ -n "$SECONDARY_SKILLS" ]]; then
|
|
481
|
-
BRAIN_MSG+="**
|
|
535
|
+
BRAIN_MSG+="**Additional agents available**:\\n"
|
|
536
|
+
# Parse each secondary skill
|
|
537
|
+
echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "secondary") | "\(.plugin):\(.name):\(.name)"' 2>/dev/null | while read -r sec_agent; do
|
|
538
|
+
[[ -n "$sec_agent" ]] && BRAIN_MSG+="- \`${sec_agent}\`\\n"
|
|
539
|
+
done
|
|
540
|
+
BRAIN_MSG+="\\n"
|
|
482
541
|
fi
|
|
483
542
|
|
|
484
|
-
BRAIN_MSG+="\\n**Invoke via**:\\n"
|
|
485
|
-
BRAIN_MSG+="- Skill tool: \\\`/${PRIMARY_SKILL}\\\`\\n"
|
|
486
|
-
BRAIN_MSG+="- Or mention keywords in your response\\n\\n"
|
|
487
|
-
|
|
488
543
|
# Add invoke timing hint
|
|
489
544
|
case "$PRIMARY_INVOKE" in
|
|
490
545
|
immediate)
|
|
491
|
-
BRAIN_MSG+="
|
|
546
|
+
BRAIN_MSG+="**Timing**: Spawn agent NOW - task is self-contained\\n\\n"
|
|
492
547
|
;;
|
|
493
548
|
after_increment)
|
|
494
|
-
BRAIN_MSG+="
|
|
549
|
+
BRAIN_MSG+="**Timing**: Spawn agent AFTER creating increment\\n\\n"
|
|
495
550
|
;;
|
|
496
551
|
after_planning)
|
|
497
|
-
BRAIN_MSG+="
|
|
552
|
+
BRAIN_MSG+="**Timing**: Enter plan mode first, THEN spawn agent\\n\\n"
|
|
498
553
|
;;
|
|
499
554
|
esac
|
|
500
555
|
|
|
@@ -566,7 +621,10 @@ Consider reopening the existing increment:
|
|
|
566
621
|
|
|
567
622
|
# Build feedback message (keyword fallback)
|
|
568
623
|
if [[ -n "$PLUGINS_INSTALLED" ]]; then
|
|
569
|
-
|
|
624
|
+
# v1.0.155: Simple warning - Claude Code limitation, skills not available until new session
|
|
625
|
+
AUTOLOAD_PLUGINS_MSG="🔌 **Plugins installed** (keyword match): ${PLUGINS_INSTALLED}\\n"
|
|
626
|
+
AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}⚠️ **NOTE**: Skills/agents from these plugins won't be available until you start a NEW Claude Code session.\\n"
|
|
627
|
+
AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}Tell the user to restart Claude Code to use ${PLUGINS_INSTALLED} skills.\\n"
|
|
570
628
|
elif [[ -n "$PLUGINS_ALREADY" ]]; then
|
|
571
629
|
AUTOLOAD_PLUGINS_MSG="🔌 **Using plugins** (keyword match): ${PLUGINS_ALREADY}\\n"
|
|
572
630
|
fi
|
|
@@ -685,6 +743,7 @@ fi
|
|
|
685
743
|
# CRITICAL: Exit immediately for non-SpecWeave prompts
|
|
686
744
|
# This covers 90%+ of prompts with <5ms overhead
|
|
687
745
|
# v1.0.144: Still show plugin autoload message if plugins are being loaded
|
|
746
|
+
# v1.0.155: AUTOLOAD_PLUGINS_MSG now includes new plugin warnings from helper function
|
|
688
747
|
if ! echo "$PROMPT" | grep -qE "(specweave|/sw:|increment|add|create|implement|build|develop)"; then
|
|
689
748
|
if [[ -n "$AUTOLOAD_PLUGINS_MSG" ]]; then
|
|
690
749
|
# Show plugin loading feedback even for non-SpecWeave prompts
|