specweave 1.0.208 → 1.0.210
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 +24 -24
- package/dist/src/adapters/claude/README.md +11 -8
- package/dist/src/adapters/cursor/README.md +4 -4
- package/dist/src/adapters/generic/README.md +3 -3
- package/dist/src/cli/commands/check-hooks.d.ts +1 -1
- package/dist/src/cli/commands/check-hooks.d.ts.map +1 -1
- package/dist/src/cli/commands/check-hooks.js +7 -35
- package/dist/src/cli/commands/check-hooks.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +89 -37
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/refresh-marketplace.d.ts.map +1 -1
- package/dist/src/cli/commands/refresh-marketplace.js +12 -55
- package/dist/src/cli/commands/refresh-marketplace.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/tdd-cycle.md +12 -12
- package/plugins/specweave/commands/tdd-green.md +1 -1
- package/plugins/specweave/commands/tdd-refactor.md +1 -1
- package/plugins/specweave/hooks/user-prompt-submit.sh +2 -23
- package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +3 -9
- package/plugins/specweave-ado/commands/cleanup-duplicates.md +1 -1
- package/plugins/specweave-ado/commands/clone.md +1 -1
- package/plugins/specweave-ado/commands/close.md +3 -5
- package/plugins/specweave-ado/commands/create.md +3 -5
- package/plugins/specweave-ado/commands/import-areas.md +1 -1
- package/plugins/specweave-ado/commands/import-projects.md +1 -1
- package/plugins/specweave-ado/commands/pull.md +1 -1
- package/plugins/specweave-ado/commands/push.md +2 -4
- package/plugins/specweave-ado/commands/reconcile.md +1 -1
- package/plugins/specweave-ado/commands/status.md +3 -5
- package/plugins/specweave-ado/commands/sync.md +3 -5
- package/plugins/specweave-diagrams/skills/diagrams-generator/SKILL.md +13 -17
- package/plugins/specweave-docs/commands/build.md +1 -1
- package/plugins/specweave-docs/commands/generate.md +1 -1
- package/plugins/specweave-docs/commands/health.md +1 -1
- package/plugins/specweave-docs/commands/init.md +1 -1
- package/plugins/specweave-docs/commands/organize.md +1 -1
- package/plugins/specweave-docs/commands/validate.md +1 -1
- package/plugins/specweave-docs/commands/view.md +1 -1
- package/plugins/specweave-github/commands/cleanup-duplicates.md +1 -1
- package/plugins/specweave-github/commands/clone.md +1 -1
- package/plugins/specweave-github/commands/close.md +1 -1
- package/plugins/specweave-github/commands/create.md +1 -1
- package/plugins/specweave-github/commands/pull.md +2 -4
- package/plugins/specweave-github/commands/push.md +2 -4
- package/plugins/specweave-github/commands/reconcile.md +1 -1
- package/plugins/specweave-github/commands/status.md +1 -1
- package/plugins/specweave-github/commands/sync.md +1 -1
- package/plugins/specweave-github/commands/update-user-story.md +1 -1
- package/plugins/specweave-infrastructure/commands/monitor-setup.md +1 -1
- package/plugins/specweave-infrastructure/commands/slo-implement.md +1 -1
- package/plugins/specweave-jira/commands/cleanup-duplicates.md +1 -1
- package/plugins/specweave-jira/commands/close.md +3 -5
- package/plugins/specweave-jira/commands/create.md +3 -5
- package/plugins/specweave-jira/commands/import-boards.md +1 -1
- package/plugins/specweave-jira/commands/import-projects-full.md +1 -1
- package/plugins/specweave-jira/commands/import-projects.md +1 -1
- package/plugins/specweave-jira/commands/pull.md +2 -4
- package/plugins/specweave-jira/commands/push.md +2 -4
- package/plugins/specweave-jira/commands/reconcile.md +1 -1
- package/plugins/specweave-jira/commands/status.md +3 -5
- package/plugins/specweave-jira/commands/sync.md +1 -1
- package/plugins/specweave-kafka/commands/deploy.md +1 -1
- package/plugins/specweave-kafka/commands/dev-env.md +1 -1
- package/plugins/specweave-kafka/commands/mcp-configure.md +1 -1
- package/plugins/specweave-kafka/commands/monitor-setup.md +1 -1
- package/plugins/specweave-kafka-streams/commands/topology.md +1 -1
- package/plugins/specweave-ml/commands/deploy.md +1 -1
- package/plugins/specweave-ml/commands/evaluate.md +1 -1
- package/plugins/specweave-ml/commands/explain.md +1 -1
- package/plugins/specweave-ml/commands/pipeline.md +15 -8
- package/plugins/specweave-mobile/README.md +7 -10
- package/plugins/specweave-n8n/commands/workflow-template.md +1 -1
- package/plugins/specweave-release/commands/align.md +1 -1
- package/plugins/specweave-release/commands/init.md +1 -1
- package/plugins/specweave-release/commands/npm.md +1 -1
- package/plugins/specweave-release/commands/platform.md +1 -1
- package/plugins/specweave-release/commands/rc.md +1 -1
- package/dist/src/cli/commands/cache-refresh.d.ts +0 -30
- package/dist/src/cli/commands/cache-refresh.d.ts.map +0 -1
- package/dist/src/cli/commands/cache-refresh.js +0 -148
- package/dist/src/cli/commands/cache-refresh.js.map +0 -1
- package/dist/src/cli/commands/cache-status.d.ts +0 -29
- package/dist/src/cli/commands/cache-status.d.ts.map +0 -1
- package/dist/src/cli/commands/cache-status.js +0 -226
- package/dist/src/cli/commands/cache-status.js.map +0 -1
- package/dist/src/core/plugin-cache/cache-health-monitor.d.ts +0 -110
- package/dist/src/core/plugin-cache/cache-health-monitor.d.ts.map +0 -1
- package/dist/src/core/plugin-cache/cache-health-monitor.js +0 -247
- package/dist/src/core/plugin-cache/cache-health-monitor.js.map +0 -1
- package/dist/src/core/plugin-cache/cache-invalidator.d.ts +0 -33
- package/dist/src/core/plugin-cache/cache-invalidator.d.ts.map +0 -1
- package/dist/src/core/plugin-cache/cache-invalidator.js +0 -68
- package/dist/src/core/plugin-cache/cache-invalidator.js.map +0 -1
- package/dist/src/core/plugin-cache/cache-metadata.d.ts +0 -56
- package/dist/src/core/plugin-cache/cache-metadata.d.ts.map +0 -1
- package/dist/src/core/plugin-cache/cache-metadata.js +0 -142
- package/dist/src/core/plugin-cache/cache-metadata.js.map +0 -1
- package/dist/src/core/plugin-cache/startup-checker.d.ts +0 -58
- package/dist/src/core/plugin-cache/startup-checker.d.ts.map +0 -1
- package/dist/src/core/plugin-cache/startup-checker.js +0 -157
- package/dist/src/core/plugin-cache/startup-checker.js.map +0 -1
- /package/plugins/specweave/{commands → scripts}/analyze-standards.sh +0 -0
- /package/plugins/specweave-ado/{commands → scripts}/refresh-cache.js +0 -0
- /package/plugins/specweave-ado/{commands → scripts}/refresh-cache.ts +0 -0
- /package/plugins/specweave-jira/{commands → scripts}/import-projects.js +0 -0
- /package/plugins/specweave-jira/{commands → scripts}/import-projects.ts +0 -0
- /package/plugins/specweave-jira/{commands → scripts}/refresh-cache.js +0 -0
- /package/plugins/specweave-jira/{commands → scripts}/refresh-cache.ts +0 -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.209" 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
|
## ⛔ Hook Instructions Override Everything
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
**SKILL FIRST ≠ only one skill.** Chain: hook skill → `sw-frontend:*` / `sw-backend:*` / etc → implement.
|
|
14
14
|
<!-- SW:END:hook-priority -->
|
|
15
15
|
|
|
16
|
-
<!-- SW:SECTION:header version="1.0.
|
|
16
|
+
<!-- SW:SECTION:header version="1.0.209" -->
|
|
17
17
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
18
18
|
<!-- SW:END:header -->
|
|
19
19
|
|
|
@@ -123,7 +123,7 @@ claude plugin install sw@specweave --scope project # Team-shared
|
|
|
123
123
|
|
|
124
124
|
SpecWeave auto-installs: LSP → project scope, sw-* → user scope.
|
|
125
125
|
|
|
126
|
-
<!-- SW:SECTION:start version="1.0.
|
|
126
|
+
<!-- SW:SECTION:start version="1.0.209" -->
|
|
127
127
|
## Getting Started
|
|
128
128
|
|
|
129
129
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -133,7 +133,7 @@ SpecWeave auto-installs: LSP → project scope, sw-* → user scope.
|
|
|
133
133
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
134
134
|
<!-- SW:END:start -->
|
|
135
135
|
|
|
136
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
136
|
+
<!-- SW:SECTION:autodetect version="1.0.209" -->
|
|
137
137
|
## Auto-Detection
|
|
138
138
|
|
|
139
139
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -143,7 +143,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
143
143
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
144
144
|
<!-- SW:END:autodetect -->
|
|
145
145
|
|
|
146
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
146
|
+
<!-- SW:SECTION:metarule version="1.0.209" -->
|
|
147
147
|
## Workflow Orchestration
|
|
148
148
|
|
|
149
149
|
### 1. Plan Mode Default
|
|
@@ -170,7 +170,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
170
170
|
```
|
|
171
171
|
<!-- SW:END:metarule -->
|
|
172
172
|
|
|
173
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
173
|
+
<!-- SW:SECTION:rules version="1.0.209" -->
|
|
174
174
|
## Rules
|
|
175
175
|
|
|
176
176
|
1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
|
|
@@ -189,7 +189,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
189
189
|
Use next available number. **NEVER create duplicate prefixes.**
|
|
190
190
|
<!-- SW:END:rules -->
|
|
191
191
|
|
|
192
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
192
|
+
<!-- SW:SECTION:workflow version="1.0.209" -->
|
|
193
193
|
## Workflow
|
|
194
194
|
|
|
195
195
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -235,7 +235,7 @@ project/
|
|
|
235
235
|
**NEVER assume single-repo mode without scanning first!**
|
|
236
236
|
<!-- SW:END:save-nested-repos -->
|
|
237
237
|
|
|
238
|
-
<!-- SW:SECTION:reflect version="1.0.
|
|
238
|
+
<!-- SW:SECTION:reflect version="1.0.209" -->
|
|
239
239
|
## Skill Memories
|
|
240
240
|
|
|
241
241
|
SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
|
|
@@ -254,7 +254,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
254
254
|
- **2026-02-02**: Use subagents liberally for codebase analysis - up to 10+ concurrent for large-scale exploration
|
|
255
255
|
- **2026-02-02**: Prefer leaderboard-style reporting when analyzing usage patterns or identifying deletion candidates
|
|
256
256
|
|
|
257
|
-
<!-- SW:SECTION:context version="1.0.
|
|
257
|
+
<!-- SW:SECTION:context version="1.0.209" -->
|
|
258
258
|
## Context
|
|
259
259
|
|
|
260
260
|
**Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
|
|
@@ -262,7 +262,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
262
262
|
**Load context**: `/sw:context <topic>` loads relevant living docs into conversation
|
|
263
263
|
<!-- SW:END:context -->
|
|
264
264
|
|
|
265
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
265
|
+
<!-- SW:SECTION:structure version="1.0.209" -->
|
|
266
266
|
## Structure
|
|
267
267
|
|
|
268
268
|
```
|
|
@@ -277,7 +277,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
277
277
|
**Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
|
|
278
278
|
<!-- SW:END:structure -->
|
|
279
279
|
|
|
280
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
280
|
+
<!-- SW:SECTION:taskformat version="1.0.209" -->
|
|
281
281
|
## Task Format
|
|
282
282
|
|
|
283
283
|
```markdown
|
|
@@ -287,7 +287,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
287
287
|
```
|
|
288
288
|
<!-- SW:END:taskformat -->
|
|
289
289
|
|
|
290
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
290
|
+
<!-- SW:SECTION:secrets version="1.0.209" -->
|
|
291
291
|
## Secrets Check
|
|
292
292
|
|
|
293
293
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -301,7 +301,7 @@ gh auth status
|
|
|
301
301
|
**SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
|
|
302
302
|
<!-- SW:END:secrets -->
|
|
303
303
|
|
|
304
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
304
|
+
<!-- SW:SECTION:syncing version="1.0.209" -->
|
|
305
305
|
## External Sync (GitHub/JIRA/ADO)
|
|
306
306
|
|
|
307
307
|
**Commands**: `/sw-github:sync {id}` (issues) | `/sw:sync-specs` (living docs only)
|
|
@@ -311,7 +311,7 @@ gh auth status
|
|
|
311
311
|
**Config**: Set `sync.github.enabled: true` + `canUpdateExternalItems: true` in config.json
|
|
312
312
|
<!-- SW:END:syncing -->
|
|
313
313
|
|
|
314
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
314
|
+
<!-- SW:SECTION:testing version="1.0.209" -->
|
|
315
315
|
## Testing
|
|
316
316
|
|
|
317
317
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -323,7 +323,7 @@ vi.mock('./module', () => ({ func: mockFn }));
|
|
|
323
323
|
```
|
|
324
324
|
<!-- SW:END:testing -->
|
|
325
325
|
|
|
326
|
-
<!-- SW:SECTION:tdd version="1.0.
|
|
326
|
+
<!-- SW:SECTION:tdd version="1.0.209" -->
|
|
327
327
|
## TDD Mode (Test-Driven Development)
|
|
328
328
|
|
|
329
329
|
**When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
|
|
@@ -384,7 +384,7 @@ When TDD is enabled, tasks include phase markers:
|
|
|
384
384
|
**Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
|
|
385
385
|
<!-- SW:END:tdd -->
|
|
386
386
|
|
|
387
|
-
<!-- SW:SECTION:api version="1.0.
|
|
387
|
+
<!-- SW:SECTION:api version="1.0.209" -->
|
|
388
388
|
## API Development (OpenAPI-First)
|
|
389
389
|
|
|
390
390
|
**For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
|
|
@@ -392,13 +392,13 @@ When TDD is enabled, tasks include phase markers:
|
|
|
392
392
|
Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
393
393
|
<!-- SW:END:api -->
|
|
394
394
|
|
|
395
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
395
|
+
<!-- SW:SECTION:limits version="1.0.209" -->
|
|
396
396
|
## Limits
|
|
397
397
|
|
|
398
398
|
**Max 1500 lines/file** — extract before adding
|
|
399
399
|
<!-- SW:END:limits -->
|
|
400
400
|
|
|
401
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
401
|
+
<!-- SW:SECTION:troubleshooting version="1.0.209" -->
|
|
402
402
|
## Troubleshooting
|
|
403
403
|
|
|
404
404
|
| Issue | Fix |
|
|
@@ -411,7 +411,7 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
|
411
411
|
| Session stuck | Kill + `rm -f .specweave/state/*.lock` + restart |
|
|
412
412
|
<!-- SW:END:troubleshooting -->
|
|
413
413
|
|
|
414
|
-
<!-- SW:SECTION:lazyloading version="1.0.
|
|
414
|
+
<!-- SW:SECTION:lazyloading version="1.0.209" -->
|
|
415
415
|
## Plugin Auto-Loading
|
|
416
416
|
|
|
417
417
|
Plugins load automatically based on project type and keywords. Manual install if needed:
|
|
@@ -425,7 +425,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
425
425
|
**Token savings**: Core ~3-5K tokens vs all plugins ~60K+
|
|
426
426
|
<!-- SW:END:lazyloading -->
|
|
427
427
|
|
|
428
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
428
|
+
<!-- SW:SECTION:principles version="1.0.209" -->
|
|
429
429
|
## Principles
|
|
430
430
|
|
|
431
431
|
### SpecWeave Principles
|
|
@@ -441,7 +441,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
441
441
|
- **Demand Elegance**: For non-trivial changes, pause and ask "is there a more elegant way?" - but skip this for simple, obvious fixes (don't over-engineer).
|
|
442
442
|
<!-- SW:END:principles -->
|
|
443
443
|
|
|
444
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
444
|
+
<!-- SW:SECTION:linking version="1.0.209" -->
|
|
445
445
|
## Bidirectional Linking
|
|
446
446
|
|
|
447
447
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -449,7 +449,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
449
449
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
450
450
|
<!-- SW:END:linking -->
|
|
451
451
|
|
|
452
|
-
<!-- SW:SECTION:mcp version="1.0.
|
|
452
|
+
<!-- SW:SECTION:mcp version="1.0.209" -->
|
|
453
453
|
## External Services
|
|
454
454
|
|
|
455
455
|
**Priority**: CLI tools first (simpler) → MCP for complex integrations
|
|
@@ -471,7 +471,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
|
|
|
471
471
|
MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
472
472
|
<!-- SW:END:mcp -->
|
|
473
473
|
|
|
474
|
-
<!-- SW:SECTION:auto version="1.0.
|
|
474
|
+
<!-- SW:SECTION:auto version="1.0.209" -->
|
|
475
475
|
## Auto Mode
|
|
476
476
|
|
|
477
477
|
**Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
|
|
@@ -488,7 +488,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
|
488
488
|
**STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
|
|
489
489
|
<!-- SW:END:auto -->
|
|
490
490
|
|
|
491
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
491
|
+
<!-- SW:SECTION:docs version="1.0.209" -->
|
|
492
492
|
## Docs
|
|
493
493
|
|
|
494
494
|
[spec-weave.com](https://spec-weave.com)
|
|
@@ -188,21 +188,24 @@ description: Plan features with context awareness. Activates for: create feature
|
|
|
188
188
|
|
|
189
189
|
When user says "create feature", Claude Code automatically activates `increment-planner` skill.
|
|
190
190
|
|
|
191
|
-
###
|
|
191
|
+
### Skills Invocation
|
|
192
192
|
|
|
193
|
-
|
|
193
|
+
Skills are invoked explicitly via Skill tool or auto-activate based on keywords:
|
|
194
194
|
|
|
195
195
|
```typescript
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
// Explicit invocation
|
|
197
|
+
await Skill({
|
|
198
|
+
skill: "sw-frontend:frontend-architect",
|
|
199
|
+
args: "Design React component architecture for dashboard"
|
|
200
200
|
});
|
|
201
|
+
|
|
202
|
+
// Or via slash command
|
|
203
|
+
/sw-frontend:frontend-architect Design React component architecture
|
|
201
204
|
```
|
|
202
205
|
|
|
203
|
-
|
|
206
|
+
Skills like PM and Architect auto-activate based on keywords. For explicit invocation, use the Skill tool.
|
|
204
207
|
|
|
205
|
-
**Note**:
|
|
208
|
+
**Note**: The Task tool is for spawning subagents (Explore, Plan, general-purpose) with isolated contexts. Skills use the Skill tool.
|
|
206
209
|
|
|
207
210
|
### Hooks Execution
|
|
208
211
|
|
|
@@ -101,15 +101,15 @@ User: "create increment for auth"
|
|
|
101
101
|
→ Act like increment-planner by following those steps
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
### Simulating
|
|
104
|
+
### Simulating Skills
|
|
105
105
|
|
|
106
106
|
**Claude Code (automatic)**:
|
|
107
107
|
```typescript
|
|
108
|
-
|
|
109
|
-
→ Frontend
|
|
108
|
+
Skill({ skill: "sw-frontend:frontend-architect", args: "design components" })
|
|
109
|
+
→ Frontend skill activates with specialized guidance
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
**Note**: In Claude Code, PM/Architect are SKILLS that auto-activate on keywords
|
|
112
|
+
**Note**: In Claude Code, PM/Architect are SKILLS that auto-activate on keywords. For explicit invocation, use the Skill tool.
|
|
113
113
|
|
|
114
114
|
**Cursor (manual adoption)**:
|
|
115
115
|
```typescript
|
|
@@ -156,11 +156,11 @@ You manually execute the entire workflow!
|
|
|
156
156
|
|
|
157
157
|
**Claude Code (automatic)**:
|
|
158
158
|
```typescript
|
|
159
|
-
|
|
160
|
-
→ Frontend
|
|
159
|
+
Skill({ skill: "sw-frontend:frontend-architect", args: "design components" })
|
|
160
|
+
→ Frontend skill activates and provides specialized guidance
|
|
161
161
|
```
|
|
162
162
|
|
|
163
|
-
**Note**: In Claude Code, PM/Architect are SKILLS that auto-activate on keywords,
|
|
163
|
+
**Note**: In Claude Code, PM/Architect are SKILLS that auto-activate on keywords. For explicit invocation, use the Skill tool.
|
|
164
164
|
|
|
165
165
|
**Generic (manual)**:
|
|
166
166
|
```
|
|
@@ -22,7 +22,7 @@ export declare function checkReflectHealth(verbose?: boolean): Promise<{
|
|
|
22
22
|
issues: string[];
|
|
23
23
|
}>;
|
|
24
24
|
/**
|
|
25
|
-
* Check plugin cache health
|
|
25
|
+
* Check plugin cache health (simplified - relies on Claude Code's native plugin management)
|
|
26
26
|
*/
|
|
27
27
|
export declare function checkCacheHealth(verbose?: boolean): Promise<void>;
|
|
28
28
|
//# sourceMappingURL=check-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-hooks.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/check-hooks.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"check-hooks.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/check-hooks.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAoFH;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuHlH;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9E"}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
import { HookHealthChecker } from '../../core/hooks/HookHealthChecker.js';
|
|
11
11
|
import { HealthReporter } from '../../core/hooks/HealthReporter.js';
|
|
12
12
|
import { HookAutoFixer } from '../../core/hooks/HookAutoFixer.js';
|
|
13
|
-
import { CacheHealthMonitor } from '../../core/plugin-cache/cache-health-monitor.js';
|
|
14
13
|
import path from 'path';
|
|
15
14
|
import fs from 'fs';
|
|
16
15
|
import os from 'os';
|
|
@@ -194,22 +193,21 @@ export async function checkReflectHealth(verbose = false) {
|
|
|
194
193
|
}
|
|
195
194
|
}
|
|
196
195
|
/**
|
|
197
|
-
* Check plugin cache health
|
|
196
|
+
* Check plugin cache health (simplified - relies on Claude Code's native plugin management)
|
|
198
197
|
*/
|
|
199
198
|
export async function checkCacheHealth(verbose = false) {
|
|
200
|
-
console.log('\n🔍 Checking plugin cache
|
|
199
|
+
console.log('\n🔍 Checking plugin cache...\n');
|
|
201
200
|
const basePath = path.join(os.homedir(), '.claude', 'plugins', 'cache', 'specweave');
|
|
202
201
|
if (!fs.existsSync(basePath)) {
|
|
203
202
|
console.log(' No plugin cache found.\n');
|
|
203
|
+
console.log(' 💡 Install plugins with: claude plugin install sw@specweave\n');
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
206
|
-
const monitor = new CacheHealthMonitor();
|
|
207
206
|
const pluginNames = fs.readdirSync(basePath).filter(name => {
|
|
208
207
|
const pluginPath = path.join(basePath, name);
|
|
209
208
|
return fs.statSync(pluginPath).isDirectory();
|
|
210
209
|
});
|
|
211
|
-
|
|
212
|
-
let criticalCount = 0;
|
|
210
|
+
console.log(` Found ${pluginNames.length} cached plugins:\n`);
|
|
213
211
|
for (const pluginName of pluginNames) {
|
|
214
212
|
const pluginPath = path.join(basePath, pluginName);
|
|
215
213
|
const versions = fs.readdirSync(pluginPath).filter(v => {
|
|
@@ -219,36 +217,10 @@ export async function checkCacheHealth(verbose = false) {
|
|
|
219
217
|
if (versions.length === 0)
|
|
220
218
|
continue;
|
|
221
219
|
const version = versions.sort().reverse()[0];
|
|
222
|
-
|
|
223
|
-
const issues = monitor.checkPluginHealth(versionPath, version);
|
|
224
|
-
const hasCritical = issues.some(i => i.severity === 'critical');
|
|
225
|
-
if (issues.length === 0) {
|
|
226
|
-
healthyCount++;
|
|
227
|
-
console.log(` ✅ ${pluginName} (${version}): Healthy`);
|
|
228
|
-
}
|
|
229
|
-
else if (hasCritical) {
|
|
230
|
-
criticalCount++;
|
|
231
|
-
console.log(` ❌ ${pluginName} (${version}): Critical issues`);
|
|
232
|
-
if (verbose) {
|
|
233
|
-
for (const issue of issues.filter(i => i.severity === 'critical')) {
|
|
234
|
-
console.log(` - ${issue.message} (${issue.file})`);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
console.log(` ⚠️ ${pluginName} (${version}): ${issues.length} warnings`);
|
|
240
|
-
if (verbose) {
|
|
241
|
-
for (const issue of issues) {
|
|
242
|
-
console.log(` - ${issue.message} (${issue.file})`);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
console.log(`\n Summary: ${healthyCount} healthy, ${criticalCount} critical\n`);
|
|
248
|
-
if (criticalCount > 0) {
|
|
249
|
-
console.log(' 💡 Run: specweave cache-status for details\n');
|
|
250
|
-
console.log(' 💡 Run: specweave cache-refresh --force to fix\n');
|
|
220
|
+
console.log(` ✅ ${pluginName} (${version})`);
|
|
251
221
|
}
|
|
222
|
+
console.log('\n 💡 Use: claude plugin list to see installed plugins\n');
|
|
223
|
+
console.log(' 💡 Use: claude plugin install sw@specweave --force to refresh\n');
|
|
252
224
|
}
|
|
253
225
|
/**
|
|
254
226
|
* Main command execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-hooks.js","sourceRoot":"","sources":["../../../../src/cli/commands/check-hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-hooks.js","sourceRoot":"","sources":["../../../../src/cli/commands/check-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH,OAAO,EACL,KAAK,WAAW,EA2BjB,MAAM,0BAA0B,CAAC;AAYlC,YAAY,EAAE,WAAW,EAAE,CAAC;AAgM5B;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH,OAAO,EACL,KAAK,WAAW,EA2BjB,MAAM,0BAA0B,CAAC;AAYlC,YAAY,EAAE,WAAW,EAAE,CAAC;AAgM5B;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAqtBf"}
|
|
@@ -223,8 +223,8 @@ export async function initCommand(projectName, options = {}) {
|
|
|
223
223
|
const locale = getLocaleManager(language);
|
|
224
224
|
// Now show welcome message in selected language
|
|
225
225
|
console.log(chalk.blue.bold('\n' + locale.t('cli', 'init.welcome') + '\n'));
|
|
226
|
-
let targetDir;
|
|
227
|
-
let finalProjectName;
|
|
226
|
+
let targetDir = '';
|
|
227
|
+
let finalProjectName = '';
|
|
228
228
|
let usedDotNotation = false;
|
|
229
229
|
let continueExisting = false;
|
|
230
230
|
// Handle "." for current directory
|
|
@@ -286,12 +286,33 @@ export async function initCommand(projectName, options = {}) {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
else {
|
|
289
|
-
// Create subdirectory
|
|
289
|
+
// Create subdirectory OR use current directory in quick mode
|
|
290
290
|
if (!projectName) {
|
|
291
291
|
if (isCI) {
|
|
292
|
-
// CI/quick mode: use
|
|
293
|
-
|
|
294
|
-
|
|
292
|
+
// CI/quick mode without project name: use current directory (like "." notation)
|
|
293
|
+
// This enables: specweave init --quick (without any args)
|
|
294
|
+
usedDotNotation = true;
|
|
295
|
+
targetDir = process.cwd();
|
|
296
|
+
const dirName = path.basename(targetDir);
|
|
297
|
+
// Sanitize directory name for project name
|
|
298
|
+
if (!/^[a-z0-9-]+$/.test(dirName)) {
|
|
299
|
+
finalProjectName = dirName.toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
300
|
+
console.log(chalk.gray(` → Quick mode: Using current directory "${dirName}" as "${finalProjectName}"`));
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
finalProjectName = dirName;
|
|
304
|
+
console.log(chalk.gray(` → Quick mode: Using current directory "${finalProjectName}"`));
|
|
305
|
+
}
|
|
306
|
+
// Smart re-initialization for quick mode
|
|
307
|
+
if (fs.existsSync(path.join(targetDir, '.specweave'))) {
|
|
308
|
+
const result = await promptSmartReinit({ targetDir, isCI, hasForce: !!options.force, language });
|
|
309
|
+
if (result.action === 'cancel') {
|
|
310
|
+
process.exit(0);
|
|
311
|
+
}
|
|
312
|
+
continueExisting = result.continueExisting;
|
|
313
|
+
}
|
|
314
|
+
// Quick mode handled: targetDir and finalProjectName already set
|
|
315
|
+
// Skip to nested .specweave check below
|
|
295
316
|
}
|
|
296
317
|
else {
|
|
297
318
|
projectName = await input({
|
|
@@ -301,41 +322,45 @@ export async function initCommand(projectName, options = {}) {
|
|
|
301
322
|
});
|
|
302
323
|
}
|
|
303
324
|
}
|
|
304
|
-
|
|
305
|
-
//
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
else {
|
|
319
|
-
const existingFiles = fs.readdirSync(targetDir).filter(f => !f.startsWith('.'));
|
|
320
|
-
if (existingFiles.length > 0) {
|
|
321
|
-
console.log(chalk.yellow('\nDirectory ' + projectName + ' exists with ' + existingFiles.length + ' file(s).'));
|
|
322
|
-
if (isCI) {
|
|
323
|
-
// CI/quick mode: proceed without asking
|
|
324
|
-
console.log(chalk.gray(' → CI/quick mode: Proceeding with initialization'));
|
|
325
|
+
// Only process subdirectory creation if projectName was provided/set
|
|
326
|
+
// (Quick mode without args already set targetDir and finalProjectName above)
|
|
327
|
+
if (projectName) {
|
|
328
|
+
targetDir = path.resolve(process.cwd(), projectName);
|
|
329
|
+
// CRITICAL FIX (v1.0.23): Normalize projectName to strip path prefixes like ./
|
|
330
|
+
// Bug: "specweave init ./my-project" stored "./my-project" in config.json
|
|
331
|
+
// which later caused split('/')[0] to return "." and fail validation
|
|
332
|
+
finalProjectName = path.basename(projectName);
|
|
333
|
+
if (fs.existsSync(targetDir)) {
|
|
334
|
+
const hasSpecweave = fs.existsSync(path.join(targetDir, '.specweave'));
|
|
335
|
+
if (hasSpecweave) {
|
|
336
|
+
const result = await promptSmartReinit({ targetDir, isCI, hasForce: !!options.force, language });
|
|
337
|
+
if (result.action === 'cancel') {
|
|
338
|
+
process.exit(0);
|
|
325
339
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
340
|
+
continueExisting = result.continueExisting;
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
const existingFiles = fs.readdirSync(targetDir).filter(f => !f.startsWith('.'));
|
|
344
|
+
if (existingFiles.length > 0) {
|
|
345
|
+
console.log(chalk.yellow('\nDirectory ' + projectName + ' exists with ' + existingFiles.length + ' file(s).'));
|
|
346
|
+
if (isCI) {
|
|
347
|
+
// CI/quick mode: proceed without asking
|
|
348
|
+
console.log(chalk.gray(' → CI/quick mode: Proceeding with initialization'));
|
|
331
349
|
}
|
|
350
|
+
else {
|
|
351
|
+
const initExisting = await confirm({ message: 'Initialize SpecWeave in existing directory (non-destructive)?', default: false });
|
|
352
|
+
if (!initExisting) {
|
|
353
|
+
console.log(chalk.yellow(locale.t('cli', 'init.errors.cancelled')));
|
|
354
|
+
process.exit(0);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
console.log(chalk.green(' ✅ Initializing in existing directory (brownfield-safe)\n'));
|
|
332
358
|
}
|
|
333
|
-
console.log(chalk.green(' ✅ Initializing in existing directory (brownfield-safe)\n'));
|
|
334
359
|
}
|
|
335
360
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
361
|
+
else {
|
|
362
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
363
|
+
}
|
|
339
364
|
}
|
|
340
365
|
}
|
|
341
366
|
// Check for nested .specweave/
|
|
@@ -680,8 +705,35 @@ export async function initCommand(projectName, options = {}) {
|
|
|
680
705
|
console.log(chalk.gray(' Run: git init && specweave install-hooks'));
|
|
681
706
|
}
|
|
682
707
|
// LSP Environment Variable Setup (v1.0.191)
|
|
683
|
-
//
|
|
708
|
+
// For Claude tool - LSP enhances code intelligence
|
|
684
709
|
const isQuickMode = options.quick || process.env.CI === 'true' || process.env.GITHUB_ACTIONS === 'true';
|
|
710
|
+
// QUICK MODE: Auto-enable LSP without prompts (v1.0.210)
|
|
711
|
+
if (toolName === 'claude' && isQuickMode) {
|
|
712
|
+
// Silently enable LSP in config.json
|
|
713
|
+
const configPath = path.join(targetDir, '.specweave', 'config.json');
|
|
714
|
+
if (fs.existsSync(configPath)) {
|
|
715
|
+
try {
|
|
716
|
+
const config = await fs.readJson(configPath);
|
|
717
|
+
config.lsp = {
|
|
718
|
+
enabled: true,
|
|
719
|
+
autoInstallPlugins: true,
|
|
720
|
+
marketplace: 'boostvolt/claude-code-lsps'
|
|
721
|
+
};
|
|
722
|
+
await fs.writeJson(configPath, config, { spaces: 2 });
|
|
723
|
+
console.log(chalk.green(' ✓ LSP enabled in config'));
|
|
724
|
+
}
|
|
725
|
+
catch {
|
|
726
|
+
// Non-critical, continue
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
// Try to set up shell env var silently
|
|
730
|
+
const result = setupLspEnvVar();
|
|
731
|
+
if (result.success && !result.alreadyConfigured) {
|
|
732
|
+
console.log(chalk.green(' ✓ LSP shell config added'));
|
|
733
|
+
console.log(chalk.gray(' Restart terminal for LSP to take effect'));
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
// INTERACTIVE MODE: Prompt for LSP setup
|
|
685
737
|
if (toolName === 'claude' && !isQuickMode) {
|
|
686
738
|
console.log('');
|
|
687
739
|
console.log(chalk.cyan('━━━ LSP Support ━━━'));
|