specweave 1.0.260 → 1.0.262

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/.claude-plugin/README.md +0 -2
  2. package/CLAUDE.md +28 -27
  3. package/bin/specweave.js +14 -85
  4. package/dist/dashboard/assets/index-Cv1XUAKk.css +1 -0
  5. package/dist/dashboard/assets/index-DHOztQSu.js +11 -0
  6. package/dist/dashboard/index.html +2 -2
  7. package/dist/src/adapters/README.md +1 -1
  8. package/dist/src/adapters/agents-md-generator.js +1 -1
  9. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  10. package/dist/src/adapters/claude/README.md +8 -8
  11. package/dist/src/adapters/claude/adapter.js +2 -2
  12. package/dist/src/adapters/claude-md-generator.js +2 -2
  13. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  14. package/dist/src/adapters/cursor/README.md +7 -7
  15. package/dist/src/adapters/generic/README.md +2 -2
  16. package/dist/src/cli/commands/create-increment.d.ts +1 -1
  17. package/dist/src/cli/commands/create-increment.js +1 -1
  18. package/dist/src/cli/commands/update.d.ts.map +1 -1
  19. package/dist/src/cli/commands/update.js +64 -1
  20. package/dist/src/cli/commands/update.js.map +1 -1
  21. package/dist/src/cli/helpers/init/api-docs-config.js +7 -7
  22. package/dist/src/cli/helpers/init/api-docs-config.js.map +1 -1
  23. package/dist/src/core/config/types.d.ts +18 -0
  24. package/dist/src/core/config/types.d.ts.map +1 -1
  25. package/dist/src/core/config/types.js +4 -0
  26. package/dist/src/core/config/types.js.map +1 -1
  27. package/dist/src/core/external-tools/external-items-display.d.ts.map +1 -1
  28. package/dist/src/core/external-tools/external-items-display.js +1 -11
  29. package/dist/src/core/external-tools/external-items-display.js.map +1 -1
  30. package/dist/src/core/increment/increment-archiver.js +1 -1
  31. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  32. package/dist/src/core/increment/metadata-manager.js +2 -2
  33. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  34. package/dist/src/core/increment/template-creator.d.ts +1 -1
  35. package/dist/src/core/increment/template-creator.js +4 -4
  36. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +2 -2
  37. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  38. package/dist/src/core/lazy-loading/llm-plugin-detector.js +15 -5
  39. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  40. package/dist/src/core/living-docs/feature-consistency-validator.js +1 -1
  41. package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
  42. package/dist/src/core/living-docs/scaffolding/scaffold.js +3 -3
  43. package/dist/src/core/notifications/command-integration.d.ts.map +1 -1
  44. package/dist/src/core/notifications/command-integration.js +0 -1
  45. package/dist/src/core/notifications/command-integration.js.map +1 -1
  46. package/dist/src/core/reflection/reflect-handler.js +2 -2
  47. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  48. package/dist/src/core/validators/ac-presence-validator.d.ts +1 -1
  49. package/dist/src/core/validators/ac-presence-validator.js +3 -3
  50. package/dist/src/core/validators/ac-presence-validator.js.map +1 -1
  51. package/dist/src/dashboard/server/command-runner.d.ts.map +1 -1
  52. package/dist/src/dashboard/server/command-runner.js +2 -2
  53. package/dist/src/dashboard/server/command-runner.js.map +1 -1
  54. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  55. package/dist/src/dashboard/server/dashboard-server.js +107 -41
  56. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  57. package/dist/src/dashboard/server/data/cost-aggregator.d.ts +36 -0
  58. package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -0
  59. package/dist/src/dashboard/server/data/cost-aggregator.js +156 -0
  60. package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -0
  61. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts +37 -10
  62. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts.map +1 -1
  63. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +193 -51
  64. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  65. package/dist/src/dashboard/types.d.ts +11 -0
  66. package/dist/src/dashboard/types.d.ts.map +1 -1
  67. package/dist/src/utils/agents-md-compiler.js +1 -1
  68. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  69. package/dist/src/utils/find-project-root.d.ts +5 -4
  70. package/dist/src/utils/find-project-root.d.ts.map +1 -1
  71. package/dist/src/utils/find-project-root.js +8 -10
  72. package/dist/src/utils/find-project-root.js.map +1 -1
  73. package/dist/src/utils/generate-skills-index.js +3 -3
  74. package/dist/src/utils/notification-constants.js +1 -1
  75. package/dist/src/utils/notification-constants.js.map +1 -1
  76. package/package.json +1 -1
  77. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +3 -3
  78. package/plugins/specweave/PLUGIN.md +0 -22
  79. package/plugins/specweave/commands/analytics.md +1 -1
  80. package/plugins/specweave/commands/discrepancies.md +0 -1
  81. package/plugins/specweave/commands/living-docs.md +0 -1
  82. package/plugins/specweave/commands/reconcile.md +1 -1
  83. package/plugins/specweave/hooks/hooks.json +10 -0
  84. package/plugins/specweave/hooks/pre-compact.sh +39 -0
  85. package/plugins/specweave/hooks/stop-sync.sh +23 -1
  86. package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +4 -0
  87. package/plugins/specweave/hooks/user-prompt-submit.sh +193 -59
  88. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +7 -0
  89. package/plugins/specweave/hooks/v2/guards/spec-template-enforcement-guard.sh +1 -1
  90. package/plugins/specweave/hooks/v2/handlers/ac-sync-dispatcher.sh +25 -6
  91. package/plugins/specweave/hooks/v2/handlers/universal-auto-create-dispatcher.sh +21 -3
  92. package/plugins/specweave/hooks/v2/lib/check-provider-enabled.sh +52 -0
  93. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +2 -2
  94. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  95. package/plugins/specweave/skills/auto/SKILL.md +35 -0
  96. package/plugins/specweave/skills/do/SKILL.md +2 -2
  97. package/plugins/specweave/skills/done/SKILL.md +1 -1
  98. package/plugins/specweave/skills/framework/SKILL.md +4 -4
  99. package/plugins/specweave/skills/increment/SKILL.md +192 -25
  100. package/plugins/specweave/skills/next/SKILL.md +36 -630
  101. package/plugins/specweave/skills/plan/SKILL.md +37 -0
  102. package/plugins/specweave/skills/pm/phases/00-deep-interview.md +2 -2
  103. package/plugins/specweave/skills/progress-sync/SKILL.md +7 -25
  104. package/plugins/specweave/skills/spec-generator/SKILL.md +44 -626
  105. package/plugins/specweave/skills/tdd-green/SKILL.md +10 -798
  106. package/plugins/specweave/skills/tdd-red/SKILL.md +8 -136
  107. package/plugins/specweave/skills/tdd-refactor/SKILL.md +15 -147
  108. package/plugins/specweave/skills/team-lead/SKILL.md +1 -1
  109. package/plugins/specweave-github/hooks/github-auto-create-handler.sh +23 -5
  110. package/src/templates/AGENTS.md.template +11 -11
  111. package/src/templates/CLAUDE.md.template +1 -1
  112. package/dist/dashboard/assets/index-DdtF4K1G.css +0 -1
  113. package/dist/dashboard/assets/index-cZA6rz8s.js +0 -11
  114. package/plugins/specweave/commands/api-docs.md +0 -672
  115. package/plugins/specweave/commands/check-hooks.md +0 -241
  116. package/plugins/specweave/commands/embed-acs.md +0 -445
  117. package/plugins/specweave/commands/external.md +0 -145
  118. package/plugins/specweave/commands/import-docs.md +0 -212
  119. package/plugins/specweave/commands/migrate-config.md +0 -104
  120. package/plugins/specweave/commands/notifications.md +0 -94
  121. package/plugins/specweave/commands/plugin-validator.md +0 -429
  122. package/plugins/specweave/commands/revert-wip-limit.md +0 -82
  123. package/plugins/specweave/commands/sync-acs.md +0 -342
  124. package/plugins/specweave/commands/sync-specs.md +0 -339
  125. package/plugins/specweave/commands/sync-tasks.md +0 -255
  126. package/plugins/specweave/commands/update-scope.md +0 -351
  127. package/plugins/specweave/commands/validate-features.md +0 -207
  128. package/plugins/specweave/skills/archive-increments/SKILL.md +0 -209
  129. package/plugins/specweave/skills/code-review/SKILL.md +0 -598
  130. package/plugins/specweave/skills/increment-planner/SKILL.md +0 -238
  131. package/plugins/specweave/skills/increment-work-router/SKILL.md +0 -562
  132. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +0 -423
  133. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +0 -542
  134. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +0 -245
  135. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +0 -228
  136. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +0 -301
