specweave 0.28.15 → 0.28.19

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 (146) hide show
  1. package/bin/specweave.js +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  3. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  4. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  5. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  6. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +6 -11
  7. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  8. package/dist/plugins/specweave-github/lib/github-feature-sync.js +6 -11
  9. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  10. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +19 -0
  11. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -0
  12. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +380 -0
  13. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -0
  14. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +92 -0
  15. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -0
  16. package/dist/plugins/specweave-github/lib/increment-issue-builder.js +349 -0
  17. package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -0
  18. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  19. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  20. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  21. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  22. package/dist/src/cli/commands/import-external.d.ts.map +1 -1
  23. package/dist/src/cli/commands/import-external.js +12 -7
  24. package/dist/src/cli/commands/import-external.js.map +1 -1
  25. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  26. package/dist/src/cli/helpers/init/external-import.js +138 -23
  27. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  28. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts +65 -0
  29. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts.map +1 -0
  30. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +278 -0
  31. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -0
  32. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts +64 -0
  33. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts.map +1 -0
  34. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js +251 -0
  35. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js.map +1 -0
  36. package/dist/src/core/ac-test-validator-cli.js +4 -1
  37. package/dist/src/core/ac-test-validator-cli.js.map +1 -1
  38. package/dist/src/core/ac-test-validator.d.ts.map +1 -1
  39. package/dist/src/core/ac-test-validator.js +4 -1
  40. package/dist/src/core/ac-test-validator.js.map +1 -1
  41. package/dist/src/core/qa/qa-runner.js +7 -10
  42. package/dist/src/core/qa/qa-runner.js.map +1 -1
  43. package/dist/src/core/types/increment-metadata.d.ts +75 -0
  44. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  45. package/dist/src/core/types/sync-profile.d.ts +137 -5
  46. package/dist/src/core/types/sync-profile.d.ts.map +1 -1
  47. package/dist/src/core/types/sync-profile.js +63 -0
  48. package/dist/src/core/types/sync-profile.js.map +1 -1
  49. package/dist/src/importers/external-importer.d.ts +25 -0
  50. package/dist/src/importers/external-importer.d.ts.map +1 -1
  51. package/dist/src/importers/github-importer.d.ts.map +1 -1
  52. package/dist/src/importers/github-importer.js +5 -3
  53. package/dist/src/importers/github-importer.js.map +1 -1
  54. package/dist/src/importers/item-converter.d.ts +51 -0
  55. package/dist/src/importers/item-converter.d.ts.map +1 -1
  56. package/dist/src/importers/item-converter.js +39 -12
  57. package/dist/src/importers/item-converter.js.map +1 -1
  58. package/dist/src/init/repo/types.d.ts +1 -1
  59. package/dist/src/living-docs/fs-id-allocator.d.ts +72 -3
  60. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  61. package/dist/src/living-docs/fs-id-allocator.js +142 -16
  62. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  63. package/dist/src/locales/de/cli.json +14 -0
  64. package/dist/src/locales/es/cli.json +14 -0
  65. package/dist/src/locales/fr/cli.json +14 -0
  66. package/dist/src/locales/ja/cli.json +14 -0
  67. package/dist/src/locales/ko/cli.json +14 -0
  68. package/dist/src/locales/pt/cli.json +14 -0
  69. package/dist/src/locales/ru/cli.json +14 -0
  70. package/dist/src/locales/zh/cli.json +14 -0
  71. package/dist/src/utils/chalk-fallback.d.ts +38 -0
  72. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  73. package/dist/src/utils/chalk-fallback.js +118 -0
  74. package/dist/src/utils/chalk-fallback.js.map +1 -0
  75. package/dist/src/utils/project-id-generator.d.ts +127 -0
  76. package/dist/src/utils/project-id-generator.d.ts.map +1 -0
  77. package/dist/src/utils/project-id-generator.js +228 -0
  78. package/dist/src/utils/project-id-generator.js.map +1 -0
  79. package/package.json +1 -1
  80. package/plugins/specweave/agents/AGENTS-INDEX.md +9 -7
  81. package/plugins/specweave/agents/pm/AGENT.md +202 -0
  82. package/plugins/specweave/commands/specweave-import-external.md +5 -3
  83. package/plugins/specweave/commands/specweave-qa.md +9 -9
  84. package/plugins/specweave/commands/specweave-save.md +531 -193
  85. package/plugins/specweave/commands/specweave-sync-docs.md +6 -2
  86. package/plugins/specweave/commands/specweave-validate.md +8 -7
  87. package/plugins/specweave/hooks/pre-task-completion.sh +35 -17
  88. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.d.ts +16 -0
  89. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js +121 -0
  90. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js.map +1 -0
  91. package/plugins/specweave/lib/vendor/core/ac-test-validator.d.ts +111 -0
  92. package/plugins/specweave/lib/vendor/core/ac-test-validator.js +295 -0
  93. package/plugins/specweave/lib/vendor/core/ac-test-validator.js.map +1 -0
  94. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +75 -0
  95. package/plugins/specweave/lib/vendor/utils/chalk-fallback.d.ts +38 -0
  96. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js +118 -0
  97. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js.map +1 -0
  98. package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +179 -0
  99. package/plugins/specweave/lib/vendor/utils/fs-native.js +319 -0
  100. package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -0
  101. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
  102. package/plugins/specweave/skills/docs-updater/SKILL.md +61 -0
  103. package/plugins/specweave/skills/increment-planner/SKILL.md +10 -335
  104. package/plugins/specweave/skills/increment-planner/templates/metadata.json +13 -0
  105. package/plugins/specweave/skills/increment-planner/templates/plan.md +50 -0
  106. package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +86 -0
  107. package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +50 -0
  108. package/plugins/specweave/skills/increment-planner/templates/tasks-multi-project.md +86 -0
  109. package/plugins/specweave/skills/increment-planner/templates/tasks-single-project.md +48 -0
  110. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +18 -0
  111. package/plugins/specweave-ado/commands/specweave-ado-import-areas.md +358 -0
  112. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +1 -0
  113. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +1 -0
  114. package/plugins/specweave-core/skills/code-quality/SKILL.md +1 -0
  115. package/plugins/specweave-core/skills/design-patterns/SKILL.md +1 -0
  116. package/plugins/specweave-core/skills/software-architecture/SKILL.md +1 -0
  117. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +14 -10
  118. package/plugins/specweave-github/commands/specweave-github-sync.md +57 -0
  119. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +86 -0
  120. package/plugins/specweave-github/lib/github-feature-sync.ts +6 -11
  121. package/plugins/specweave-github/lib/github-increment-sync-cli.js +343 -0
  122. package/plugins/specweave-github/lib/github-increment-sync-cli.ts +484 -0
  123. package/plugins/specweave-github/lib/increment-issue-builder.js +368 -0
  124. package/plugins/specweave-github/lib/increment-issue-builder.ts +471 -0
  125. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +19 -24
  126. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +15 -23
  127. package/plugins/specweave-jira/commands/specweave-jira-import-boards.md +331 -0
  128. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +16 -20
  129. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +18 -19
  130. package/plugins/specweave-ml/skills/{ml-pipeline-workflow → mlops-dag-builder}/SKILL.md +18 -14
  131. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +129 -0
  132. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +1 -1
  133. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +10 -122
  134. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +0 -70
  135. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +0 -1
  136. package/dist/plugins/specweave-github/lib/epic-content-builder.js +0 -258
  137. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +0 -1
  138. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +0 -83
  139. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +0 -1
  140. package/dist/plugins/specweave-github/lib/github-epic-sync.js +0 -466
  141. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +0 -1
  142. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +0 -705
  143. package/plugins/specweave-github/lib/epic-content-builder.js +0 -265
  144. package/plugins/specweave-github/lib/epic-content-builder.ts +0 -376
  145. package/plugins/specweave-github/lib/github-epic-sync.js +0 -488
  146. package/plugins/specweave-github/lib/github-epic-sync.ts +0 -715
