specweave 1.0.182 → 1.0.184
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 +106 -63
- package/dist/src/cli/commands/update.d.ts.map +1 -1
- package/dist/src/cli/commands/update.js +17 -0
- package/dist/src/cli/commands/update.js.map +1 -1
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts +43 -0
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/claude-settings-lsp.js +216 -0
- package/dist/src/cli/helpers/init/claude-settings-lsp.js.map +1 -0
- package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/directory-structure.js +11 -0
- package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave-mobile/skills/native-modules/SKILL.md +116 -0
package/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
1
|
+
<!-- SW:META template="claude" version="1.0.183" 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
3
|
<!-- SW:SECTION:hook-priority version="1.0.171" -->
|
|
4
4
|
## ⛔ ABSOLUTE PRIORITY: Hook Instructions Are Mandatory
|
|
@@ -33,7 +33,7 @@ If hook says **"SKILL FIRST"** or shows a Skill tool call to make:
|
|
|
33
33
|
1. ✅ Call the Skill tool FIRST (exactly as shown in hook)
|
|
34
34
|
2. ✅ THEN invoke ADDITIONAL domain skills for each technology
|
|
35
35
|
3. ✅ THEN proceed with implementation
|
|
36
|
-
4. ✅ LSP
|
|
36
|
+
4. ✅ LSP requires setup (see LSP Setup section below)
|
|
37
37
|
|
|
38
38
|
**"SKILL FIRST" does NOT mean "only use one skill"!**
|
|
39
39
|
|
|
@@ -53,7 +53,7 @@ Hooks exist to enforce workflow discipline. If you ignore them:
|
|
|
53
53
|
**This is non-negotiable. No exceptions. No "just this once".**
|
|
54
54
|
<!-- SW:END:hook-priority -->
|
|
55
55
|
|
|
56
|
-
<!-- SW:SECTION:header version="1.0.
|
|
56
|
+
<!-- SW:SECTION:header version="1.0.183" -->
|
|
57
57
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
58
58
|
<!-- SW:END:header -->
|
|
59
59
|
|
|
@@ -131,16 +131,18 @@ IMPLEMENTATION PHASE:
|
|
|
131
131
|
- Stripe → sw-payments:stripe-integration
|
|
132
132
|
- Database → sw-backend:database-optimizer
|
|
133
133
|
|
|
134
|
-
CODE INTELLIGENCE (
|
|
135
|
-
LSP
|
|
136
|
-
- .cs files → csharp-lsp activates (provides diagnostics, go-to-definition)
|
|
137
|
-
- .ts/.tsx files → typescript-lsp activates (type checking, references)
|
|
138
|
-
- .py files → pyright-lsp activates (type hints, errors)
|
|
134
|
+
CODE INTELLIGENCE (LSP - REQUIRES SETUP):
|
|
135
|
+
⚠️ LSP does NOT work automatically - it requires explicit setup!
|
|
139
136
|
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
**Setup steps:**
|
|
138
|
+
1. Enable: `export ENABLE_LSP_TOOL=1` (add to ~/.zshrc or ~/.bashrc)
|
|
139
|
+
2. Add marketplace: `/plugin marketplace add boostvolt/claude-code-lsps`
|
|
140
|
+
3. Install plugin: `/plugin install vtsls@claude-code-lsps` (TypeScript)
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
**Note:** Official marketplace LSP plugins are broken (Issue #15148).
|
|
143
|
+
Use `boostvolt/claude-code-lsps` instead.
|
|
144
|
+
|
|
145
|
+
**Available LSP operations:** goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol
|
|
144
146
|
```
|
|
145
147
|
|
|
146
148
|
### Understanding LSP vs Skills
|
|
@@ -150,22 +152,10 @@ CODE INTELLIGENCE (AUTOMATIC - no invocation needed):
|
|
|
150
152
|
| Type | Has SKILL.md | How to Use | Example |
|
|
151
153
|
|------|--------------|------------|---------|
|
|
152
154
|
| **Skill plugins** | ✅ Yes | `/skill-name` or `Skill({ skill: "name" })` | sw:pm, sw:architect |
|
|
153
|
-
| **LSP plugins** | ❌ No |
|
|
154
|
-
|
|
155
|
-
LSP plugins are defined in [marketplace.json](https://github.com/anthropics/claude-plugins-official) with `lspServers` config:
|
|
156
|
-
```json
|
|
157
|
-
{
|
|
158
|
-
"name": "csharp-lsp",
|
|
159
|
-
"lspServers": {
|
|
160
|
-
"csharp-ls": {
|
|
161
|
-
"command": "csharp-ls",
|
|
162
|
-
"extensionToLanguage": { ".cs": "csharp" }
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
```
|
|
155
|
+
| **LSP plugins** | ❌ No | Requires `ENABLE_LSP_TOOL=1` + working plugin | vtsls, pyright |
|
|
167
156
|
|
|
168
|
-
|
|
157
|
+
**⚠️ Official marketplace LSP plugins are broken** ([Issue #15148](https://github.com/anthropics/claude-code/issues/15148)).
|
|
158
|
+
Use `boostvolt/claude-code-lsps` marketplace instead.
|
|
169
159
|
|
|
170
160
|
### Why Auto-Activation May Not Trigger
|
|
171
161
|
|
|
@@ -191,7 +181,7 @@ Skill(sw:increment-planner) → Plan the increment
|
|
|
191
181
|
Skill(sw-frontend:frontend-architect) → React dashboard patterns
|
|
192
182
|
Skill(sw-payments:stripe-integration) → Stripe checkout flow
|
|
193
183
|
Skill(sw-backend:dotnet-backend) → .NET API patterns
|
|
194
|
-
[LSP
|
|
184
|
+
[LSP available if configured - see LSP Setup section]
|
|
195
185
|
```
|
|
196
186
|
|
|
197
187
|
### Skill Usage Checklist
|
|
@@ -199,11 +189,62 @@ Skill(sw-backend:dotnet-backend) → .NET API patterns
|
|
|
199
189
|
Before marking implementation complete, verify:
|
|
200
190
|
- [ ] Used planning skills (PM, Architect) if complex feature
|
|
201
191
|
- [ ] Used domain skills for each tech in the stack
|
|
202
|
-
- [ ] LSP
|
|
192
|
+
- [ ] LSP configured if needed (requires `ENABLE_LSP_TOOL=1` + plugin setup)
|
|
203
193
|
- [ ] Invoked skills explicitly if auto-activation didn't trigger
|
|
204
194
|
<!-- SW:END:skill-chaining -->
|
|
205
195
|
|
|
206
|
-
|
|
196
|
+
## LSP Setup (Code Intelligence)
|
|
197
|
+
|
|
198
|
+
**⚠️ LSP does NOT work automatically - requires explicit setup!**
|
|
199
|
+
|
|
200
|
+
### Prerequisites
|
|
201
|
+
|
|
202
|
+
1. **Enable LSP tool** (add to `~/.zshrc` or `~/.bashrc`):
|
|
203
|
+
```bash
|
|
204
|
+
export ENABLE_LSP_TOOL=1
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
2. **Install working marketplace** (official plugins are broken - [Issue #15148](https://github.com/anthropics/claude-code/issues/15148)):
|
|
208
|
+
```
|
|
209
|
+
/plugin marketplace add boostvolt/claude-code-lsps
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
3. **Install language plugins**:
|
|
213
|
+
```
|
|
214
|
+
/plugin install vtsls@claude-code-lsps # TypeScript/JavaScript
|
|
215
|
+
/plugin install pyright@claude-code-lsps # Python
|
|
216
|
+
/plugin install gopls@claude-code-lsps # Go
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
4. **Install language server binaries** (system-level):
|
|
220
|
+
```bash
|
|
221
|
+
npm install -g typescript-language-server typescript # TypeScript
|
|
222
|
+
pip install pyright # Python
|
|
223
|
+
go install golang.org/x/tools/gopls@latest # Go
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
5. **Restart Claude Code**
|
|
227
|
+
|
|
228
|
+
### Available LSP Operations
|
|
229
|
+
|
|
230
|
+
| Operation | Description |
|
|
231
|
+
|-----------|-------------|
|
|
232
|
+
| `goToDefinition` | Navigate to symbol definition |
|
|
233
|
+
| `findReferences` | Find all usages of a symbol |
|
|
234
|
+
| `hover` | Show type info and documentation |
|
|
235
|
+
| `documentSymbol` | List symbols in current file |
|
|
236
|
+
| `workspaceSymbol` | Search symbols across project |
|
|
237
|
+
|
|
238
|
+
### Why Official Plugins Don't Work
|
|
239
|
+
|
|
240
|
+
The official `typescript-lsp@claude-plugins-official` and similar plugins:
|
|
241
|
+
- Only contain README.md files (no config)
|
|
242
|
+
- `lspServers` configuration is never extracted from marketplace.json
|
|
243
|
+
- LSP manager initializes with 0 servers
|
|
244
|
+
|
|
245
|
+
Use `boostvolt/claude-code-lsps` until official plugins are fixed.
|
|
246
|
+
|
|
247
|
+
<!-- SW:SECTION:start version="1.0.183" -->
|
|
207
248
|
## Getting Started
|
|
208
249
|
|
|
209
250
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -213,7 +254,7 @@ Before marking implementation complete, verify:
|
|
|
213
254
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
214
255
|
<!-- SW:END:start -->
|
|
215
256
|
|
|
216
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
257
|
+
<!-- SW:SECTION:autodetect version="1.0.183" -->
|
|
217
258
|
## Auto-Detection
|
|
218
259
|
|
|
219
260
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -223,7 +264,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
223
264
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
224
265
|
<!-- SW:END:autodetect -->
|
|
225
266
|
|
|
226
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
267
|
+
<!-- SW:SECTION:metarule version="1.0.183" -->
|
|
227
268
|
## Meta-Rule: Think-Before-Act
|
|
228
269
|
|
|
229
270
|
**Satisfy dependencies BEFORE dependent operations.**
|
|
@@ -234,7 +275,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
234
275
|
```
|
|
235
276
|
<!-- SW:END:metarule -->
|
|
236
277
|
|
|
237
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
278
|
+
<!-- SW:SECTION:rules version="1.0.183" -->
|
|
238
279
|
## Rules
|
|
239
280
|
|
|
240
281
|
1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
|
|
@@ -245,7 +286,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
245
286
|
6. **⛔ Marketplace refresh**: Use `specweave refresh-marketplace` CLI (not `scripts/refresh-marketplace.sh`)
|
|
246
287
|
<!-- SW:END:rules -->
|
|
247
288
|
|
|
248
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
289
|
+
<!-- SW:SECTION:workflow version="1.0.183" -->
|
|
249
290
|
## Workflow
|
|
250
291
|
|
|
251
292
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -265,7 +306,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
265
306
|
**Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
|
|
266
307
|
<!-- SW:END:workflow -->
|
|
267
308
|
|
|
268
|
-
<!-- SW:SECTION:reflect version="1.0.
|
|
309
|
+
<!-- SW:SECTION:reflect version="1.0.183" -->
|
|
269
310
|
## Skill Memories
|
|
270
311
|
|
|
271
312
|
SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
|
|
@@ -278,15 +319,17 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
278
319
|
<!-- Auto-captured by SpecWeave reflect. Edit or delete as needed. -->
|
|
279
320
|
|
|
280
321
|
### Devops
|
|
281
|
-
- **2026-01-
|
|
322
|
+
- **2026-01-29**: LSP requires ENABLE_LSP_TOOL=1 env var + boostvolt/claude-code-lsps marketplace (official plugins broken)
|
|
282
323
|
|
|
283
324
|
### Logging
|
|
284
|
-
- **2026-01-
|
|
325
|
+
- **2026-01-29**: // Do NOT verify immediately - show dialog instead
|
|
285
326
|
|
|
286
327
|
### General
|
|
287
|
-
- **2026-01-
|
|
328
|
+
- **2026-01-29**: Always check for credentials FIRST (presence only - never display values
|
|
329
|
+
- **2026-01-29**: in this codebase. Then use goToDefinition to show me where it's defined.
|
|
330
|
+
- **2026-01-29**: ✗→✓ Find All References of handleAutoCommand using LSP The user wants me to find all references to handl
|
|
288
331
|
|
|
289
|
-
<!-- SW:SECTION:context version="1.0.
|
|
332
|
+
<!-- SW:SECTION:context version="1.0.183" -->
|
|
290
333
|
## Context
|
|
291
334
|
|
|
292
335
|
**Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
|
|
@@ -294,7 +337,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
294
337
|
**Load context**: `/sw:context <topic>` loads relevant living docs into conversation
|
|
295
338
|
<!-- SW:END:context -->
|
|
296
339
|
|
|
297
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
340
|
+
<!-- SW:SECTION:structure version="1.0.183" -->
|
|
298
341
|
## Structure
|
|
299
342
|
|
|
300
343
|
```
|
|
@@ -309,7 +352,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
309
352
|
**Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
|
|
310
353
|
<!-- SW:END:structure -->
|
|
311
354
|
|
|
312
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
355
|
+
<!-- SW:SECTION:taskformat version="1.0.183" -->
|
|
313
356
|
## Task Format
|
|
314
357
|
|
|
315
358
|
```markdown
|
|
@@ -319,7 +362,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
319
362
|
```
|
|
320
363
|
<!-- SW:END:taskformat -->
|
|
321
364
|
|
|
322
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
365
|
+
<!-- SW:SECTION:secrets version="1.0.183" -->
|
|
323
366
|
## Secrets Check
|
|
324
367
|
|
|
325
368
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -333,7 +376,7 @@ gh auth status
|
|
|
333
376
|
**SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
|
|
334
377
|
<!-- SW:END:secrets -->
|
|
335
378
|
|
|
336
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
379
|
+
<!-- SW:SECTION:syncing version="1.0.183" -->
|
|
337
380
|
## External Sync (GitHub/JIRA/ADO)
|
|
338
381
|
|
|
339
382
|
**Commands**: `/sw-github:sync {id}` (issues) | `/sw:sync-specs` (living docs only)
|
|
@@ -343,7 +386,7 @@ gh auth status
|
|
|
343
386
|
**Config**: Set `sync.github.enabled: true` + `canUpdateExternalItems: true` in config.json
|
|
344
387
|
<!-- SW:END:syncing -->
|
|
345
388
|
|
|
346
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
389
|
+
<!-- SW:SECTION:testing version="1.0.183" -->
|
|
347
390
|
## Testing
|
|
348
391
|
|
|
349
392
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -355,7 +398,7 @@ vi.mock('./module', () => ({ func: mockFn }));
|
|
|
355
398
|
```
|
|
356
399
|
<!-- SW:END:testing -->
|
|
357
400
|
|
|
358
|
-
<!-- SW:SECTION:tdd version="1.0.
|
|
401
|
+
<!-- SW:SECTION:tdd version="1.0.183" -->
|
|
359
402
|
## TDD Mode (Test-Driven Development)
|
|
360
403
|
|
|
361
404
|
**When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
|
|
@@ -416,7 +459,7 @@ When TDD is enabled, tasks include phase markers:
|
|
|
416
459
|
**Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
|
|
417
460
|
<!-- SW:END:tdd -->
|
|
418
461
|
|
|
419
|
-
<!-- SW:SECTION:api version="1.0.
|
|
462
|
+
<!-- SW:SECTION:api version="1.0.183" -->
|
|
420
463
|
## API Development (OpenAPI-First)
|
|
421
464
|
|
|
422
465
|
**For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
|
|
@@ -424,13 +467,13 @@ When TDD is enabled, tasks include phase markers:
|
|
|
424
467
|
Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
425
468
|
<!-- SW:END:api -->
|
|
426
469
|
|
|
427
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
470
|
+
<!-- SW:SECTION:limits version="1.0.183" -->
|
|
428
471
|
## Limits
|
|
429
472
|
|
|
430
473
|
**Max 1500 lines/file** — extract before adding
|
|
431
474
|
<!-- SW:END:limits -->
|
|
432
475
|
|
|
433
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
476
|
+
<!-- SW:SECTION:troubleshooting version="1.0.183" -->
|
|
434
477
|
## Troubleshooting
|
|
435
478
|
|
|
436
479
|
| Issue | Fix |
|
|
@@ -446,7 +489,7 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
|
446
489
|
| Marketplace shows 0 | Normal with auto-load; `/plugin list` shows actual |
|
|
447
490
|
<!-- SW:END:troubleshooting -->
|
|
448
491
|
|
|
449
|
-
<!-- SW:SECTION:lazyloading version="1.0.
|
|
492
|
+
<!-- SW:SECTION:lazyloading version="1.0.183" -->
|
|
450
493
|
## Plugin Auto-Loading
|
|
451
494
|
|
|
452
495
|
Plugins load automatically based on project type and keywords. Manual install if needed:
|
|
@@ -460,7 +503,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
460
503
|
**Token savings**: Core ~3-5K tokens vs all plugins ~60K+
|
|
461
504
|
<!-- SW:END:lazyloading -->
|
|
462
505
|
|
|
463
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
506
|
+
<!-- SW:SECTION:principles version="1.0.183" -->
|
|
464
507
|
## Principles
|
|
465
508
|
|
|
466
509
|
1. **Spec-first**: `/sw:increment` before coding
|
|
@@ -469,7 +512,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
469
512
|
4. **Traceable**: All work → specs → ACs
|
|
470
513
|
<!-- SW:END:principles -->
|
|
471
514
|
|
|
472
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
515
|
+
<!-- SW:SECTION:linking version="1.0.183" -->
|
|
473
516
|
## Bidirectional Linking
|
|
474
517
|
|
|
475
518
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -477,7 +520,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
477
520
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
478
521
|
<!-- SW:END:linking -->
|
|
479
522
|
|
|
480
|
-
<!-- SW:SECTION:mcp version="1.0.
|
|
523
|
+
<!-- SW:SECTION:mcp version="1.0.183" -->
|
|
481
524
|
## External Services
|
|
482
525
|
|
|
483
526
|
**Priority**: CLI tools first (simpler) → MCP for complex integrations
|
|
@@ -499,7 +542,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
|
|
|
499
542
|
MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
500
543
|
<!-- SW:END:mcp -->
|
|
501
544
|
|
|
502
|
-
<!-- SW:SECTION:auto version="1.0.
|
|
545
|
+
<!-- SW:SECTION:auto version="1.0.183" -->
|
|
503
546
|
## Auto Mode
|
|
504
547
|
|
|
505
548
|
**Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
|
|
@@ -516,7 +559,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
|
516
559
|
**STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
|
|
517
560
|
<!-- SW:END:auto -->
|
|
518
561
|
|
|
519
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
562
|
+
<!-- SW:SECTION:docs version="1.0.183" -->
|
|
520
563
|
## Docs
|
|
521
564
|
|
|
522
565
|
[spec-weave.com](https://spec-weave.com)
|
|
@@ -601,16 +644,16 @@ User Stories need `**Project**: my-project` field for external sync. Each US = O
|
|
|
601
644
|
- Use `sw-backend:*` skills for .NET/Node/Python APIs
|
|
602
645
|
- Use `sw-payments:stripe-integration` for Stripe
|
|
603
646
|
|
|
604
|
-
**Code Intelligence (LSP -
|
|
605
|
-
- LSP
|
|
606
|
-
-
|
|
607
|
-
-
|
|
608
|
-
-
|
|
647
|
+
**Code Intelligence (LSP - REQUIRES SETUP):**
|
|
648
|
+
- LSP requires `ENABLE_LSP_TOOL=1` environment variable
|
|
649
|
+
- Official marketplace plugins are broken ([Issue #15148](https://github.com/anthropics/claude-code/issues/15148))
|
|
650
|
+
- Use `boostvolt/claude-code-lsps` marketplace instead
|
|
651
|
+
- Operations: goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol
|
|
609
652
|
|
|
610
653
|
**Pattern:**
|
|
611
654
|
```
|
|
612
655
|
/sw:increment → PM skill → Architect skill → Implementation skills
|
|
613
|
-
(LSP
|
|
656
|
+
(LSP available if configured)
|
|
614
657
|
```
|
|
615
658
|
|
|
616
659
|
### 8. NODE_OPTIONS and VSCode Debug Mode
|
|
@@ -805,7 +848,7 @@ New plugins add more skills. Custom user skills are equally valid. To discover a
|
|
|
805
848
|
| **Security** | `sw:security` | security, OWASP, vulnerabilities |
|
|
806
849
|
| **TDD** | `sw:tdd-orchestrator` | TDD, test-driven, red-green-refactor |
|
|
807
850
|
|
|
808
|
-
**Note:** LSP
|
|
851
|
+
**Note:** LSP requires separate setup (`ENABLE_LSP_TOOL=1` + plugin installation). Official marketplace LSP plugins are currently broken - use `boostvolt/claude-code-lsps` instead.
|
|
809
852
|
|
|
810
853
|
**Plus any skills from:**
|
|
811
854
|
- Newly installed plugins
|
|
@@ -846,13 +889,13 @@ If skills don't auto-activate:
|
|
|
846
889
|
| Domain work (React, .NET, Stripe) | Let auto-activate, Skill tool if not |
|
|
847
890
|
| Architecture, security review | Usually auto-activates on keywords |
|
|
848
891
|
| Hook says "SKILL FIRST" | **Always** use Skill tool explicitly |
|
|
849
|
-
| **Code intelligence (LSP)** |
|
|
892
|
+
| **Code intelligence (LSP)** | Requires setup: `ENABLE_LSP_TOOL=1` + `boostvolt/claude-code-lsps` |
|
|
850
893
|
| Increment planning | Use PM/Architect skills for spec/plan refinement |
|
|
851
894
|
| External syncs | Commands: `/sw-github:sync` |
|
|
852
895
|
| Codebase exploration | Task tool: `subagent_type: "Explore"` |
|
|
853
896
|
| Complex planning | Task tool: `subagent_type: "Plan"` |
|
|
854
897
|
|
|
855
|
-
**IMPORTANT**: LSP
|
|
898
|
+
**IMPORTANT**: LSP requires explicit setup. Set `ENABLE_LSP_TOOL=1` and use `boostvolt/claude-code-lsps` marketplace (official plugins are broken). Once configured, LSP provides: goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol.
|
|
856
899
|
|
|
857
900
|
**Reference**: See `plugins/PLUGINS-INDEX.md` for full plugin catalog with triggers.
|
|
858
901
|
|
|
@@ -1040,7 +1083,7 @@ npm run rebuild
|
|
|
1040
1083
|
| Source of truth | tasks.md + spec.md (update immediately) |
|
|
1041
1084
|
| Completion | `/sw:done` only (NEVER edit metadata.json directly) |
|
|
1042
1085
|
| **Skills** | **ALWAYS use when available** (PM, Architect, domain skills) |
|
|
1043
|
-
| **LSP** |
|
|
1086
|
+
| **LSP** | Requires `ENABLE_LSP_TOOL=1` + `boostvolt/claude-code-lsps` (official plugins broken) |
|
|
1044
1087
|
| Increment root | ONLY 4 files: spec.md, plan.md, tasks.md, metadata.json |
|
|
1045
1088
|
| Increment IDs | 🚨 Check ALL folders: `find .specweave/increments -maxdepth 2 -name "[0-9]*" \| grep -oE '[0-9]{4}E?'` |
|
|
1046
1089
|
| Reports/logs | Always to `reports/`, `logs/` subfolders |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAcH,UAAU,aAAa;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmR9E;AAiZD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI,CAchF"}
|
|
@@ -33,6 +33,7 @@ import { refreshMarketplaceCommand } from './refresh-marketplace.js';
|
|
|
33
33
|
import { getPackageVersion } from '../helpers/init/instruction-file-merger.js';
|
|
34
34
|
import { migrateOldMemoryFiles, cleanupDeprecatedMemoryDirectory } from '../../core/reflection/index.js';
|
|
35
35
|
import { cleanupGlobalPluginState } from '../../core/lazy-loading/cache-manager.js';
|
|
36
|
+
import { ensureLspSettingsOnUpdate } from '../helpers/init/claude-settings-lsp.js';
|
|
36
37
|
/**
|
|
37
38
|
* Main update command
|
|
38
39
|
*/
|
|
@@ -204,6 +205,22 @@ export async function updateCommand(options = {}) {
|
|
|
204
205
|
console.log(chalk.green(` ✓ Enabled autoReflect in reflect-config.json (self-improving AI)`));
|
|
205
206
|
}
|
|
206
207
|
}
|
|
208
|
+
// Step 2.7: Ensure LSP settings in .claude/settings.json (v1.0.184+)
|
|
209
|
+
// Projects initialized before v1.0.184 may not have lspServers configured
|
|
210
|
+
if (!options.check) {
|
|
211
|
+
try {
|
|
212
|
+
await ensureLspSettingsOnUpdate(projectPath);
|
|
213
|
+
if (options.verbose) {
|
|
214
|
+
console.log(chalk.green(` ✓ LSP settings verified in .claude/settings.json`));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Non-fatal - LSP is optional
|
|
219
|
+
if (options.verbose) {
|
|
220
|
+
console.log(chalk.yellow(` ⚠ LSP settings check skipped`));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
207
224
|
// Step 3: Validate project health (quick checks)
|
|
208
225
|
if (isSpecWeaveProject && !options.check) {
|
|
209
226
|
spinner.start('Validating project health...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code LSP Settings Auto-Configuration
|
|
3
|
+
*
|
|
4
|
+
* Automatically configures LSP servers in .claude/settings.json during
|
|
5
|
+
* `specweave init` and `specweave update`.
|
|
6
|
+
*
|
|
7
|
+
* This removes the need for users to manually set ENABLE_LSP_TOOL=1 or
|
|
8
|
+
* configure LSP servers - it's all done automatically based on detected
|
|
9
|
+
* project tech stack.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* LSP Server Configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface LspServerConfig {
|
|
15
|
+
command: string;
|
|
16
|
+
args: string[];
|
|
17
|
+
extensionToLanguage: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get LSP server configuration for a language
|
|
21
|
+
*/
|
|
22
|
+
export declare function getLspServerConfig(language: string): LspServerConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Detect tech stack in a project directory
|
|
25
|
+
*/
|
|
26
|
+
export declare function detectTechStack(projectDir: string): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Build lspServers configuration based on detected tech stack
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildLspServersConfig(techStack: string[]): Record<string, LspServerConfig>;
|
|
31
|
+
/**
|
|
32
|
+
* Ensure .claude/settings.json exists and has lspServers configured
|
|
33
|
+
*
|
|
34
|
+
* Called during `specweave init` to set up LSP automatically.
|
|
35
|
+
*/
|
|
36
|
+
export declare function ensureClaudeSettingsWithLsp(projectDir: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Ensure LSP settings exist during `specweave update`
|
|
39
|
+
*
|
|
40
|
+
* Adds lspServers if missing, preserves existing configuration.
|
|
41
|
+
*/
|
|
42
|
+
export declare function ensureLspSettingsOnUpdate(projectDir: string): Promise<void>;
|
|
43
|
+
//# sourceMappingURL=claude-settings-lsp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-settings-lsp.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/claude-settings-lsp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AA2ED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAMpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAgD5D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAyB1F;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnF;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code LSP Settings Auto-Configuration
|
|
3
|
+
*
|
|
4
|
+
* Automatically configures LSP servers in .claude/settings.json during
|
|
5
|
+
* `specweave init` and `specweave update`.
|
|
6
|
+
*
|
|
7
|
+
* This removes the need for users to manually set ENABLE_LSP_TOOL=1 or
|
|
8
|
+
* configure LSP servers - it's all done automatically based on detected
|
|
9
|
+
* project tech stack.
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from '../../../utils/fs-native.js';
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
/**
|
|
14
|
+
* All supported LSP server configurations
|
|
15
|
+
*/
|
|
16
|
+
const LSP_SERVERS = {
|
|
17
|
+
typescript: {
|
|
18
|
+
command: 'typescript-language-server',
|
|
19
|
+
args: ['--stdio'],
|
|
20
|
+
extensionToLanguage: {
|
|
21
|
+
'.ts': 'typescript',
|
|
22
|
+
'.tsx': 'typescriptreact',
|
|
23
|
+
'.js': 'javascript',
|
|
24
|
+
'.jsx': 'javascriptreact',
|
|
25
|
+
'.mjs': 'javascript',
|
|
26
|
+
'.cjs': 'javascript',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
python: {
|
|
30
|
+
command: 'pyright-langserver',
|
|
31
|
+
args: ['--stdio'],
|
|
32
|
+
extensionToLanguage: {
|
|
33
|
+
'.py': 'python',
|
|
34
|
+
'.pyi': 'python',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
go: {
|
|
38
|
+
command: 'gopls',
|
|
39
|
+
args: ['serve'],
|
|
40
|
+
extensionToLanguage: {
|
|
41
|
+
'.go': 'go',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
rust: {
|
|
45
|
+
command: 'rust-analyzer',
|
|
46
|
+
args: [],
|
|
47
|
+
extensionToLanguage: {
|
|
48
|
+
'.rs': 'rust',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
csharp: {
|
|
52
|
+
command: 'omnisharp',
|
|
53
|
+
args: ['-lsp'],
|
|
54
|
+
extensionToLanguage: {
|
|
55
|
+
'.cs': 'csharp',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Tech stack detection rules
|
|
61
|
+
*/
|
|
62
|
+
const TECH_DETECTION = {
|
|
63
|
+
typescript: {
|
|
64
|
+
files: ['tsconfig.json', 'tsconfig.base.json'],
|
|
65
|
+
patterns: [/typescript|@types\/node/i],
|
|
66
|
+
},
|
|
67
|
+
python: {
|
|
68
|
+
files: ['requirements.txt', 'pyproject.toml', 'setup.py', 'Pipfile'],
|
|
69
|
+
patterns: [/\.py$/],
|
|
70
|
+
},
|
|
71
|
+
go: {
|
|
72
|
+
files: ['go.mod', 'go.sum'],
|
|
73
|
+
patterns: [/\.go$/],
|
|
74
|
+
},
|
|
75
|
+
rust: {
|
|
76
|
+
files: ['Cargo.toml', 'Cargo.lock'],
|
|
77
|
+
patterns: [/\.rs$/],
|
|
78
|
+
},
|
|
79
|
+
csharp: {
|
|
80
|
+
files: ['*.csproj', '*.sln'],
|
|
81
|
+
patterns: [/\.cs$/],
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Get LSP server configuration for a language
|
|
86
|
+
*/
|
|
87
|
+
export function getLspServerConfig(language) {
|
|
88
|
+
const config = LSP_SERVERS[language];
|
|
89
|
+
if (!config) {
|
|
90
|
+
throw new Error(`Unknown language: ${language}`);
|
|
91
|
+
}
|
|
92
|
+
return config;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Detect tech stack in a project directory
|
|
96
|
+
*/
|
|
97
|
+
export function detectTechStack(projectDir) {
|
|
98
|
+
const detected = [];
|
|
99
|
+
for (const [tech, rules] of Object.entries(TECH_DETECTION)) {
|
|
100
|
+
// Check for indicator files
|
|
101
|
+
for (const file of rules.files) {
|
|
102
|
+
if (file.includes('*')) {
|
|
103
|
+
// Glob pattern
|
|
104
|
+
const pattern = file.replace('*', '');
|
|
105
|
+
try {
|
|
106
|
+
const files = fs.readdirSync(projectDir);
|
|
107
|
+
if (files.some((f) => f.endsWith(pattern))) {
|
|
108
|
+
detected.push(tech);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Directory not readable
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Exact file
|
|
118
|
+
if (fs.existsSync(path.join(projectDir, file))) {
|
|
119
|
+
detected.push(tech);
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Check package.json for dependencies
|
|
125
|
+
if (tech === 'typescript' && !detected.includes(tech)) {
|
|
126
|
+
const pkgPath = path.join(projectDir, 'package.json');
|
|
127
|
+
if (fs.existsSync(pkgPath)) {
|
|
128
|
+
try {
|
|
129
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
130
|
+
const deps = {
|
|
131
|
+
...pkg.dependencies,
|
|
132
|
+
...pkg.devDependencies,
|
|
133
|
+
};
|
|
134
|
+
if (deps.typescript || Object.keys(deps).some((k) => k.startsWith('@types/'))) {
|
|
135
|
+
detected.push(tech);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Invalid JSON
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return [...new Set(detected)]; // Remove duplicates
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Build lspServers configuration based on detected tech stack
|
|
148
|
+
*/
|
|
149
|
+
export function buildLspServersConfig(techStack) {
|
|
150
|
+
const lspServers = {};
|
|
151
|
+
// Map tech to LSP server names
|
|
152
|
+
const techToServer = {
|
|
153
|
+
typescript: 'vtsls',
|
|
154
|
+
python: 'pyright',
|
|
155
|
+
go: 'gopls',
|
|
156
|
+
rust: 'rust-analyzer',
|
|
157
|
+
csharp: 'omnisharp',
|
|
158
|
+
};
|
|
159
|
+
for (const tech of techStack) {
|
|
160
|
+
const serverName = techToServer[tech];
|
|
161
|
+
if (serverName && LSP_SERVERS[tech]) {
|
|
162
|
+
lspServers[serverName] = LSP_SERVERS[tech];
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Always include TypeScript as default if no tech detected
|
|
166
|
+
if (Object.keys(lspServers).length === 0) {
|
|
167
|
+
lspServers.vtsls = LSP_SERVERS.typescript;
|
|
168
|
+
}
|
|
169
|
+
return lspServers;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Ensure .claude/settings.json exists and has lspServers configured
|
|
173
|
+
*
|
|
174
|
+
* Called during `specweave init` to set up LSP automatically.
|
|
175
|
+
*/
|
|
176
|
+
export async function ensureClaudeSettingsWithLsp(projectDir) {
|
|
177
|
+
const claudeDir = path.join(projectDir, '.claude');
|
|
178
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
179
|
+
// Ensure .claude directory exists
|
|
180
|
+
if (!fs.existsSync(claudeDir)) {
|
|
181
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
182
|
+
}
|
|
183
|
+
// Read existing settings or create new
|
|
184
|
+
let settings = {};
|
|
185
|
+
if (fs.existsSync(settingsPath)) {
|
|
186
|
+
try {
|
|
187
|
+
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// Invalid JSON, start fresh but preserve the file
|
|
191
|
+
settings = {};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Don't overwrite existing lspServers configuration
|
|
195
|
+
if (settings.lspServers) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// Detect tech stack
|
|
199
|
+
const techStack = detectTechStack(projectDir);
|
|
200
|
+
// Build LSP configuration
|
|
201
|
+
const lspServers = buildLspServersConfig(techStack);
|
|
202
|
+
// Merge with existing settings
|
|
203
|
+
settings.lspServers = lspServers;
|
|
204
|
+
// Write back
|
|
205
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Ensure LSP settings exist during `specweave update`
|
|
209
|
+
*
|
|
210
|
+
* Adds lspServers if missing, preserves existing configuration.
|
|
211
|
+
*/
|
|
212
|
+
export async function ensureLspSettingsOnUpdate(projectDir) {
|
|
213
|
+
// Same logic as init - only adds if missing
|
|
214
|
+
await ensureClaudeSettingsWithLsp(projectDir);
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=claude-settings-lsp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-settings-lsp.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/claude-settings-lsp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-structure.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"directory-structure.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,gDAAgD,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CA0Df;AA4BD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC,CAAC,CAsBD;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAmKf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,GAAE,OAAc,EACjC,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAgGN"}
|
|
@@ -12,6 +12,7 @@ import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
|
|
|
12
12
|
import { findSourceDir, findPackageRoot } from './path-utils.js';
|
|
13
13
|
import { mergeInstructionFile, parseTemplateSections, getPackageVersion } from './instruction-file-merger.js';
|
|
14
14
|
import { generateSmartGitignore } from './gitignore-generator.js';
|
|
15
|
+
import { ensureClaudeSettingsWithLsp } from './claude-settings-lsp.js';
|
|
15
16
|
import { LivingDocsScaffold, scanExistingDocs, findSimilarFolders, } from '../../../core/living-docs/scaffolding/index.js';
|
|
16
17
|
import { consoleLogger } from '../../../utils/logger.js';
|
|
17
18
|
/**
|
|
@@ -278,6 +279,16 @@ export async function copyTemplates(templatesDir, targetDir, projectName, langua
|
|
|
278
279
|
if (fs.existsSync(gitattributesTemplate)) {
|
|
279
280
|
fs.copyFileSync(gitattributesTemplate, path.join(targetDir, '.gitattributes'));
|
|
280
281
|
}
|
|
282
|
+
// Auto-configure LSP in .claude/settings.json (v1.0.184+)
|
|
283
|
+
// Detects project tech stack and adds appropriate LSP servers
|
|
284
|
+
try {
|
|
285
|
+
await ensureClaudeSettingsWithLsp(targetDir);
|
|
286
|
+
console.log(chalk.green(' ✓ LSP auto-configured in .claude/settings.json'));
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
// Non-fatal - LSP is optional
|
|
290
|
+
console.log(chalk.yellow(' ⚠ LSP auto-configuration skipped'));
|
|
291
|
+
}
|
|
281
292
|
}
|
|
282
293
|
/**
|
|
283
294
|
* Create .specweave/config.json with project settings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-structure.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directory-structure.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.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.184",
|
|
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",
|
|
@@ -526,6 +526,8 @@ Ask me when you need help with:
|
|
|
526
526
|
- **JSI bindings for synchronous native calls**
|
|
527
527
|
- **Expo config plugins for native configuration**
|
|
528
528
|
- **Interop layer for legacy Bridge modules**
|
|
529
|
+
- **Native listener lifecycle (singleton patterns for IAP, push, deep links)**
|
|
530
|
+
- **Debugging silent failures in async native events**
|
|
529
531
|
|
|
530
532
|
## Essential Commands
|
|
531
533
|
|
|
@@ -755,6 +757,120 @@ export function getCalendarModule() {
|
|
|
755
757
|
}
|
|
756
758
|
```
|
|
757
759
|
|
|
760
|
+
### 7. Native Singleton Listeners (App-Lifetime)
|
|
761
|
+
|
|
762
|
+
**CRITICAL**: Some native listeners must persist for the app's entire lifetime. **Never** clean them up in `useEffect` cleanup.
|
|
763
|
+
|
|
764
|
+
**Why This Matters**
|
|
765
|
+
|
|
766
|
+
Native platform events often arrive asynchronously from system UI (payment sheets, biometric dialogs, push notifications). The component that initiated the flow may unmount while system UI is visible, but events arrive AFTER the system UI dismisses. If the listener is cleaned up, events are silently lost.
|
|
767
|
+
|
|
768
|
+
**The Rule**
|
|
769
|
+
|
|
770
|
+
| Listener Type | Cleanup on Unmount? | Reason |
|
|
771
|
+
|--------------|---------------------|--------|
|
|
772
|
+
| iOS StoreKit (`setPurchaseListener`) | **NEVER** | Events arrive after payment sheet dismisses |
|
|
773
|
+
| Google Play Billing listener | **NEVER** | Same async flow as iOS |
|
|
774
|
+
| Push notification handlers | **NEVER** | Can arrive at any time |
|
|
775
|
+
| Deep link listeners | **NEVER** | App may be backgrounded during navigation |
|
|
776
|
+
| Biometric auth callbacks | **NEVER** | System UI dialog is external |
|
|
777
|
+
| **JavaScript event subscriptions** | ✅ OK | React lifecycle managed, no native async |
|
|
778
|
+
|
|
779
|
+
**Implementation Pattern - Singleton Service**
|
|
780
|
+
|
|
781
|
+
```typescript
|
|
782
|
+
// services/IAPService.ts - Singleton, initialized once
|
|
783
|
+
class IAPService {
|
|
784
|
+
private static initialized = false;
|
|
785
|
+
|
|
786
|
+
static async initialize() {
|
|
787
|
+
if (this.initialized) return;
|
|
788
|
+
this.initialized = true;
|
|
789
|
+
|
|
790
|
+
// Native listener - NEVER disconnected
|
|
791
|
+
await InAppPurchases.connectAsync();
|
|
792
|
+
InAppPurchases.setPurchaseListener(({ responseCode, results }) => {
|
|
793
|
+
if (responseCode === IAPResponseCode.OK && results) {
|
|
794
|
+
results.forEach(purchase => this.processPurchase(purchase));
|
|
795
|
+
}
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
private static async processPurchase(purchase: InAppPurchase) {
|
|
800
|
+
// Validate receipt, unlock content, finish transaction
|
|
801
|
+
await finishTransactionAsync(purchase, true);
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
// DO NOT add a disconnect method!
|
|
805
|
+
// The native listener must persist for app lifetime
|
|
806
|
+
}
|
|
807
|
+
```
|
|
808
|
+
|
|
809
|
+
```typescript
|
|
810
|
+
// App.tsx - Initialize once at app root
|
|
811
|
+
export default function App() {
|
|
812
|
+
useEffect(() => {
|
|
813
|
+
IAPService.initialize();
|
|
814
|
+
// NO cleanup return - this is intentional!
|
|
815
|
+
}, []);
|
|
816
|
+
|
|
817
|
+
return <RootNavigator />;
|
|
818
|
+
}
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
```typescript
|
|
822
|
+
// screens/PurchaseScreen.tsx - Component can have JS subscriptions
|
|
823
|
+
function PurchaseScreen() {
|
|
824
|
+
useEffect(() => {
|
|
825
|
+
// JS-level subscription - OK to cleanup
|
|
826
|
+
const subscription = purchaseEvents.subscribe(handleLocalUI);
|
|
827
|
+
return () => subscription.unsubscribe(); // ✅ OK - JS level only
|
|
828
|
+
}, []);
|
|
829
|
+
|
|
830
|
+
const handleBuy = async () => {
|
|
831
|
+
// Initiates native purchase flow
|
|
832
|
+
// Component may unmount while payment sheet is visible
|
|
833
|
+
// But IAPService singleton still receives the event
|
|
834
|
+
await InAppPurchases.purchaseItemAsync('premium_upgrade');
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
**Common Mistake - DO NOT DO THIS**
|
|
840
|
+
|
|
841
|
+
```typescript
|
|
842
|
+
// ❌ WRONG - Listener cleaned up, purchase events lost!
|
|
843
|
+
function BrokenPurchaseScreen() {
|
|
844
|
+
useEffect(() => {
|
|
845
|
+
InAppPurchases.connectAsync();
|
|
846
|
+
InAppPurchases.setPurchaseListener(handlePurchase);
|
|
847
|
+
|
|
848
|
+
return () => {
|
|
849
|
+
InAppPurchases.disconnectAsync(); // 💥 BUG!
|
|
850
|
+
// User completes purchase in payment sheet
|
|
851
|
+
// Component unmounts during navigation
|
|
852
|
+
// Event arrives but listener is gone
|
|
853
|
+
// Purchase succeeds but app never knows!
|
|
854
|
+
};
|
|
855
|
+
}, []);
|
|
856
|
+
}
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
**Debugging Silent Failures**
|
|
860
|
+
|
|
861
|
+
If purchases succeed (user charged) but app doesn't respond:
|
|
862
|
+
1. Check if `setPurchaseListener` is in a component that might unmount
|
|
863
|
+
2. Verify listener is set at app root, not in purchase screen
|
|
864
|
+
3. Add logging in the singleton to confirm events arrive
|
|
865
|
+
4. Test scenario: Start purchase → navigate away → complete purchase
|
|
866
|
+
|
|
867
|
+
**Applies To**
|
|
868
|
+
- `expo-in-app-purchases` / `react-native-iap`
|
|
869
|
+
- `expo-notifications` / `react-native-push-notification`
|
|
870
|
+
- `expo-linking` / Deep link handlers
|
|
871
|
+
- `expo-local-authentication` / Biometric callbacks
|
|
872
|
+
- Any native module with async system UI
|
|
873
|
+
|
|
758
874
|
## Integration with SpecWeave
|
|
759
875
|
|
|
760
876
|
**Native Module Planning**
|