@@ -77,6 +77,43 @@ Generate `plan.md` and `tasks.md` for an increment using Architect Agent and tes
77
77
  - PLANNING → ACTIVE transition (tasks.md now exists)
78
78
  - Update lastUpdated timestamp
79
79
 
80
+ 6. **Execution Strategy Recommendation** (MANDATORY):
81
+ After generating tasks.md, analyze complexity and output a recommendation:
82
+
83
+ **6a. Count pending tasks** in the generated tasks.md (count `[ ]` markers)
84
+
85
+ **6b. Detect domains** from file paths and task descriptions:
86
+ - Frontend: `src/components/`, `src/pages/`, `src/hooks/`, `src/styles/`, `.tsx`, `.css`, React/Vue/Angular keywords
87
+ - Backend: `src/api/`, `src/services/`, `src/middleware/`, `src/routes/`, Express/Fastify/NestJS keywords
88
+ - Database: `prisma/`, `src/db/`, `migrations/`, `schema`, SQL/Prisma keywords
89
+ - DevOps: `Dockerfile`, `.github/`, `k8s/`, `terraform/`, CI/CD keywords
90
+ - Testing: `tests/`, `e2e/`, `.test.`, `.spec.`, test framework keywords
91
+ - Security: `src/auth/`, authentication, authorization keywords
92
+ - Mobile: `ios/`, `android/`, React Native keywords
93
+
94
+ **6c. Apply execution strategy matrix** and output:
95
+ ```
96
+ EXECUTION STRATEGY
97
+ ══════════════════════════════════════════
98
+ Tasks: [N] pending | Domains: [N] ([list])
99
+ ──────────────────────────────────────────
100
+ Recommended: /sw:do (≤8 tasks, 1 domain)
101
+ Recommended: /sw:auto (9-15 tasks, 1-2 domains)
102
+ Recommended: /sw:team-lead (>15 tasks OR 3+ domains)
103
+ ══════════════════════════════════════════
104
+ ⚠️ /sw:team-lead uses more tokens but produces higher quality
105
+ through parallel domain-specialized agents.
106
+
107
+ Next: /sw:team-lead [ID] | /sw:auto [ID] | /sw:do [ID]
108
+ ```
109
+
110
+ Show ONLY the matching recommendation line (not all three).
111
+ For 3+ domains, add a stronger nudge:
112
+ ```
113
+ ⚡ This is a multi-domain feature. /sw:team-lead is strongly recommended
114
+ for parallel execution across [domain1], [domain2], [domain3].
115
+ ```
116
+
80
117
  ## Options