@@ -0,0 +1,349 @@
1
+ /**
2
+ * Increment Issue Builder - Generate GitHub issues from increment spec.md
3
+ *
4
+ * For brownfield projects without full living docs structure,
5
+ * this builder extracts User Stories and ACs directly from spec.md
6
+ * and generates properly formatted GitHub issues.
7
+ *
8
+ * Correct format: [FS-XXX][US-YYY] User Story Title
9
+ * With ACs as checkable items in issue body.
10
+ *
11
+ * @see ADR-0143 (GitHub Issue Format)
12
+ */
13
+ import { readFile } from 'fs/promises';
14
+ import { existsSync } from 'fs';
15
+ import * as path from 'path';
16
+ import * as yaml from 'yaml';
17
+ export class IncrementIssueBuilder {
18
+ constructor(incrementPath, projectRoot) {
19
+ this.incrementPath = incrementPath;
20
+ this.projectRoot = projectRoot;
21
+ }
22
+ /**
23
+ * Parse increment spec.md and extract all data
24
+ */
25
+ async parse() {
26
+ const specPath = path.join(this.incrementPath, 'spec.md');
27
+ if (!existsSync(specPath)) {
28
+ throw new Error(`spec.md not found at ${specPath}`);
29
+ }
30
+ const content = await readFile(specPath, 'utf-8');
31
+ // Extract YAML frontmatter
32
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
33
+ if (!frontmatterMatch) {
34
+ throw new Error('spec.md missing YAML frontmatter');
35
+ }
36
+ const frontmatter = yaml.parse(frontmatterMatch[1]);
37
+ const bodyContent = content.slice(frontmatterMatch[0].length).trim();
38
+ // Extract main title
39
+ const titleMatch = bodyContent.match(/^#\s+(.+)$/m);
40
+ const title = titleMatch ? titleMatch[1].trim() : frontmatter.increment;
41
+ // Extract problem statement
42
+ const problemStatement = this.extractSection(bodyContent, 'Problem Statement');
43
+ // Extract user stories
44
+ const userStories = this.extractUserStories(bodyContent);
45
+ // Extract out of scope
46
+ const outOfScopeSection = this.extractSection(bodyContent, 'Out of Scope');
47
+ const outOfScope = outOfScopeSection
48
+ .split('\n')
49
+ .filter(line => line.startsWith('-'))
50
+ .map(line => line.replace(/^-\s*/, '').trim());
51
+ // Extract tasks from tasks.md
52
+ const tasks = await this.extractTasks();
53
+ return {
54
+ frontmatter,
55
+ title,
56
+ problemStatement,
57
+ userStories,
58
+ tasks,
59
+ outOfScope,
60
+ };
61
+ }
62
+ /**
63
+ * Extract tasks from tasks.md
64
+ */
65
+ async extractTasks() {
66
+ const tasksPath = path.join(this.incrementPath, 'tasks.md');
67
+ if (!existsSync(tasksPath)) {
68
+ return [];
69
+ }
70
+ try {
71
+ const content = await readFile(tasksPath, 'utf-8');
72
+ const tasks = [];
73
+ // Split by task headers: ### T-XXX: Title
74
+ const taskBlocks = content.split(/(?=###\s+T-\d+)/);
75
+ for (const block of taskBlocks) {
76
+ const headerMatch = block.match(/###\s+(T-\d+):\s*(.+)/);
77
+ if (!headerMatch)
78
+ continue;
79
+ const id = headerMatch[1];
80
+ const title = headerMatch[2].trim();
81
+ // Extract status: **Status**: [x] completed or **Status**: [ ] pending
82
+ const statusMatch = block.match(/\*\*Status\*\*:\s*\[([x\s])\]/i);
83
+ const completed = statusMatch ? statusMatch[1].toLowerCase() === 'x' : false;
84
+ // Extract user stories: **User Story**: US-001 or **Satisfies ACs**: AC-US1-01
85
+ const userStoryMatch = block.match(/\*\*User Story\*\*:\s*([^\n]+)/i);
86
+ const satisfiesMatch = block.match(/\*\*Satisfies ACs?\*\*:\s*([^\n]+)/i);
87
+ let userStories = [];
88
+ if (userStoryMatch) {
89
+ userStories = userStoryMatch[1].split(',').map(s => s.trim());
90
+ }
91
+ else if (satisfiesMatch) {
92
+ // Extract US IDs from AC IDs (AC-US1-01 → US-001)
93
+ const acIds = satisfiesMatch[1].split(',').map(s => s.trim());
94
+ const usIds = new Set();
95
+ for (const ac of acIds) {
96
+ const usMatch = ac.match(/AC-(US\d+)-/i);
97
+ if (usMatch) {
98
+ usIds.add(usMatch[1]);
99
+ }
100
+ }
101
+ userStories = Array.from(usIds);
102
+ }
103
+ // Extract priority
104
+ const priorityMatch = block.match(/\*\*Priority\*\*:\s*(P\d)/i);
105
+ const priority = priorityMatch ? priorityMatch[1] : undefined;
106
+ tasks.push({
107
+ id,
108
+ title,
109
+ completed,
110
+ userStories,
111
+ priority,
112
+ });
113
+ }
114
+ return tasks;
115
+ }
116
+ catch {
117
+ return [];
118
+ }
119
+ }
120
+ /**
121
+ * Extract a section by heading
122
+ */
123
+ extractSection(content, heading) {
124
+ const regex = new RegExp(`##\\s+${heading}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, 'i');
125
+ const match = content.match(regex);
126
+ return match ? match[1].trim() : '';
127
+ }
128
+ /**
129
+ * Extract user stories from spec.md
130
+ */
131
+ extractUserStories(content) {
132
+ const stories = [];
133
+ // Find User Stories section
134
+ const userStoriesSection = this.extractSection(content, 'User Stories');
135
+ if (!userStoriesSection) {
136
+ return stories;
137
+ }
138
+ // Split by ### US-XXX headers
139
+ const storyBlocks = userStoriesSection.split(/(?=###\s+US-\d+)/);
140
+ for (const block of storyBlocks) {
141
+ const headerMatch = block.match(/###\s+(US-\d+):\s*(.+)/);
142
+ if (!headerMatch)
143
+ continue;
144
+ const id = headerMatch[1];
145
+ const title = headerMatch[2].trim();
146
+ // Extract As a/I want/So that
147
+ const asAMatch = block.match(/\*\*As a\*\*\s+([^\n]+)/i);
148
+ const iWantMatch = block.match(/\*\*I want\*\*\s+([^\n]+)/i);
149
+ const soThatMatch = block.match(/\*\*So that\*\*\s+([^\n]+)/i);
150
+ // Extract Acceptance Criteria
151
+ const acceptanceCriteria = this.extractAcceptanceCriteria(block, id);
152
+ stories.push({
153
+ id,
154
+ title,
155
+ asA: asAMatch ? asAMatch[1].trim().replace(/,$/, '') : '',
156
+ iWant: iWantMatch ? iWantMatch[1].trim().replace(/,$/, '') : '',
157
+ soThat: soThatMatch ? soThatMatch[1].trim().replace(/\.$/, '') : '',
158
+ acceptanceCriteria,
159
+ });
160
+ }
161
+ return stories;
162
+ }
163
+ /**
164
+ * Extract acceptance criteria from a user story block
165
+ */
166
+ extractAcceptanceCriteria(block, userStoryId) {
167
+ const criteria = [];
168
+ // Pattern: - [x] **AC-US1-01**: Description or - [ ] **AC-US1-01**: Description
169
+ const acPattern = /-\s*\[([ x])\]\s*\*\*AC-(US\d+)-(\d+)\*\*:\s*(.+)/gi;
170
+ let match;
171
+ while ((match = acPattern.exec(block)) !== null) {
172
+ const completed = match[1].toLowerCase() === 'x';
173
+ const usNum = match[2];
174
+ const acNum = match[3];
175
+ const description = match[4].trim();
176
+ criteria.push({
177
+ id: `AC-${usNum}-${acNum}`,
178
+ description,
179
+ completed,
180
+ });
181
+ }
182
+ return criteria;
183
+ }
184
+ /**
185
+ * Build GitHub issue for a single user story
186
+ */
187
+ buildUserStoryIssue(story, incrementData, githubRepo) {
188
+ const featureId = incrementData.frontmatter.feature_id || this.generateFeatureId(incrementData);
189
+ const incrementId = incrementData.frontmatter.increment;
190
+ // Title format: [FS-XXX][US-YYY] User Story Title
191
+ const title = `[${featureId}][${story.id}] ${story.title}`;
192
+ // Build body
193
+ let body = '';
194
+ // Header with metadata
195
+ body += `**Feature**: ${featureId}\n`;
196
+ body += `**Status**: ${incrementData.frontmatter.status || 'planning'}\n`;
197
+ body += `**Priority**: P1\n`;
198
+ body += `\n---\n\n`;
199
+ // User Story description
200
+ body += `## User Story\n\n`;
201
+ if (story.asA && story.iWant && story.soThat) {
202
+ body += `**As a** ${story.asA}\n`;
203
+ body += `**I want** ${story.iWant}\n`;
204
+ body += `**So that** ${story.soThat}\n\n`;
205
+ }
206
+ else {
207
+ body += `${story.title}\n\n`;
208
+ }
209
+ body += `---\n\n`;
210
+ // Acceptance Criteria (checkable!)
211
+ body += `## Acceptance Criteria\n\n`;
212
+ if (story.acceptanceCriteria.length > 0) {
213
+ const completed = story.acceptanceCriteria.filter(ac => ac.completed).length;
214
+ const total = story.acceptanceCriteria.length;
215
+ const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
216
+ body += `Progress: ${completed}/${total} criteria met (${percentage}%)\n\n`;
217
+ for (const ac of story.acceptanceCriteria) {
218
+ const checkbox = ac.completed ? '[x]' : '[ ]';
219
+ body += `- ${checkbox} **${ac.id}**: ${ac.description}\n`;
220
+ }
221
+ body += '\n';
222
+ }
223
+ else {
224
+ body += `*No acceptance criteria defined*\n\n`;
225
+ }
226
+ body += `---\n\n`;
227
+ // Link to increment
228
+ body += `## Implementation\n\n`;
229
+ if (githubRepo) {
230
+ body += `**Increment**: [${incrementId}](https://github.com/${githubRepo}/tree/develop/.specweave/increments/${incrementId})\n\n`;
231
+ }
232
+ else {
233
+ body += `**Increment**: ${incrementId}\n\n`;
234
+ }
235
+ body += `---\n\n`;
236
+ body += `🤖 Auto-synced by SpecWeave Increment Sync`;
237
+ // Labels
238
+ const labels = ['specweave', 'user-story'];
239
+ if (incrementData.frontmatter.type) {
240
+ labels.push(incrementData.frontmatter.type);
241
+ }
242
+ return { title, body, labels };
243
+ }
244
+ /**
245
+ * Build GitHub issue for the entire increment (epic-style)
246
+ */
247
+ buildIncrementIssue(incrementData, githubRepo) {
248
+ const featureId = incrementData.frontmatter.feature_id || this.generateFeatureId(incrementData);
249
+ const incrementId = incrementData.frontmatter.increment;
250
+ // Title format: [FS-XXX] Increment Title
251
+ const title = `[${featureId}] ${incrementData.title}`;
252
+ // Build body
253
+ let body = '';
254
+ // Header with metadata
255
+ body += `**Increment**: ${incrementId}\n`;
256
+ body += `**Status**: ${incrementData.frontmatter.status || 'planning'}\n`;
257
+ body += `**Priority**: P0 (Critical)\n`;
258
+ // Calculate progress
259
+ const totalACs = incrementData.userStories.reduce((sum, us) => sum + us.acceptanceCriteria.length, 0);
260
+ const completedACs = incrementData.userStories.reduce((sum, us) => sum + us.acceptanceCriteria.filter(ac => ac.completed).length, 0);
261
+ const percentage = totalACs > 0 ? Math.round((completedACs / totalACs) * 100) : 0;
262
+ body += `**Progress**: ${completedACs}/${totalACs} ACs (${percentage}%)\n`;
263
+ body += `\n---\n\n`;
264
+ // Overview
265
+ body += `## Overview\n\n`;
266
+ body += incrementData.problemStatement || incrementData.title;
267
+ body += `\n\n---\n\n`;
268
+ // User Stories with ACs
269
+ body += `## User Stories\n\n`;
270
+ for (const story of incrementData.userStories) {
271
+ const usCompleted = story.acceptanceCriteria.filter(ac => ac.completed).length;
272
+ const usTotal = story.acceptanceCriteria.length;
273
+ const usCheckbox = usCompleted === usTotal && usTotal > 0 ? '[x]' : '[ ]';
274
+ body += `### ${usCheckbox} ${story.id}: ${story.title}\n\n`;
275
+ if (story.asA && story.iWant && story.soThat) {
276
+ body += `> **As a** ${story.asA}, **I want** ${story.iWant}, **So that** ${story.soThat}\n\n`;
277
+ }
278
+ body += `**Acceptance Criteria:**\n`;
279
+ for (const ac of story.acceptanceCriteria) {
280
+ const checkbox = ac.completed ? '[x]' : '[ ]';
281
+ body += `- ${checkbox} **${ac.id}**: ${ac.description}\n`;
282
+ }
283
+ body += '\n';
284
+ }
285
+ body += `---\n\n`;
286
+ // Tasks section
287
+ if (incrementData.tasks.length > 0) {
288
+ body += `## Tasks\n\n`;
289
+ const completedTasks = incrementData.tasks.filter(t => t.completed).length;
290
+ const totalTasks = incrementData.tasks.length;
291
+ const taskPercentage = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;
292
+ body += `Progress: ${completedTasks}/${totalTasks} tasks (${taskPercentage}%)\n\n`;
293
+ for (const task of incrementData.tasks) {
294
+ const checkbox = task.completed ? '[x]' : '[ ]';
295
+ body += `- ${checkbox} **${task.id}**: ${task.title}\n`;
296
+ if (task.priority || task.userStories.length > 0) {
297
+ const parts = [];
298
+ if (task.priority)
299
+ parts.push(`Priority: ${task.priority}`);
300
+ if (task.userStories.length > 0)
301
+ parts.push(`User ${task.userStories.length === 1 ? 'Story' : 'Stories'}: ${task.userStories.join(', ')}`);
302
+ body += ` - ${parts.join(' | ')}\n`;
303
+ }
304
+ }
305
+ body += '\n---\n\n';
306
+ }
307
+ // Links to increment files
308
+ body += `## SpecWeave Increment\n\n`;
309
+ if (githubRepo) {
310
+ body += `- **Spec**: [\`spec.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/spec.md)\n`;
311
+ body += `- **Plan**: [\`plan.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/plan.md)\n`;
312
+ body += `- **Tasks**: [\`tasks.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/tasks.md)\n`;
313
+ }
314
+ else {
315
+ body += `- **Spec**: \`spec.md\`\n`;
316
+ body += `- **Plan**: \`plan.md\`\n`;
317
+ body += `- **Tasks**: \`tasks.md\`\n`;
318
+ }
319
+ body += `\n---\n\n`;
320
+ body += `🤖 Auto-synced by SpecWeave Increment Sync`;
321
+ // Labels
322
+ const labels = ['specweave', 'increment', 'enhancement'];
323
+ if (incrementData.frontmatter.type) {
324
+ labels.push(incrementData.frontmatter.type);
325
+ }
326
+ return { title, body, labels };
327
+ }
328
+ /**
329
+ * Generate a feature ID if not present in frontmatter
330
+ * Uses date-based format: FS-YY-MM-DD
331
+ */
332
+ generateFeatureId(incrementData) {
333
+ // Try to extract increment number
334
+ const incrementNum = incrementData.frontmatter.increment.match(/^(\d+)/)?.[1];
335
+ if (incrementNum) {
336
+ return `FS-${incrementNum.padStart(3, '0')}`;
337
+ }
338
+ // Fallback to date-based
339
+ const created = incrementData.frontmatter.created;
340
+ if (created) {
341
+ const match = created.match(/^(\d{4})-(\d{2})-(\d{2})/);
342
+ if (match) {
343
+ return `FS-${match[1].slice(2)}-${match[2]}-${match[3]}`;
344
+ }
345
+ }
346
+ return 'FS-UNKNOWN';
347
+ }
348
+ }
349
+ //# sourceMappingURL=increment-issue-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"increment-issue-builder.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/increment-issue-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Jira Board Resolution for Hierarchical Sync
3
+ *
4
+ * Resolves board names to board IDs for use in JQL queries.
5
+ * Supports Jira Agile (Software) boards.
6
+ */
7
+ import { JiraClient } from '../../../src/integrations/jira/jira-client.js';
8
+ /**
9
+ * Jira Board (Agile API)
10
+ */
11
+ export interface JiraBoard {
12
+ id: number;
13
+ name: string;
14
+ type: 'scrum' | 'kanban' | 'simple';
15
+ self: string;
16
+ location?: {
17
+ projectId: number;
18
+ projectKey: string;
19
+ projectName: string;
20
+ };
21
+ }
22
+ /**
23
+ * Fetch all boards for a Jira project
24
+ *
25
+ * Uses Jira Agile REST API: GET /rest/agile/1.0/board?projectKeyOrId={projectKey}
26
+ *
27
+ * @param client JiraClient instance
28
+ * @param projectKey Jira project key (e.g., "PROJECT-A")
29
+ * @returns Array of boards in the project
30
+ */
31
+ export declare function fetchBoardsForProject(client: JiraClient, projectKey: string): Promise<JiraBoard[]>;
32
+ /**
33
+ * Resolve board names to board IDs
34
+ *
35
+ * @param client JiraClient instance
36
+ * @param projectKey Jira project key
37
+ * @param boardNames Array of board names to resolve
38
+ * @returns Map of board name → board ID
39
+ */
40
+ export declare function resolveBoardNames(client: JiraClient, projectKey: string, boardNames: string[]): Promise<Map<string, number>>;
41
+ /**
42
+ * Get board IDs for a list of board names (helper function)
43
+ *
44
+ * @param client JiraClient instance
45
+ * @param projectKey Jira project key
46
+ * @param boardNames Array of board names
47
+ * @returns Array of board IDs (skips boards not found)
48
+ */
49
+ export declare function getBoardIds(client: JiraClient, projectKey: string, boardNames: string[]): Promise<number[]>;
50
+ //# sourceMappingURL=jira-board-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-board-resolver.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-board-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAmCtB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB9B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Jira Board Resolution for Hierarchical Sync
3
+ *
4
+ * Resolves board names to board IDs for use in JQL queries.
5
+ * Supports Jira Agile (Software) boards.
6
+ */
7
+ /**
8
+ * Fetch all boards for a Jira project
9
+ *
10
+ * Uses Jira Agile REST API: GET /rest/agile/1.0/board?projectKeyOrId={projectKey}
11
+ *
12
+ * @param client JiraClient instance
13
+ * @param projectKey Jira project key (e.g., "PROJECT-A")
14
+ * @returns Array of boards in the project
15
+ */
16
+ export async function fetchBoardsForProject(client, projectKey) {
17
+ console.log(`🔍 Fetching boards for project: ${projectKey}`);
18
+ try {
19
+ // Access private baseUrl and getAuthHeader via reflection (not ideal but necessary)
20
+ const baseUrl = client.baseUrl;
21
+ const authHeader = client.getAuthHeader();
22
+ const url = `${baseUrl}/rest/agile/1.0/board?projectKeyOrId=${projectKey}`;
23
+ const response = await fetch(url, {
24
+ method: 'GET',
25
+ headers: {
26
+ 'Authorization': authHeader,
27
+ 'Content-Type': 'application/json',
28
+ },
29
+ });
30
+ if (!response.ok) {
31
+ const error = await response.text();
32
+ console.error(`❌ Failed to fetch boards for ${projectKey}:`, error);
33
+ throw new Error(`Jira API error: ${response.status} ${error}`);
34
+ }
35
+ const data = await response.json();
36
+ const boards = data.values || [];
37
+ console.log(`✅ Found ${boards.length} board(s) for project ${projectKey}`);
38
+ return boards;
39
+ }
40
+ catch (error) {
41
+ console.error(`❌ Error fetching boards for ${projectKey}:`, error.message);
42
+ throw error;
43
+ }
44
+ }
45
+ /**
46
+ * Resolve board names to board IDs
47
+ *
48
+ * @param client JiraClient instance
49
+ * @param projectKey Jira project key
50
+ * @param boardNames Array of board names to resolve
51
+ * @returns Map of board name → board ID
52
+ */
53
+ export async function resolveBoardNames(client, projectKey, boardNames) {
54
+ if (!boardNames || boardNames.length === 0) {
55
+ return new Map();
56
+ }
57
+ const boards = await fetchBoardsForProject(client, projectKey);
58
+ const boardMap = new Map();
59
+ for (const boardName of boardNames) {
60
+ const board = boards.find((b) => b.name.toLowerCase() === boardName.toLowerCase());
61
+ if (board) {
62
+ boardMap.set(boardName, board.id);
63
+ console.log(`✅ Resolved board "${boardName}" → ID ${board.id}`);
64
+ }
65
+ else {
66
+ console.warn(`⚠️ Board "${boardName}" not found in project ${projectKey}`);
67
+ // Don't throw - just skip this board (user may have typo or board was deleted)
68
+ }
69
+ }
70
+ return boardMap;
71
+ }
72
+ /**
73
+ * Get board IDs for a list of board names (helper function)
74
+ *
75
+ * @param client JiraClient instance
76
+ * @param projectKey Jira project key
77
+ * @param boardNames Array of board names
78
+ * @returns Array of board IDs (skips boards not found)
79
+ */
80
+ export async function getBoardIds(client, projectKey, boardNames) {
81
+ const boardMap = await resolveBoardNames(client, projectKey, boardNames);
82
+ return Array.from(boardMap.values());
83
+ }
84
+ //# sourceMappingURL=jira-board-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-board-resolver.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-board-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import-external.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAErD,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2LD;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8OjG"}
1
+ {"version":3,"file":"import-external.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAErD,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2LD;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoPjG"}
@@ -323,21 +323,26 @@ export async function importExternal(projectRoot, args) {
323
323
  const itemsByRepo = groupItemsBySourceRepo(allItems);
324
324
  const repoCount = itemsByRepo.size;
325
325
  const allConverted = [];
326
+ // Enable global collision detection when multiple repos exist (umbrella mode)
327
+ const isUmbrellaMode = repoCount > 1;
326
328
  for (const [repoKey, items] of itemsByRepo.entries()) {
327
329
  // Determine project ID:
328
330
  // - For multi-repo: use repo name (e.g., "sw-thumbnail-ab-be")
329
- // - For single-repo/no sourceRepo: undefined (items go directly to specs/)
330
- const projectId = repoKey === '_default' ? undefined : repoKey;
331
- conversionSpinner.text = projectId
332
- ? `Converting items from ${projectId}...`
333
- : 'Converting items to living docs...';
331
+ // - For single-repo/no sourceRepo: use 'parent' (consistent structure)
332
+ // NOTE: We ALWAYS use a project folder now, never direct to specs/
333
+ const projectId = repoKey === '_default' ? 'parent' : repoKey;
334
+ conversionSpinner.text = `Converting items from ${projectId}...`;
334
335
  // Create converter for this project/repo
335
336
  const converter = new ItemConverter({
336
337
  specsDir,
337
338
  projectRoot,
338
339
  enableFeatureAllocation: true,
339
340
  enableDuplicateDetection: true,
341
+ // Always use project folder - 'parent' for single-repo, repo name for multi-repo
340
342
  projectId,
343
+ // CRITICAL: Enable global collision detection in umbrella mode
344
+ // This prevents FS-001 in project-a colliding with FS-001E in project-b
345
+ enableGlobalCollisionDetection: isUmbrellaMode,
341
346
  onDuplicateSkipped: (externalId, existingUsId) => {
342
347
  console.log(chalk.dim(` ⏭️ Skipped duplicate: ${externalId} (already imported as ${existingUsId})`));
343
348
  },
@@ -348,10 +353,10 @@ export async function importExternal(projectRoot, args) {
348
353
  convertedCount = allConverted.length;
349
354
  skippedCount = allItems.length - convertedCount;
350
355
  if (repoCount > 1) {
351
- conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (${repoCount} project folders)`);
356
+ conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (${repoCount} project folders, global collision detection enabled)`);
352
357
  }
353
358
  else {
354
- conversionSpinner.succeed(`Converted ${convertedCount} items to living docs`);
359
+ conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (specs/parent/)`);
355
360
  }
356
361
  }
357
362
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"import-external.js","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-external.js","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-import.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwC,iBAAiB,EAAgB,MAAM,0CAA0C,CAAC;AAMjI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAgPrE;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CA+H5B"}
1
+ {"version":3,"file":"external-import.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwC,iBAAiB,EAAgB,MAAM,0CAA0C,CAAC;AAOjI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAiPrE;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAmI5B"}