specweave 0.28.17 → 0.28.20

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 (204) hide show
  1. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  2. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  3. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  4. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  5. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +16 -0
  6. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  7. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +63 -3
  8. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  9. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +12 -3
  10. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -1
  11. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +37 -3
  12. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -1
  13. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +6 -11
  14. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  15. package/dist/plugins/specweave-github/lib/github-feature-sync.js +6 -11
  16. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  17. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +21 -0
  18. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -0
  19. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +445 -0
  20. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -0
  21. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +10 -0
  22. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -1
  23. package/dist/plugins/specweave-github/lib/github-status-sync.js +40 -2
  24. package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -1
  25. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +94 -0
  26. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -0
  27. package/dist/plugins/specweave-github/lib/increment-issue-builder.js +369 -0
  28. package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -0
  29. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  30. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  31. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  32. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  33. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +12 -0
  34. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  35. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +57 -5
  36. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  37. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +5 -1
  38. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  39. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +12 -4
  40. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  41. package/dist/src/cli/commands/import-external.d.ts.map +1 -1
  42. package/dist/src/cli/commands/import-external.js +12 -7
  43. package/dist/src/cli/commands/import-external.js.map +1 -1
  44. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  45. package/dist/src/cli/helpers/init/external-import.js +308 -36
  46. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  47. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts +115 -0
  48. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts.map +1 -0
  49. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js +590 -0
  50. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js.map +1 -0
  51. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts +65 -0
  52. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts.map +1 -0
  53. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +278 -0
  54. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -0
  55. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts +64 -0
  56. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts.map +1 -0
  57. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js +251 -0
  58. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js.map +1 -0
  59. package/dist/src/config/types.d.ts +6 -6
  60. package/dist/src/core/ac-test-validator-cli.js +4 -1
  61. package/dist/src/core/ac-test-validator-cli.js.map +1 -1
  62. package/dist/src/core/ac-test-validator.d.ts.map +1 -1
  63. package/dist/src/core/ac-test-validator.js +4 -1
  64. package/dist/src/core/ac-test-validator.js.map +1 -1
  65. package/dist/src/core/background/index.d.ts +11 -0
  66. package/dist/src/core/background/index.d.ts.map +1 -0
  67. package/dist/src/core/background/index.js +11 -0
  68. package/dist/src/core/background/index.js.map +1 -0
  69. package/dist/src/core/background/job-manager.d.ts +65 -0
  70. package/dist/src/core/background/job-manager.d.ts.map +1 -0
  71. package/dist/src/core/background/job-manager.js +192 -0
  72. package/dist/src/core/background/job-manager.js.map +1 -0
  73. package/dist/src/core/background/types.d.ts +59 -0
  74. package/dist/src/core/background/types.d.ts.map +1 -0
  75. package/dist/src/core/background/types.js +8 -0
  76. package/dist/src/core/background/types.js.map +1 -0
  77. package/dist/src/core/repo-structure/multi-repo-configurator.d.ts +25 -0
  78. package/dist/src/core/repo-structure/multi-repo-configurator.d.ts.map +1 -0
  79. package/dist/src/core/repo-structure/multi-repo-configurator.js +614 -0
  80. package/dist/src/core/repo-structure/multi-repo-configurator.js.map +1 -0
  81. package/dist/src/core/repo-structure/repo-initializer.d.ts +40 -0
  82. package/dist/src/core/repo-structure/repo-initializer.d.ts.map +1 -0
  83. package/dist/src/core/repo-structure/repo-initializer.js +252 -0
  84. package/dist/src/core/repo-structure/repo-initializer.js.map +1 -0
  85. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +3 -37
  86. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  87. package/dist/src/core/repo-structure/repo-structure-manager.js +23 -803
  88. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  89. package/dist/src/core/types/increment-metadata.d.ts +75 -0
  90. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  91. package/dist/src/core/types/spec-metadata.d.ts +2 -0
  92. package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
  93. package/dist/src/core/types/sync-profile.d.ts +137 -5
  94. package/dist/src/core/types/sync-profile.d.ts.map +1 -1
  95. package/dist/src/core/types/sync-profile.js +63 -0
  96. package/dist/src/core/types/sync-profile.js.map +1 -1
  97. package/dist/src/importers/external-importer.d.ts +25 -0
  98. package/dist/src/importers/external-importer.d.ts.map +1 -1
  99. package/dist/src/importers/github-importer.d.ts.map +1 -1
  100. package/dist/src/importers/github-importer.js +5 -3
  101. package/dist/src/importers/github-importer.js.map +1 -1
  102. package/dist/src/importers/import-coordinator.d.ts +20 -0
  103. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  104. package/dist/src/importers/import-coordinator.js.map +1 -1
  105. package/dist/src/importers/item-converter.d.ts +51 -0
  106. package/dist/src/importers/item-converter.d.ts.map +1 -1
  107. package/dist/src/importers/item-converter.js +39 -12
  108. package/dist/src/importers/item-converter.js.map +1 -1
  109. package/dist/src/init/architecture/types.d.ts +2 -2
  110. package/dist/src/init/compliance/types.d.ts +1 -1
  111. package/dist/src/init/repo/types.d.ts +1 -1
  112. package/dist/src/living-docs/fs-id-allocator.d.ts +72 -3
  113. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  114. package/dist/src/living-docs/fs-id-allocator.js +142 -16
  115. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  116. package/dist/src/locales/de/cli.json +14 -0
  117. package/dist/src/locales/es/cli.json +14 -0
  118. package/dist/src/locales/fr/cli.json +14 -0
  119. package/dist/src/locales/ja/cli.json +14 -0
  120. package/dist/src/locales/ko/cli.json +14 -0
  121. package/dist/src/locales/pt/cli.json +14 -0
  122. package/dist/src/locales/ru/cli.json +14 -0
  123. package/dist/src/locales/zh/cli.json +14 -0
  124. package/dist/src/utils/chalk-fallback.d.ts +38 -0
  125. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  126. package/dist/src/utils/chalk-fallback.js +118 -0
  127. package/dist/src/utils/chalk-fallback.js.map +1 -0
  128. package/dist/src/utils/project-id-generator.d.ts +127 -0
  129. package/dist/src/utils/project-id-generator.d.ts.map +1 -0
  130. package/dist/src/utils/project-id-generator.js +228 -0
  131. package/dist/src/utils/project-id-generator.js.map +1 -0
  132. package/package.json +1 -1
  133. package/plugins/specweave/agents/pm/AGENT.md +202 -0
  134. package/plugins/specweave/commands/specweave-import-external.md +5 -3
  135. package/plugins/specweave/commands/specweave-jobs.md +160 -0
  136. package/plugins/specweave/commands/specweave-sync-docs.md +6 -2
  137. package/plugins/specweave/hooks/pre-task-completion.sh +35 -17
  138. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.d.ts +16 -0
  139. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js +121 -0
  140. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js.map +1 -0
  141. package/plugins/specweave/lib/vendor/core/ac-test-validator.d.ts +111 -0
  142. package/plugins/specweave/lib/vendor/core/ac-test-validator.js +295 -0
  143. package/plugins/specweave/lib/vendor/core/ac-test-validator.js.map +1 -0
  144. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +75 -0
  145. package/plugins/specweave/lib/vendor/utils/chalk-fallback.d.ts +38 -0
  146. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js +118 -0
  147. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js.map +1 -0
  148. package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +179 -0
  149. package/plugins/specweave/lib/vendor/utils/fs-native.js +319 -0
  150. package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -0
  151. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
  152. package/plugins/specweave/skills/docs-updater/SKILL.md +61 -0
  153. package/plugins/specweave/skills/increment-planner/SKILL.md +10 -335
  154. package/plugins/specweave/skills/increment-planner/templates/metadata.json +13 -0
  155. package/plugins/specweave/skills/increment-planner/templates/plan.md +50 -0
  156. package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +86 -0
  157. package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +50 -0
  158. package/plugins/specweave/skills/increment-planner/templates/tasks-multi-project.md +86 -0
  159. package/plugins/specweave/skills/increment-planner/templates/tasks-single-project.md +48 -0
  160. package/plugins/specweave-ado/commands/specweave-ado-import-areas.md +358 -0
  161. package/plugins/specweave-ado/lib/ado-spec-sync.js +59 -3
  162. package/plugins/specweave-ado/lib/ado-spec-sync.ts +72 -3
  163. package/plugins/specweave-ado/lib/ado-status-sync.js +35 -3
  164. package/plugins/specweave-ado/lib/ado-status-sync.ts +48 -4
  165. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +1 -0
  166. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +1 -0
  167. package/plugins/specweave-core/skills/code-quality/SKILL.md +1 -0
  168. package/plugins/specweave-core/skills/design-patterns/SKILL.md +1 -0
  169. package/plugins/specweave-core/skills/software-architecture/SKILL.md +1 -0
  170. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +14 -10
  171. package/plugins/specweave-github/commands/specweave-github-sync.md +57 -0
  172. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +74 -0
  173. package/plugins/specweave-github/lib/github-feature-sync.ts +6 -11
  174. package/plugins/specweave-github/lib/github-increment-sync-cli.js +456 -0
  175. package/plugins/specweave-github/lib/github-increment-sync-cli.ts +588 -0
  176. package/plugins/specweave-github/lib/github-status-sync.js +37 -1
  177. package/plugins/specweave-github/lib/github-status-sync.ts +60 -4
  178. package/plugins/specweave-github/lib/increment-issue-builder.js +389 -0
  179. package/plugins/specweave-github/lib/increment-issue-builder.ts +502 -0
  180. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +19 -24
  181. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +15 -23
  182. package/plugins/specweave-jira/commands/specweave-jira-import-boards.md +331 -0
  183. package/plugins/specweave-jira/lib/jira-spec-sync.js +53 -5
  184. package/plugins/specweave-jira/lib/jira-spec-sync.ts +87 -7
  185. package/plugins/specweave-jira/lib/jira-status-sync.js +9 -3
  186. package/plugins/specweave-jira/lib/jira-status-sync.ts +15 -6
  187. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +16 -20
  188. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +18 -19
  189. package/plugins/specweave-ml/skills/{ml-pipeline-workflow → mlops-dag-builder}/SKILL.md +18 -14
  190. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +111 -0
  191. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +1 -1
  192. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +10 -122
  193. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +0 -70
  194. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +0 -1
  195. package/dist/plugins/specweave-github/lib/epic-content-builder.js +0 -258
  196. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +0 -1
  197. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +0 -83
  198. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +0 -1
  199. package/dist/plugins/specweave-github/lib/github-epic-sync.js +0 -466
  200. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +0 -1
  201. package/plugins/specweave-github/lib/epic-content-builder.js +0 -265
  202. package/plugins/specweave-github/lib/epic-content-builder.ts +0 -376
  203. package/plugins/specweave-github/lib/github-epic-sync.js +0 -488
  204. package/plugins/specweave-github/lib/github-epic-sync.ts +0 -715
