specweave 0.28.11 → 0.28.14

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 (102) hide show
  1. package/dist/src/cli/commands/archive.d.ts +0 -1
  2. package/dist/src/cli/commands/archive.d.ts.map +1 -1
  3. package/dist/src/cli/commands/archive.js +1 -4
  4. package/dist/src/cli/commands/archive.js.map +1 -1
  5. package/dist/src/cli/commands/init.d.ts.map +1 -1
  6. package/dist/src/cli/commands/init.js +29 -18
  7. package/dist/src/cli/commands/init.js.map +1 -1
  8. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  9. package/dist/src/cli/helpers/init/external-import.js +83 -10
  10. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  11. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  12. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  13. package/dist/src/cli/helpers/init/index.js +2 -0
  14. package/dist/src/cli/helpers/init/index.js.map +1 -1
  15. package/dist/src/cli/helpers/init/language-selection.d.ts +40 -0
  16. package/dist/src/cli/helpers/init/language-selection.d.ts.map +1 -0
  17. package/dist/src/cli/helpers/init/language-selection.js +281 -0
  18. package/dist/src/cli/helpers/init/language-selection.js.map +1 -0
  19. package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
  20. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  21. package/dist/src/cli/helpers/init/repository-setup.js +156 -12
  22. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  23. package/dist/src/cli/helpers/init/translation-config.d.ts +10 -2
  24. package/dist/src/cli/helpers/init/translation-config.d.ts.map +1 -1
  25. package/dist/src/cli/helpers/init/translation-config.js +302 -81
  26. package/dist/src/cli/helpers/init/translation-config.js.map +1 -1
  27. package/dist/src/core/config/types.d.ts +30 -2
  28. package/dist/src/core/config/types.d.ts.map +1 -1
  29. package/dist/src/core/config/types.js.map +1 -1
  30. package/dist/src/core/feature-deleter/validator.d.ts +1 -0
  31. package/dist/src/core/feature-deleter/validator.d.ts.map +1 -1
  32. package/dist/src/core/feature-deleter/validator.js +8 -10
  33. package/dist/src/core/feature-deleter/validator.js.map +1 -1
  34. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
  35. package/dist/src/core/increment/increment-archiver.js +12 -5
  36. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  37. package/dist/src/core/living-docs/feature-archiver.d.ts +25 -3
  38. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
  39. package/dist/src/core/living-docs/feature-archiver.js +131 -129
  40. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  41. package/dist/src/core/living-docs/feature-consistency-validator.d.ts +23 -22
  42. package/dist/src/core/living-docs/feature-consistency-validator.d.ts.map +1 -1
  43. package/dist/src/core/living-docs/feature-consistency-validator.js +68 -150
  44. package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
  45. package/dist/src/core/living-docs/feature-id-manager.d.ts +5 -1
  46. package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -1
  47. package/dist/src/core/living-docs/feature-id-manager.js +43 -23
  48. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
  49. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +21 -12
  50. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
  51. package/dist/src/core/living-docs/hierarchy-mapper.js +89 -70
  52. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  53. package/dist/src/core/living-docs/living-docs-sync.d.ts +10 -11
  54. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  55. package/dist/src/core/living-docs/living-docs-sync.js +24 -56
  56. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  57. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +1 -1
  58. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -1
  59. package/dist/src/core/repo-structure/repo-bulk-discovery.js +168 -126
  60. package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -1
  61. package/dist/src/core/spec-detector.js +2 -2
  62. package/dist/src/core/spec-detector.js.map +1 -1
  63. package/dist/src/importers/duplicate-detector.d.ts +6 -0
  64. package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
  65. package/dist/src/importers/duplicate-detector.js +8 -2
  66. package/dist/src/importers/duplicate-detector.js.map +1 -1
  67. package/dist/src/importers/external-importer.d.ts +6 -0
  68. package/dist/src/importers/external-importer.d.ts.map +1 -1
  69. package/dist/src/importers/import-coordinator.d.ts +38 -2
  70. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  71. package/dist/src/importers/import-coordinator.js +142 -5
  72. package/dist/src/importers/import-coordinator.js.map +1 -1
  73. package/dist/src/importers/item-converter.d.ts +39 -1
  74. package/dist/src/importers/item-converter.d.ts.map +1 -1
  75. package/dist/src/importers/item-converter.js +193 -24
  76. package/dist/src/importers/item-converter.js.map +1 -1
  77. package/dist/src/living-docs/fs-id-allocator.d.ts +8 -2
  78. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  79. package/dist/src/living-docs/fs-id-allocator.js +18 -10
  80. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  81. package/dist/src/sync/sync-coordinator.d.ts +5 -0
  82. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  83. package/dist/src/sync/sync-coordinator.js +104 -6
  84. package/dist/src/sync/sync-coordinator.js.map +1 -1
  85. package/dist/src/utils/project-detection.d.ts +13 -10
  86. package/dist/src/utils/project-detection.d.ts.map +1 -1
  87. package/dist/src/utils/project-detection.js +26 -11
  88. package/dist/src/utils/project-detection.js.map +1 -1
  89. package/package.json +1 -1
  90. package/plugins/specweave/agents/pm/AGENT.md +41 -4
  91. package/plugins/specweave/agents/test-aware-planner/AGENT.md +54 -0
  92. package/plugins/specweave/commands/specweave-increment.md +30 -0
  93. package/plugins/specweave/commands/specweave-save.md +838 -0
  94. package/plugins/specweave/hooks/lib/update-status-line.sh +9 -1
  95. package/plugins/specweave/hooks/post-increment-completion.sh +4 -3
  96. package/plugins/specweave/hooks/post-metadata-change.sh +18 -4
  97. package/plugins/specweave/skills/increment-planner/SKILL.md +252 -2
  98. package/plugins/specweave/skills/spec-generator/SKILL.md +163 -0
  99. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +79 -12
  100. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
  101. package/plugins/specweave-release/commands/specweave-release-npm.md +14 -22
  102. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +9 -0