81
118
 
82
119
  - `--force`: Overwrite existing plan.md/tasks.md
@@ -13,7 +13,7 @@ The gate instructs the LLM to **assess prompt completeness** before deciding whe
13
13
  **How it works:**
14
14
  - Gate fires on every prompt, accumulating context across messages
15
15
  - LLM evaluates technical signals (stack, integrations, auth, deployment) AND product signals (users, flows, business model)
16
- - If the user's prompt is comprehensive enough for the detected complexity → skip interview, proceed to `sw:increment-planner`
16
+ - If the user's prompt is comprehensive enough for the detected complexity → skip interview, proceed to `sw:increment`
17
17
  - If gaps exist → ask 2-5 targeted questions about what's missing (NOT a full interview)
18
18
 
19
19
  **As PM skill, your role when gate is active:**
@@ -45,7 +45,7 @@ When `enforcement: "strict"` is configured, spec.md creation is BLOCKED by `inte
45
45
 
46
46
  **To track category completion:**
47
47
 
48
- 1. **Initialize interview state** (done by increment-planner):
48
+ 1. **Initialize interview state** (done by increment skill):
49
49
  ```bash
50
50
  mkdir -p .specweave/state
51
51
  echo '{"incrementId":"XXXX-name","startedAt":"'$(date -Iseconds)'","coveredCategories":{}}' > .specweave/state/interview-XXXX-name.json
@@ -70,9 +70,7 @@ tasks.md → spec.md ACs → living docs → AUTO-CREATE external issues → syn
70
70
 
71
71
  ### ❌ Don't use when:
72
72
 
