specweave 1.0.307 → 1.0.308

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 (63) hide show
  1. package/README.md +23 -0
  2. package/bin/specweave.js +2 -0
  3. package/dist/dashboard/assets/index-8JtB0x7k.js +11 -0
  4. package/dist/dashboard/assets/index-BkMbqwTc.css +1 -0
  5. package/dist/dashboard/index.html +2 -2
  6. package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
  7. package/dist/src/cli/commands/create-increment.js +3 -0
  8. package/dist/src/cli/commands/create-increment.js.map +1 -1
  9. package/dist/src/cli/commands/migrate-to-umbrella.d.ts.map +1 -1
  10. package/dist/src/cli/commands/migrate-to-umbrella.js +90 -0
  11. package/dist/src/cli/commands/migrate-to-umbrella.js.map +1 -1
  12. package/dist/src/core/fabric/security-scanner.d.ts.map +1 -1
  13. package/dist/src/core/fabric/security-scanner.js +35 -17
  14. package/dist/src/core/fabric/security-scanner.js.map +1 -1
  15. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +67 -0
  16. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -0
  17. package/dist/src/core/hooks/LifecycleHookDispatcher.js +156 -0
  18. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -0
  19. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  20. package/dist/src/core/increment/status-commands.js +11 -0
  21. package/dist/src/core/increment/status-commands.js.map +1 -1
  22. package/dist/src/core/migration/spec-project-mapper.d.ts +51 -0
  23. package/dist/src/core/migration/spec-project-mapper.d.ts.map +1 -0
  24. package/dist/src/core/migration/spec-project-mapper.js +299 -0
  25. package/dist/src/core/migration/spec-project-mapper.js.map +1 -0
  26. package/dist/src/core/migration/types.d.ts +2 -0
  27. package/dist/src/core/migration/types.d.ts.map +1 -1
  28. package/dist/src/dashboard/server/command-runner.d.ts +4 -2
  29. package/dist/src/dashboard/server/command-runner.d.ts.map +1 -1
  30. package/dist/src/dashboard/server/command-runner.js +3 -3
  31. package/dist/src/dashboard/server/command-runner.js.map +1 -1
  32. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  33. package/dist/src/dashboard/server/dashboard-server.js +70 -23
  34. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  35. package/dist/src/dashboard/server/data/cost-aggregator.d.ts +7 -4
  36. package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -1
  37. package/dist/src/dashboard/server/data/cost-aggregator.js +67 -30
  38. package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -1
  39. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts +8 -2
  40. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts.map +1 -1
  41. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +72 -6
  42. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  43. package/dist/src/dashboard/server/router.d.ts.map +1 -1
  44. package/dist/src/dashboard/server/router.js +1 -0
  45. package/dist/src/dashboard/server/router.js.map +1 -1
  46. package/dist/src/dashboard/types.d.ts +26 -6
  47. package/dist/src/dashboard/types.d.ts.map +1 -1
  48. package/dist/src/sync/github-reconciler.d.ts +2 -1
  49. package/dist/src/sync/github-reconciler.d.ts.map +1 -1
  50. package/dist/src/sync/github-reconciler.js +13 -7
  51. package/dist/src/sync/github-reconciler.js.map +1 -1
  52. package/dist/src/sync/sync-metadata.d.ts +9 -0
  53. package/dist/src/sync/sync-metadata.d.ts.map +1 -1
  54. package/dist/src/sync/sync-metadata.js +24 -0
  55. package/dist/src/sync/sync-metadata.js.map +1 -1
  56. package/package.json +1 -1
  57. package/plugins/specweave/hooks/user-prompt-submit.sh +10 -4
  58. package/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +2 -1
  59. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +13 -7
  60. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  61. package/plugins/specweave/skills/done/SKILL.md +0 -5
  62. package/dist/dashboard/assets/index-BGpS5omm.css +0 -1
  63. package/dist/dashboard/assets/index-BvNL0nTV.js +0 -11
package/README.md CHANGED
@@ -292,6 +292,29 @@ Every SpecWeave skill can be submitted to [verified-skill.com](https://verified-
292
292
 
293
293
  ---
294
294
 
295
+ ## Dashboard & Analytics
296
+
297
+ SpecWeave includes a built-in web dashboard for monitoring your projects. Launch it with:
298
+
299
+ ```bash
300
+ specweave dashboard
301
+ ```
302
+
303
+ **What you get:**
304
+
305
+ - **Overview** — increment progress, task completion, acceptance criteria status at a glance
306
+ - **Analytics** — command invocations, skill activations, agent spawns tracked locally in JSONL. Captures implicit calls too (team-lead spawning agents, agents calling `/sw:do` internally). Daily breakdowns, success rates, and top-used commands/skills
307
+ - **Multi-project support** — switch between projects via `?project=` query param. All views are project-scoped
308
+ - **Cost tracking** — token usage and cost estimates per increment
309
+ - **Live updates** — SSE-powered real-time refresh as increments and tasks change
310
+ - **Error resilience** — ErrorBoundary catches page crashes without killing the entire SPA
311
+
312
+ All analytics data stays local in `.specweave/state/analytics/events.jsonl` — nothing is sent externally.
313
+
314
+ **[Analytics dashboard guide](https://spec-weave.com/docs/guides/analytics-dashboard)**
315
+
316
+ ---
317
+
295
318
  ## Built With SpecWeave
296
319
 
297
320
  > SpecWeave builds itself. Every feature, bug fix, and release is spec-driven.
package/bin/specweave.js CHANGED
@@ -1318,6 +1318,7 @@ program
1318
1318
  .option('--org <name>', 'GitHub organization name')
1319
1319
  .option('--rollback', 'Rollback a previous migration')
1320
1320
  .option('--add-repo <name>', 'Add a new repo to existing umbrella (name or org/name)')
1321
+ .option('--reorganize-specs', 'Reorganize spec folders into per-project directories')
1321
1322
  .option('--yes', 'Skip confirmation prompts')
1322
1323
  .action(async (opts) => {
1323
1324
  const { migrateToUmbrellaCommand } = await import('../dist/src/cli/commands/migrate-to-umbrella.js');
@@ -1327,6 +1328,7 @@ program
1327
1328
  orgName: opts.org,
1328
1329
  rollback: opts.rollback,
1329
1330
  addRepo: opts.addRepo,
1331
+ reorganizeSpecs: opts.reorganizeSpecs,
1330
1332
  yes: opts.yes,
1331
1333
  });
1332
1334
  });