@@ -14,6 +14,8 @@ import { loadImportConfig } from '../../../config/import-config.js';
14
14
  import { selectRepositories } from '../github-repo-selector.js';
15
15
  import { detectAllConfigs } from './config-detection.js';
16
16
  import { getGitHubAuth } from '../../../utils/auth-helpers.js';
17
+ import { detectJiraStructure, confirmJiraMapping, detectAdoStructure, confirmAdoMapping, buildJiraCoordinatorConfig, buildAdoCoordinatorConfig, } from './jira-ado-auto-detect.js';
18
+ import { getJobManager } from '../../../core/background/index.js';
17
19
  /**
18
20
  * Get translated strings for external import
19
21
  */
@@ -247,7 +249,29 @@ export async function promptAndRunExternalImport(targetDir, isCI, language = 'en
247
249
  return emptyResult();
248
250
  }
249
251
  // Detect available external tools
250
- const { github, jira, ado, availableTools } = detectAllConfigs(targetDir);
252
+ let { github, jira, ado, availableTools } = detectAllConfigs(targetDir);
253
+ // CRITICAL FIX: Also check for existing sync profiles (from umbrella repo setup)
254
+ // In multi-repo mode, sync profiles are written BEFORE this function is called,
255
+ // but detectAllConfigs may not find GitHub remote in .git/config yet
256
+ const existingSyncProfiles = getExistingSyncProfiles(targetDir);
257
+ let hasGitHubProfiles = false;
258
+ if (existingSyncProfiles && existingSyncProfiles.length > 0) {
259
+ hasGitHubProfiles = true;
260
+ // Add GitHub to available tools if not already detected
261
+ if (!availableTools.includes('GitHub')) {
262
+ availableTools = [...availableTools, 'GitHub'];
263
+ }
264
+ }
265
+ // Also check for JIRA/ADO sync profiles in config.json
266
+ const syncProfileProviders = getSyncProfileProviders(targetDir);
267
+ for (const provider of syncProfileProviders) {
268
+ if (provider === 'jira' && !availableTools.includes('JIRA')) {
269
+ availableTools = [...availableTools, 'JIRA'];
270
+ }
271
+ if (provider === 'ado' && !availableTools.includes('Azure DevOps')) {
272
+ availableTools = [...availableTools, 'Azure DevOps'];
273
+ }
274
+ }
251
275
  // If no tools detected, skip import