@@ -2,10 +2,11 @@
2
2
  * Project ID Auto-Detection Utilities
3
3
  *
4
4
  * Detects project ID from (priority order):
5
- * 1. Active sync profile ID (for multi-profile monorepos)
6
- * 2. Git remote (GitHub repo name)
7
- * 3. Sync configuration (JIRA project key, ADO project name)
8
- * 4. User prompt (fallback)
5
+ * 1. multiProject.activeProject (explicit project folder config)
6
+ * 2. sync.activeProfile (ONLY for legacy umbrella repos without multiProject)
7
+ * 3. Git remote (GitHub repo name)
8
+ * 4. Sync configuration (JIRA project key, ADO project name)
9
+ * 5. User prompt (fallback)
9
10
  *
10
11
  * Also provides repo name parsing for domain context understanding.
11
12
  */
@@ -76,21 +77,35 @@ export function parseRepoName(repoName) {
76
77
  };
77
78
  }
78
79
  /**
79
- * Detect active profile ID from sync configuration
80
+ * Detect active project ID from configuration
80
81
  *
81
- * For multi-profile monorepos, the active profile ID should be used
82
- * as the project folder name (e.g., "be", "fe", "shared")
82
+ * Priority:
83
+ * 1. multiProject.activeProject - explicit project folder configuration
84
+ * 2. sync.activeProfile - ONLY for umbrella repos where profile maps to folder
85
+ * (skipped if profile name differs from multiProject.activeProject)
83
86
  *
84
87
  * @param projectRoot - Project root directory
85
- * @returns Active profile ID or null if not in multi-profile mode
88
+ * @returns Active project ID or null if not configured
86
89
  */