73
- 1. **Only want to sync ACs**: Use `/sw:sync-acs` instead (faster, more targeted)
74
- 2. **Only want to sync docs**: Use `/sw:sync-specs` instead
75
- 3. **Only want to sync GitHub (issue already exists)**: Use `/sw-github:sync` instead
73
+ 1. **Only want to sync GitHub (issue already exists)**: Use `/sw-github:sync` instead
76
74
  4. **Increment not started**: No tasks to sync yet
77
75
  5. **Don't want auto-create**: Use `--no-create` flag or manual commands
78
76
 
@@ -236,15 +234,12 @@ Run without --dry-run to execute sync.
236
234
 
237
235
  | Command | Scope | Auto-Create? | When to Use |
238
236
  |---------|-------|--------------|-------------|
239
- | `/sw:sync-acs` | Tasks → ACs only | ❌ | Quick AC update |
240
- | `/sw:sync-specs` | Spec → Docs only | ❌ | After spec changes |
241
237
  | `/sw-github:create` | Create GitHub issue | ✅ | Manual issue creation |
242
238
  | `/sw-github:sync` | Docs → GitHub only | ❌ | GitHub-only sync (issue must exist) |
243
239
  | `/sw:sync-progress` | **Tasks → Docs → Create → Sync** | ✅ | **Complete sync** ✅ (RECOMMENDED!) |
244
240
 
245
241
  **Rule of thumb**:
246
242
  - Need **complete sync** (just works) → Use `/sw:sync-progress` ✅
247
- - Need **targeted sync** → Use specific command (`sync-acs`, `sync-specs`)
248
243
  - Need **sync only** (no auto-create) → Use `/sw:sync-progress --no-create`
249
244
 
250
245
  ---
@@ -329,10 +324,7 @@ The command checks `.specweave/config.json` for:
329
324
 
330
325
  **Fix**:
331
326
  ```bash
332
- # Embed ACs from living docs into spec.md
333
- /sw:embed-acs 0053
334
-
335
- # Then retry sync
327
+ # Manually add ACs to spec.md, then retry sync
336
328
  /sw:sync-progress 0053
337
329
  ```
338
330
 
@@ -411,10 +403,9 @@ The command checks `.specweave/config.json` for:
411
403
  ```
412
404
  Problem: Manual multi-step sync is error-prone
413
405
  1. Update spec.md ACs manually
414
- 2. Run /sw:sync-specs
415
- 3. Run /sw-github:sync
416
- 4. Run /sw:update-status
417
- 5. Check each system for correctness
406
+ 2. Sync living docs
407
+ 3. Sync GitHub/JIRA/ADO
408
+ 4. Check each system for correctness
418
409
 
419
410
  Solution: Single command orchestrates all steps
420
411
  /sw:sync-progress → Does all 4 steps automatically
@@ -431,21 +422,12 @@ Solution: Single command orchestrates all steps
431
422
 
432
423
  ## Background
433
424
 
434
- Before this command, users had to manually:
435
- 1. Run `/sw:sync-acs`
436
- 2. Run `/sw:sync-specs`
437
- 3. Run `/sw-github:sync`
438
- 4. Run `/sw:update-status`
439
-
440
- Now: **One command does all 4 steps** ✅
425
+ Before this command, users had to manually sync ACs, docs, and external tools separately. Now: **One command does everything** ✅
441
426
 
442
427
  ---
443
428
 
444
429
  ## Related Commands
445
430
 
446
- - `/sw:sync-acs` - Sync tasks → ACs only
447
- - `/sw:sync-specs` - Sync spec → living docs only
448
- - `/sw:sync-tasks` - Sync external → tasks (bidirectional)
449
431
  - `/sw-github:sync` - Sync docs → GitHub only
450
432
  - `/sw-jira:sync` - Sync docs → JIRA only
451
433
  - `/sw-ado:sync` - Sync docs → ADO only
@@ -457,7 +439,7 @@ Now: **One command does all 4 steps** ✅
457
439
 
458
440
  Ask me:
459
441
  - "How do I sync progress to GitHub?"
460
- - "What's the difference between sync-progress and sync-acs?"
442
+ - "What does sync-progress do exactly?"
461
443
  - "How do I preview sync without executing?"
462
444
  - "Why did my GitHub sync fail?"
463
445
  - "When should I use --dry-run?"