252
276
  if (availableTools.length === 0) {
253
277
  return emptyResult();
@@ -274,13 +298,14 @@ export async function promptAndRunExternalImport(targetDir, isCI, language = 'en
274
298
  // Get GitHub token from all available sources (env vars, gh CLI, gh config file)
275
299
  const githubAuth = getGitHubAuth();
276
300
  const hasGitHubToken = githubAuth.source !== 'none';
277
- if (github && hasGitHubToken) {
278
- // First check if sync profiles already exist (from umbrella repo setup)
279
- const existingProfiles = getExistingSyncProfiles(targetDir);
280
- if (existingProfiles && existingProfiles.length > 0) {
281
- console.log(chalk.gray(` Using existing sync profiles: ${existingProfiles.length} repositories`));
301
+ // CRITICAL FIX: Use profiles OR git remote detection for GitHub
302
+ // In umbrella mode, hasGitHubProfiles is true even when github is null
303
+ if ((github || hasGitHubProfiles) && hasGitHubToken) {
304
+ // Use existing sync profiles (already fetched earlier for tool detection)
305
+ if (existingSyncProfiles && existingSyncProfiles.length > 0) {
306
+ console.log(chalk.gray(` Using existing sync profiles: ${existingSyncProfiles.length} repositories`));
282
307
  repoSelectionConfig = {
283
- repositories: existingProfiles,
308
+ repositories: existingSyncProfiles,
284
309
  selectionStrategy: 'explicit'
285
310
  };
286
311
  }
@@ -339,21 +364,84 @@ export async function promptAndRunExternalImport(targetDir, isCI, language = 'en
339
364
  };
340
365
  }
341
366
  }
342
- // Add JIRA config if available
367
+ // Add JIRA config with auto-detection
343
368
  if (jira) {
344
- coordinatorConfig.jira = {
345
- host: jira.host,
346
- email: jira.email,
347
- apiToken: jira.apiToken
348
- };
369
+ // Auto-detect JIRA structure (projects + boards)
370
+ const jiraStructure = await detectJiraStructure();
371
+ if (jiraStructure) {
372
+ const jiraMapping = await confirmJiraMapping(jiraStructure);
373
+ if (jiraMapping) {
374
+ const jiraConfig = buildJiraCoordinatorConfig(jira, jiraMapping);
375
+ coordinatorConfig.jira = jiraConfig;
376
+ }
377
+ else {
378
+ // User declined - use simple mode
379
+ coordinatorConfig.jira = {
380
+ host: jira.host,
381
+ email: jira.email,
382
+ apiToken: jira.apiToken,
383
+ mode: 'simple',
384
+ projectMappings: [],
385
+ };
386
+ }
387
+ }
388
+ else {
389
+ // Auto-detect failed - use simple mode
390
+ coordinatorConfig.jira = {
391
+ host: jira.host,
392
+ email: jira.email,
393
+ apiToken: jira.apiToken,
394
+ mode: 'simple',
395
+ projectMappings: [],
396
+ };
397
+ }
349
398
  }
350
- // Add ADO config if available
399
+ // Add ADO config with auto-detection
351
400
  if (ado) {
352
- coordinatorConfig.ado = {
353
- orgUrl: ado.orgUrl,
354
- project: ado.project,
355
- pat: ado.pat
356
- };
401
+ // Extract organization from URL
402
+ const orgMatch = ado.orgUrl.match(/dev\.azure\.com\/([^/]+)/);
403
+ const organization = orgMatch ? orgMatch[1] : '';
404
+ if (organization && ado.pat) {
405
+ // Auto-detect ADO structure (projects + area paths)
406
+ const adoStructure = await detectAdoStructure(organization, ado.pat);
407
+ if (adoStructure) {
408
+ const adoMapping = await confirmAdoMapping(adoStructure);
409
+ if (adoMapping) {
410
+ const adoConfig = buildAdoCoordinatorConfig(ado, adoMapping);
411
+ coordinatorConfig.ado = adoConfig;
412
+ }
413
+ else {
414
+ // User declined - use simple mode
415
+ coordinatorConfig.ado = {
416
+ orgUrl: ado.orgUrl,
417
+ project: ado.project,
418
+ pat: ado.pat,
419
+ mode: 'simple',
420
+ projectMappings: [],
421
+ };
422
+ }
423
+ }
424
+ else {
425
+ // Auto-detect failed - use simple mode
426
+ coordinatorConfig.ado = {
427
+ orgUrl: ado.orgUrl,
428
+ project: ado.project,
429
+ pat: ado.pat,
430
+ mode: 'simple',
431
+ projectMappings: [],
432
+ };
433
+ }
434
+ }
435
+ else {
436
+ // No org/PAT - use simple mode
437
+ coordinatorConfig.ado = {
438
+ orgUrl: ado.orgUrl,
439
+ project: ado.project,
440
+ pat: ado.pat,
441
+ mode: 'simple',
442
+ projectMappings: [],
443
+ };
444
+ }
357
445
  }
358
446
  // Run import with progress tracking
359
447
  return await runImport(targetDir, coordinatorConfig);
@@ -389,6 +477,37 @@ function getExistingSyncProfiles(targetDir) {
389
477
  return null;
390
478
  }
391
479
  }
480
+ /**
481
+ * Get sync profile providers from config.json
482
+ * Returns array of provider names ('github', 'jira', 'ado') from sync profiles
483
+ */
484
+ function getSyncProfileProviders(targetDir) {
485
+ try {
486
+ const configPath = path.join(targetDir, '.specweave', 'config.json');
487
+ if (!fs.existsSync(configPath)) {
488
+ return [];
489
+ }
490
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
491
+ const providers = new Set();
492
+ // Check sync.profiles structure
493
+ if (config.sync?.profiles && typeof config.sync.profiles === 'object') {
494
+ for (const profile of Object.values(config.sync.profiles)) {
495
+ const p = profile;
496
+ if (p.provider) {
497
+ providers.add(p.provider.toLowerCase());
498
+ }
499
+ }
500
+ }
501
+ // Also check top-level sync.provider
502
+ if (config.sync?.provider) {
503
+ providers.add(config.sync.provider.toLowerCase());
504
+ }
505
+ return Array.from(providers);
506
+ }
507
+ catch {
508
+ return [];
509
+ }
510
+ }
392
511
  /**
393
512
  * Prompt for multi-repository selection
394
513
  */
@@ -448,6 +567,29 @@ async function promptMultiRepoSelection(targetDir) {
448
567
  async function runImport(targetDir, coordinatorConfig) {
449
568
  const spinner = ora('Importing items...').start();
450
569
  let lastRepo = '';
570
+ // Create background job for tracking
571
+ let jobManager = null;
572
+ let jobId = null;
573
+ try {
574
+ jobManager = getJobManager(targetDir);
575
+ const provider = coordinatorConfig.github ? 'github' :
576
+ coordinatorConfig.jira ? 'jira' :
577
+ coordinatorConfig.ado ? 'ado' : 'github';
578
+ const jobConfig = {
579
+ type: 'import-issues',
580
+ provider,
581
+ repositories: coordinatorConfig.githubRepositories?.map(r => `${r.owner}/${r.repo}`),
582
+ timeRangeMonths: coordinatorConfig.importConfig?.timeRangeMonths || 3,
583
+ projectPath: targetDir
584
+ };
585
+ // Estimate total - will be updated when we know actual count
586
+ const job = jobManager.createJob('import-issues', jobConfig, 100);
587
+ jobId = job.id;
588
+ jobManager.startJob(jobId);
589
+ }
590
+ catch {
591
+ // Job tracking is optional
592
+ }
451
593
  // Enhanced progress callback with percentage and ETA
452
594
  coordinatorConfig.onProgressEnhanced = (info) => {
453
595
  const parts = [];
@@ -479,6 +621,11 @@ async function runImport(targetDir, coordinatorConfig) {
479
621
  }
480
622
  }
481
623
  spinner.text = `Importing from ${info.platform}${repoLabel}... ${parts.join(' | ')}`;
624
+ // Update background job progress
625
+ if (jobManager && jobId && info.current !== undefined) {
626
+ const itemId = info.sourceRepo || info.platform;
627
+ jobManager.updateProgress(jobId, info.current, itemId);
628
+ }
482
629
  };
483
630
  // Legacy progress callback (fallback)
484
631
  coordinatorConfig.onProgress = (platform, count, total) => {
@@ -487,10 +634,25 @@ async function runImport(targetDir, coordinatorConfig) {
487
634
  spinner.text = `Importing from ${platform}... (${count}${totalStr} items)`;
488
635
  }
489
636
  };
637
+ // Rate limit callbacks - pause job when rate limited
638
+ coordinatorConfig.onRateLimitWarning = (platform, rateLimitInfo) => {
639
+ spinner.text = `⚠️ ${platform} rate limit warning: ${rateLimitInfo.remaining} requests remaining`;
640
+ };
641
+ coordinatorConfig.onRateLimitPause = (platform, seconds) => {
642
+ spinner.text = `⏸️ ${platform} rate limited - waiting ${seconds}s...`;
643
+ // Pause background job
644
+ if (jobManager && jobId) {
645
+ jobManager.pauseJob(jobId);
646
+ }
647
+ };
490
648
  try {
491
649
  const coordinator = new ImportCoordinator(coordinatorConfig);
492
650
  const result = await coordinator.importAll();
493
651
  spinner.succeed(`Imported ${result.totalCount} items`);
652
+ // Complete background job
653
+ if (jobManager && jobId) {
654
+ jobManager.completeJob(jobId);
655
+ }
494
656
  // Show breakdown by platform
495
657
  if (result.results.length > 0) {
496
658
  console.log('');
@@ -520,6 +682,11 @@ async function runImport(targetDir, coordinatorConfig) {
520
682
  }
521
683
  catch (error) {
522
684
  spinner.fail('Import failed');
685
+ // Mark background job as failed
686
+ if (jobManager && jobId) {
687
+ const errorMsg = error instanceof Error ? error.message : String(error);
688
+ jobManager.completeJob(jobId, errorMsg);
689
+ }
523
690
  throw error;
524
691
  }
525
692
  }
@@ -534,28 +701,40 @@ async function convertToLivingDocs(targetDir, result, spinner) {
534
701
  let archivedCount = 0;
535
702
  let totalConverted = 0;
536
703
  const allConvertedStories = [];
537
- // Group items by sourceRepo for proper multi-repo folder allocation
538
- const itemsByRepo = groupItemsBySourceRepo(result.allItems);
539
- const repoCount = itemsByRepo.size;
540
- for (const [repoKey, items] of itemsByRepo.entries()) {
541
- // Determine project ID:
542
- // - For multi-repo: use repo name (e.g., "sw-thumbnail-ab-be")
543
- // - For single-repo/no sourceRepo: null (items go directly to specs/)
544
- const projectId = repoKey === '_default' ? null : repoKey;
545
- spinner.text = projectId
546
- ? `Converting items from ${projectId}...`
547
- : 'Converting items to living docs...';
704
+ // Group items by external container (JIRA project/board, ADO project/area, or GitHub repo)
705
+ // This supports:
706
+ // - 2-level structure for JIRA: specs/JIRA-{projectKey}/{boardName}/FS-XXX/
707
+ // - 2-level structure for ADO: specs/ADO-{projectName}/{areaPath}/FS-XXX/
708
+ // - 1-level structure for GitHub: specs/{repoName}/FS-XXX/
709
+ const containerGroups = groupItemsByExternalContainer(result.allItems);
710
+ const groupCount = containerGroups.length;
711
+ // Enable global collision detection when multiple groups exist (umbrella mode)
712
+ const isUmbrellaMode = groupCount > 1;
713
+ // Track which container types we're using for logging
714
+ const containerTypesUsed = new Set(containerGroups.map(g => g.containerType || 'github'));
715
+ for (const group of containerGroups) {
716
+ const { projectId, items, externalContainer, containerType, containerId } = group;
717
+ // Build display label for spinner
718
+ const displayLabel = containerType
719
+ ? `${containerType.toUpperCase()}-${containerId}/${projectId}`
720
+ : projectId;
721
+ spinner.text = `Converting items from ${displayLabel}...`;
548
722
  // Create converter for this project/repo
723
+ // Pass externalContainer for 2-level directory structure (JIRA/ADO)
549
724
  const converter = new ItemConverter({
550
725
  specsDir,
551
726
  projectRoot: targetDir,
552
727
  enableFeatureAllocation: true,
553
- // For multi-repo: use repo name as project folder
554
- // For single-repo: undefined means direct to specs/ (no project subfolder)
555
- projectId: projectId || undefined,
728
+ projectId: projectId,
729
+ // CRITICAL: Enable global collision detection in umbrella mode
730
+ enableGlobalCollisionDetection: isUmbrellaMode,
556
731
  autoArchiveAfterDays: 30,
732
+ // NEW: Pass external container for 2-level directory structure
733
+ externalContainer: externalContainer,
557
734
  onFeatureCreated: (featureId, featurePath) => {
558
- const label = projectId ? `${projectId}/${featureId}` : featureId;
735
+ const label = externalContainer
736
+ ? `${containerType?.toUpperCase()}-${containerId}/${projectId}/${featureId}`
737
+ : `${projectId}/${featureId}`;
559
738
  spinner.text = `Created feature folder: ${label}`;
560
739
  },
561
740
  onItemArchived: (usId, reason) => {
@@ -571,8 +750,25 @@ async function convertToLivingDocs(targetDir, result, spinner) {
571
750
  const uniqueFeatures = new Set(allConvertedStories.map(s => s.featureId).filter(Boolean));
572
751
  spinner.succeed(`Converted ${totalConverted} User Stories to living docs`);
573
752
  console.log(chalk.gray(' → Living docs created with E suffix (US-001E, US-002E, ...)'));
574
- if (repoCount > 1) {
575
- console.log(chalk.gray(` → Organized into ${repoCount} project folders`));
753
+ // Log directory structure info
754
+ if (containerTypesUsed.has('jira') || containerTypesUsed.has('ado')) {
755
+ console.log(chalk.gray(` → Using 2-level directory structure for JIRA/ADO`));
756
+ if (containerTypesUsed.has('jira')) {
757
+ console.log(chalk.gray(` → JIRA: specs/JIRA-{project}/{board}/FS-XXX/`));
758
+ }
759
+ if (containerTypesUsed.has('ado')) {
760
+ console.log(chalk.gray(` → ADO: specs/ADO-{project}/{areaPath}/FS-XXX/`));
761
+ }
762
+ }
763
+ if (containerTypesUsed.has('github') || containerTypesUsed.has(null)) {
764
+ console.log(chalk.gray(` → GitHub: specs/{repo}/FS-XXX/ (1-level)`));
765
+ }
766
+ if (groupCount > 1) {
767
+ console.log(chalk.gray(` → Organized into ${groupCount} project folders`));
768
+ console.log(chalk.gray(` → Global collision detection enabled (umbrella mode)`));
769
+ }
770
+ else {
771
+ console.log(chalk.gray(` → Organized into single project folder`));
576
772
  }
577
773
  if (uniqueFeatures.size > 0) {
578
774
  console.log(chalk.gray(` → Organized into ${uniqueFeatures.size} feature folder(s)`));
@@ -634,6 +830,82 @@ function groupItemsBySourceRepo(items) {
634
830
  }
635
831
  return groups;
636
832
  }
833
+ function groupItemsByExternalContainer(items) {
834
+ const groups = new Map();
835
+ for (const item of items) {
836
+ let groupKey;
837
+ let containerType = null;
838
+ let containerId;
839
+ let projectId;
840
+ let externalContainer;
841
+ // Check for JIRA container context
842
+ if (item.jiraProjectKey) {
843
+ containerType = 'jira';
844
+ containerId = item.jiraProjectKey;
845
+ // Project ID from board name (if available) or default
846
+ projectId = item.jiraBoardName
847
+ ? item.jiraBoardName.toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/^-+|-+$/g, '').slice(0, 50) || 'default'
848
+ : 'default';
849
+ groupKey = `jira:${containerId}:${projectId}`;
850
+ externalContainer = {
851
+ type: 'jira-project',
852
+ containerId: containerId,
853
+ containerName: containerId,
854
+ boardId: item.jiraBoardId,
855
+ boardName: item.jiraBoardName
856
+ };
857
+ }
858
+ // Check for ADO container context
859
+ else if (item.adoProjectName) {
860
+ containerType = 'ado';
861
+ containerId = item.adoProjectName;
862
+ // Project ID from area path (extract last segment) or default
863
+ if (item.adoAreaPath) {
864
+ const areaSegments = item.adoAreaPath.split('\\');
865
+ const lastSegment = areaSegments[areaSegments.length - 1];
866
+ projectId = lastSegment.toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/^-+|-+$/g, '').slice(0, 50) || 'default';
867
+ }
868
+ else {
869
+ projectId = 'default';
870
+ }
871
+ groupKey = `ado:${containerId}:${projectId}`;
872
+ externalContainer = {
873
+ type: 'ado-project',
874
+ containerId: containerId,
875
+ containerName: containerId,
876
+ areaPath: item.adoAreaPath
877
+ };
878
+ }
879
+ // GitHub or default (1-level structure)
880
+ else {
881
+ // Use sourceRepo if available, otherwise '_default'
882
+ if (item.sourceRepo) {
883
+ const parts = item.sourceRepo.split('/');
884
+ const rawRepoName = parts.length > 1 ? parts[1] : item.sourceRepo;
885
+ projectId = rawRepoName
886
+ .replace(/[^a-zA-Z0-9-_]/g, '-')
887
+ .replace(/^-+|-+$/g, '')
888
+ .slice(0, 100) || 'parent';
889
+ }
890
+ else {
891
+ projectId = 'parent';
892
+ }
893
+ groupKey = `gh:${projectId}`;
894
+ // No externalContainer for GitHub (1-level structure)
895
+ }
896
+ if (!groups.has(groupKey)) {
897
+ groups.set(groupKey, {
898
+ containerId: containerId || projectId,
899
+ containerType,
900
+ projectId,
901
+ items: [],
902
+ externalContainer
903
+ });
904
+ }
905
+ groups.get(groupKey).items.push(item);
906
+ }
907
+ return Array.from(groups.values());
908
+ }
637
909
  /**
638
910
  * Create empty result object
639
911
  */
@@ -1 +1 @@
1
- {"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"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"}