87
90
  export function detectActiveProfileId(projectRoot) {
88
91
  try {
89
92
  const configManager = new ConfigManager(projectRoot);
90
93
  const config = configManager.load();
91
- // Multi-profile mode: use active profile ID as folder name
94
+ // Priority 1: Explicit multiProject.activeProject (most reliable)
95
+ if (config.multiProject?.activeProject && config.multiProject.activeProject !== 'default') {
96
+ return config.multiProject.activeProject.toLowerCase();
97
+ }
98
+ // Priority 2: sync.activeProfile ONLY for umbrella repos
99
+ // where profile IS a folder (like "be", "fe", "shared")
100
+ // Skip if multiProject is configured (activeProfile is just a sync config name)
92
101
  if (config.sync?.activeProfile && config.sync?.profiles) {
93
102
  const activeProfileId = config.sync.activeProfile;
103
+ // If multiProject is enabled, sync.activeProfile is just a connection name
104
+ // NOT a project folder - skip it
105
+ if (config.multiProject?.enabled) {
106
+ return null;
107
+ }
108
+ // Legacy umbrella repos: profile maps to folder
94
109
  if (config.sync.profiles[activeProfileId]) {
95
110
  return activeProfileId.toLowerCase();
96
111
  }
@@ -260,7 +275,7 @@ export async function promptForProjectId(suggestedId) {
260
275
  * @returns Detected project ID or "default"
261
276
  *
262
277
  * @example
263
- * // Multi-profile monorepo with activeProfile: "be"
278
+ * // Multi-project setup with activeProject: "be"
264
279
  * autoDetectProjectIdSync('/path/to/sw-qr-menu')
265
280
  * // Returns: "be" (profile ID, NOT "sw-qr-menu-be")
266
281
  *
@@ -318,7 +333,7 @@ export function autoDetectProjectIdSync(projectRoot, options = {}) {
318
333
  * @returns Detected or prompted project ID
319
334
  *
320
335
  * @example
321
- * // Multi-profile monorepo with activeProfile: "be"
336
+ * // Multi-project setup with activeProject: "be"
322
337
  * await autoDetectProjectId('/path/to/sw-qr-menu')
323
338
  * // Output: "✅ Detected active profile: be"
324
339
  * // Returns: "be"
@@ -1 +1 @@
1
- {"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../../src/utils/project-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../../src/utils/project-detection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.28.11",
3
+ "version": "0.28.14",
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",
@@ -439,7 +439,41 @@ graph TD
439
439
 
440
440
  ## 🔀 Multi-Repo Project-Scoped User Stories (v0.28.8+)
441
441
 
442
- **CRITICAL**: When user describes a multi-repo architecture, you MUST generate **project-scoped user stories** with prefixes!
442
+ **⚠️ CRITICAL - MANDATORY CHECK BEFORE GENERATING ANY SPEC.MD!**
443
+
444
+ ### STEP 0: Multi-Project Detection (RUN FIRST!)
445
+
446
+ **YOU MUST CHECK THIS BEFORE WRITING ANY USER STORIES:**
447
+
448
+ ```bash
449
+ # 1. Check config.json for umbrella mode
450
+ cat .specweave/config.json | jq '.umbrella.enabled'
451
+
452
+ # 2. Check for childRepos
453
+ cat .specweave/config.json | jq '.umbrella.childRepos[]'
454
+
455
+ # 3. Check for project folders
456
+ ls -la .specweave/docs/internal/specs/
457
+ ```
458
+
459
+ **Decision Flow:**
460
+ ```
461
+ Is umbrella.enabled: true?
462
+ → YES → MUST use project-scoped user stories (US-FE-001, US-BE-001)
463
+ → NO → Check for multiple project folders in specs/
464
+ → YES → MUST use project-scoped user stories
465
+ → NO → Use standard user stories (US-001, US-002)
466
+ ```
467
+
468
+ **If multi-project detected, NEVER generate:**
469
+ - ❌ `US-001`, `US-002` (generic format)
470
+ - ❌ `AC-US1-01`, `AC-US2-01` (generic AC format)
471
+
472
+ **ALWAYS generate:**
473
+ - ✅ `US-FE-001`, `US-BE-001`, `US-SHARED-001` (project-scoped)
474
+ - ✅ `AC-FE-US1-01`, `AC-BE-US1-01` (project-scoped ACs)
475
+
476
+ ---
443
477
 
444
478
  ### Detection Patterns
445
479
 
@@ -552,14 +586,17 @@ If `.specweave/config.json` has umbrella config:
552
586
  "umbrella": {
553
587
  "enabled": true,
554
588
  "childRepos": [
555
- { "id": "fe", "prefix": "FE" },
556
- { "id": "be", "prefix": "BE" },
557
- { "id": "shared", "prefix": "SHARED" }
589
+ { "id": "sw-app-fe", "prefix": "FE" },
590
+ { "id": "sw-app-be", "prefix": "BE" },
591
+ { "id": "sw-app-shared", "prefix": "SHARED" }
558
592
  ]
559
593
  }
560
594
  }
561
595
  ```
562
596
 
597
+ **ID Strategy**: `id` MUST match repo name (e.g., `sw-app-fe`), NOT arbitrary abbreviations (`fe`).
598
+ The `prefix` (for user stories like `US-FE-001`) can be short.
599
+
563
600
  Use these prefixes for user stories. If no config, infer from user prompt.
564
601
 
565
602
  ### Why This Matters
@@ -125,6 +125,60 @@ The test-aware-planner agent is responsible for generating `tasks.md` with **emb
125
125
 
126
126
  **CRITICAL**: v0.23.0+ requires hierarchical structure grouped by User Story.
127
127
 
128
+ ### ⚠️ Multi-Project Mode Detection (v0.29.0+)
129
+
130
+ **BEFORE generating tasks, check for multi-project mode:**
131
+
132
+ ```bash
133
+ # Check if multi-project mode is active
134
+ cat .specweave/config.json | jq '.umbrella.enabled'
135
+ ```
136
+
137
+ **If multi-project detected:**
138
+ - User stories will have prefixes: `US-FE-001`, `US-BE-001`, `US-SHARED-001`
139
+ - AC-IDs will have prefixes: `AC-FE-US1-01`, `AC-BE-US1-01`
140
+ - **Match the format from spec.md exactly!**
141
+
142
+ ### Single-Project Format (umbrella.enabled: false)
143
+
144
+ ```markdown
145
+ ## User Story: US-001 - User Story Title
146
+
147
+ **Linked ACs**: AC-US1-01, AC-US1-02, AC-US1-03
148
+ **Tasks**: X total, 0 completed
149
+ ```
150
+
151
+ ### Multi-Project Format (umbrella.enabled: true)
152
+
153
+ ```markdown
154
+ ## Phase 1: Shared Library (sw-app-shared)
155
+
156
+ ### User Story: US-SHARED-001 - Common Types & Validators
157
+
158
+ **Linked ACs**: AC-SHARED-US1-01, AC-SHARED-US1-02
159
+ **Tasks**: X total, 0 completed
160
+
161
+ ---
162
+
163
+ ## Phase 2: Backend (sw-app-be)
164
+
165
+ ### User Story: US-BE-001 - API Endpoints
166
+
167
+ **Linked ACs**: AC-BE-US1-01, AC-BE-US1-02
168
+ **Tasks**: X total, 0 completed
169
+
170
+ ---
171
+
172
+ ## Phase 3: Frontend (sw-app-fe)
173
+
174
+ ### User Story: US-FE-001 - UI Components
175
+
176
+ **Linked ACs**: AC-FE-US1-01, AC-FE-US1-02
177
+ **Tasks**: X total, 0 completed
178
+ ```
179
+
180
+ ---
181
+
128
182
  Each task in `tasks.md` follows this format:
129
183
 
130
184
  ```markdown
@@ -372,6 +372,36 @@ Proceeding with hotfix 0006...
372
372
  - Find highest number across both directories (e.g., 032)
373
373
  - Next increment: 033
374
374
 
375
+ ### Step 1.5: Detect Multi-Project Mode (CRITICAL!)
376
+
377
+ **⚠️ MANDATORY CHECK before generating spec.md:**
378
+
379
+ ```bash
380
+ # Check for umbrella configuration
381
+ UMBRELLA_ENABLED=$(cat .specweave/config.json 2>/dev/null | jq -r '.umbrella.enabled // false')
382
+ CHILD_REPOS=$(cat .specweave/config.json 2>/dev/null | jq -r '.umbrella.childRepos[]?.id // empty' | tr '\n' ',')
383
+ PROJECT_FOLDERS=$(ls -1 .specweave/docs/internal/specs/ 2>/dev/null | grep -v "^_" | head -5)
384
+ ```
385
+
386
+ **If multi-project detected:**
387
+ ```
388
+ 📁 Multi-Project Mode Detected!
389
+
390
+ Child Repos:
391
+ • FE: sw-thumbnail-ab-fe
392
+ • BE: sw-thumbnail-ab-be
393
+ • SHARED: sw-thumbnail-ab-shared
394
+
395
+ User stories will be generated with project prefixes:
396
+ • US-FE-001, US-FE-002 (Frontend stories)
397
+ • US-BE-001, US-BE-002 (Backend stories)
398
+ • US-SHARED-001 (Shared library stories)
399
+
400
+ Each story will include "Related Repo" field for clarity.
401
+ ```
402
+
403
+ **Pass this context to increment-planner skill!**
404
+
375
405
  ### Step 2: Detect tech stack (CRITICAL - framework-agnostic)
376
406
  - Settings auto-detected
377
407
  - If not found, detect from project files: