specweave 0.17.17 → 0.17.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.
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +65 -6
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +63 -0
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/epic-content-builder.js +216 -0
- package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +2 -2
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.js +19 -4
- package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +8 -6
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +78 -117
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +107 -3
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/core/deduplication/command-deduplicator.d.ts +166 -0
- package/dist/src/core/deduplication/command-deduplicator.d.ts.map +1 -0
- package/dist/src/core/deduplication/command-deduplicator.js +254 -0
- package/dist/src/core/deduplication/command-deduplicator.js.map +1 -0
- package/dist/src/core/sync/enhanced-content-builder.d.ts +32 -54
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
- package/dist/src/core/sync/enhanced-content-builder.js +141 -138
- package/dist/src/core/sync/enhanced-content-builder.js.map +1 -1
- package/dist/src/core/sync/types.d.ts +52 -0
- package/dist/src/core/sync/types.d.ts.map +1 -0
- package/dist/src/core/sync/types.js +5 -0
- package/dist/src/core/sync/types.js.map +1 -0
- package/dist/src/core/types/config.d.ts +51 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +16 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +4 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/increment-metadata.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/agents/pm/AGENT.md +159 -12
- package/plugins/specweave/commands/specweave.md +70 -405
- package/plugins/specweave/hooks/hooks.json +4 -0
- package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
- package/plugins/specweave/hooks/post-increment-planning.sh +26 -2
- package/plugins/specweave/hooks/pre-command-deduplication.sh +86 -0
- package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +1 -1
- package/plugins/specweave-ado/lib/ado-spec-content-sync.js +49 -5
- package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +72 -6
- package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +1 -1
- package/plugins/specweave-github/commands/specweave-github-sync-epic.md +1 -1
- package/plugins/specweave-github/commands/specweave-github-sync-spec.md +1 -1
- package/plugins/specweave-github/hooks/post-task-completion.sh +32 -0
- package/plugins/specweave-github/lib/epic-content-builder.js +227 -0
- package/plugins/specweave-github/lib/epic-content-builder.ts +317 -0
- package/plugins/specweave-github/lib/github-epic-sync.js +23 -24
- package/plugins/specweave-github/lib/github-epic-sync.ts +29 -4
- package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +1 -1
- package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +1 -1
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +134 -0
- package/plugins/specweave-jira/lib/{enhanced-jira-sync.ts.disabled → enhanced-jira-sync.ts} +26 -52
- package/plugins/specweave-release/commands/specweave-release-platform.md +1 -1
- package/plugins/specweave-release/hooks/post-task-completion.sh +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado-spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAOL,iBAAiB,EAClB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"ado-spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAOL,iBAAiB,EAClB,MAAM,wCAAwC,CAAC;AAMhD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CA0C5B;AA6RD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF"}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* - State (New/Active/Resolved/Closed): ADO → SpecWeave (we read)
|
|
10
10
|
*/
|
|
11
11
|
import { parseSpecContent, detectContentChanges, hasExternalLink, updateSpecWithExternalLink, } from '../../../src/core/spec-content-sync.js';
|
|
12
|
-
import
|
|
13
|
-
import
|
|
12
|
+
import { SpecIncrementMapper } from '../../../src/core/sync/spec-increment-mapper.js';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import * as fs from 'fs/promises';
|
|
14
15
|
/**
|
|
15
16
|
* Sync spec content to ADO feature
|
|
16
17
|
* Creates feature if it doesn't exist, updates if it does
|
|
@@ -57,9 +58,11 @@ export async function syncSpecContentToAdo(options) {
|
|
|
57
58
|
async function createAdoFeature(client, spec, options) {
|
|
58
59
|
const { specPath, dryRun, verbose } = options;
|
|
59
60
|
try {
|
|
61
|
+
// Get task mappings (if available)
|
|
62
|
+
const tasks = await getTaskMappings(specPath, spec.id);
|
|
60
63
|
// Build feature title and description
|
|
61
64
|
const title = `[${spec.id.toUpperCase()}] ${spec.title}`;
|
|
62
|
-
const description = buildAdoDescription(spec);
|
|
65
|
+
const description = buildAdoDescription(spec, tasks);
|
|
63
66
|
if (verbose) {
|
|
64
67
|
console.log(`\n📝 Creating ADO feature:`);
|
|
65
68
|
console.log(` Title: ${title}`);
|
|
@@ -138,9 +141,11 @@ async function updateAdoFeature(client, spec, workItemId, options) {
|
|
|
138
141
|
console.log(` - ${change}`);
|
|
139
142
|
}
|
|
140
143
|
}
|
|
144
|
+
// Get task mappings (if available)
|
|
145
|
+
const tasks = await getTaskMappings(specPath, spec.id);
|
|
141
146
|
// Build updated content
|
|
142
147
|
const newTitle = `[${spec.id.toUpperCase()}] ${spec.title}`;
|
|
143
|
-
const newDescription = buildAdoDescription(spec);
|
|
148
|
+
const newDescription = buildAdoDescription(spec, tasks);
|
|
144
149
|
if (dryRun) {
|
|
145
150
|
console.log('\n🔍 Dry run - would update feature:');
|
|
146
151
|
console.log(` Title: ${newTitle}`);
|
|
@@ -178,10 +183,10 @@ async function updateAdoFeature(client, spec, workItemId, options) {
|
|
|
178
183
|
}
|
|
179
184
|
}
|
|
180
185
|
/**
|
|
181
|
-
* Build ADO description from spec content
|
|
186
|
+
* Build ADO description from spec content with optional task mappings
|
|
182
187
|
* ADO supports HTML in description
|
|
183
188
|
*/
|
|
184
|
-
function buildAdoDescription(spec) {
|
|
189
|
+
function buildAdoDescription(spec, tasks) {
|
|
185
190
|
let html = '';
|
|
186
191
|
// Add spec description
|
|
187
192
|
if (spec.description) {
|
|
@@ -202,12 +207,66 @@ function buildAdoDescription(spec) {
|
|
|
202
207
|
}
|
|
203
208
|
}
|
|
204
209
|
}
|
|
210
|
+
// Add task mappings (if provided)
|
|
211
|
+
if (tasks && tasks.length > 0) {
|
|
212
|
+
html += '<h2>Implementation Tasks</h2>';
|
|
213
|
+
html += '<ul>';
|
|
214
|
+
for (const task of tasks) {
|
|
215
|
+
html += `<li><strong>${task.id}</strong>: ${escapeHtml(task.title)}`;
|
|
216
|
+
if (task.userStories && task.userStories.length > 0) {
|
|
217
|
+
html += ` (${task.userStories.join(', ')})`;
|
|
218
|
+
}
|
|
219
|
+
html += '</li>';
|
|
220
|
+
}
|
|
221
|
+
html += '</ul>';
|
|
222
|
+
}
|
|
205
223
|
// Add metadata
|
|
206
224
|
if (spec.metadata.priority) {
|
|
207
225
|
html += `<p><strong>Priority:</strong> ${spec.metadata.priority}</p>`;
|
|
208
226
|
}
|
|
209
227
|
return html;
|
|
210
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Get task mappings for a spec (if available)
|
|
231
|
+
*/
|
|
232
|
+
async function getTaskMappings(specPath, specId) {
|
|
233
|
+
try {
|
|
234
|
+
// Find SpecWeave root
|
|
235
|
+
const rootDir = await findSpecWeaveRoot(specPath);
|
|
236
|
+
// Use SpecIncrementMapper to get task mappings
|
|
237
|
+
const mapper = new SpecIncrementMapper(rootDir);
|
|
238
|
+
const mapping = await mapper.mapSpecToIncrements(specId);
|
|
239
|
+
if (mapping.increments.length > 0) {
|
|
240
|
+
// Return tasks from the first (most recent) increment
|
|
241
|
+
return mapping.increments[0].tasks;
|
|
242
|
+
}
|
|
243
|
+
return undefined;
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
// If mapping fails, just return undefined (not critical)
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Find SpecWeave root directory from spec path
|
|
252
|
+
*/
|
|
253
|
+
async function findSpecWeaveRoot(specPath) {
|
|
254
|
+
let currentDir = path.dirname(specPath);
|
|
255
|
+
while (true) {
|
|
256
|
+
const specweaveDir = path.join(currentDir, '.specweave');
|
|
257
|
+
try {
|
|
258
|
+
await fs.access(specweaveDir);
|
|
259
|
+
return currentDir;
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
const parentDir = path.dirname(currentDir);
|
|
263
|
+
if (parentDir === currentDir) {
|
|
264
|
+
throw new Error('.specweave directory not found');
|
|
265
|
+
}
|
|
266
|
+
currentDir = parentDir;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
211
270
|
/**
|
|
212
271
|
* Escape HTML special characters
|
|
213
272
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado-spec-content-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAEpB,eAAe,EACf,0BAA0B,GAG3B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ado-spec-content-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-content-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Epic Content Builder - Hierarchical GitHub issue content for Feature Specs
|
|
3
|
+
*
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - Reads FS-* folder (FEATURE.md + us-*.md files)
|
|
6
|
+
* - Reads increment tasks.md files to map tasks to user stories
|
|
7
|
+
* - Generates hierarchical issue body:
|
|
8
|
+
* 1. User Stories section (with status + increment)
|
|
9
|
+
* 2. Tasks section (grouped by User Story)
|
|
10
|
+
*
|
|
11
|
+
* Key Features:
|
|
12
|
+
* - NO single "Increment" field (epics span multiple increments)
|
|
13
|
+
* - User Stories are checkable with status and increment link
|
|
14
|
+
* - Tasks grouped under their User Story
|
|
15
|
+
* - Shows which increment each US/task belongs to
|
|
16
|
+
*/
|
|
17
|
+
export declare class EpicContentBuilder {
|
|
18
|
+
private epicFolder;
|
|
19
|
+
private projectRoot;
|
|
20
|
+
constructor(epicFolder: string, projectRoot: string);
|
|
21
|
+
/**
|
|
22
|
+
* Build hierarchical GitHub issue body
|
|
23
|
+
*
|
|
24
|
+
* Format:
|
|
25
|
+
* - Epic overview
|
|
26
|
+
* - User Stories section (checkable, with status + increment)
|
|
27
|
+
* - Tasks section (grouped by User Story)
|
|
28
|
+
*/
|
|
29
|
+
buildIssueBody(): Promise<string>;
|
|
30
|
+
/**
|
|
31
|
+
* Read Epic FEATURE.md frontmatter
|
|
32
|
+
*/
|
|
33
|
+
private readEpicMetadata;
|
|
34
|
+
/**
|
|
35
|
+
* Read all user stories from us-*.md files
|
|
36
|
+
*/
|
|
37
|
+
private readUserStories;
|
|
38
|
+
/**
|
|
39
|
+
* Extract tasks for a user story from its Implementation section
|
|
40
|
+
*/
|
|
41
|
+
private extractTasksForUserStory;
|
|
42
|
+
/**
|
|
43
|
+
* Build overview section
|
|
44
|
+
*/
|
|
45
|
+
private buildOverviewSection;
|
|
46
|
+
/**
|
|
47
|
+
* Build User Stories section
|
|
48
|
+
*/
|
|
49
|
+
private buildUserStoriesSection;
|
|
50
|
+
/**
|
|
51
|
+
* Build Tasks section (grouped by User Story)
|
|
52
|
+
*/
|
|
53
|
+
private buildTasksSection;
|
|
54
|
+
/**
|
|
55
|
+
* Normalize status values
|
|
56
|
+
*/
|
|
57
|
+
private normalizeStatus;
|
|
58
|
+
/**
|
|
59
|
+
* Get status emoji
|
|
60
|
+
*/
|
|
61
|
+
private getStatusEmoji;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=epic-content-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epic-content-builder.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/epic-content-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuCH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAKnD;;;;;;;OAOG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAgBvC;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;YACW,eAAe;IA0C7B;;OAEG;YACW,wBAAwB;IAoEtC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAgBvB"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Epic Content Builder - Hierarchical GitHub issue content for Feature Specs
|
|
3
|
+
*
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - Reads FS-* folder (FEATURE.md + us-*.md files)
|
|
6
|
+
* - Reads increment tasks.md files to map tasks to user stories
|
|
7
|
+
* - Generates hierarchical issue body:
|
|
8
|
+
* 1. User Stories section (with status + increment)
|
|
9
|
+
* 2. Tasks section (grouped by User Story)
|
|
10
|
+
*
|
|
11
|
+
* Key Features:
|
|
12
|
+
* - NO single "Increment" field (epics span multiple increments)
|
|
13
|
+
* - User Stories are checkable with status and increment link
|
|
14
|
+
* - Tasks grouped under their User Story
|
|
15
|
+
* - Shows which increment each US/task belongs to
|
|
16
|
+
*/
|
|
17
|
+
import { readdir, readFile } from 'fs/promises';
|
|
18
|
+
import { existsSync } from 'fs';
|
|
19
|
+
import * as path from 'path';
|
|
20
|
+
import * as yaml from 'yaml';
|
|
21
|
+
export class EpicContentBuilder {
|
|
22
|
+
constructor(epicFolder, projectRoot) {
|
|
23
|
+
this.epicFolder = epicFolder;
|
|
24
|
+
this.projectRoot = projectRoot;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build hierarchical GitHub issue body
|
|
28
|
+
*
|
|
29
|
+
* Format:
|
|
30
|
+
* - Epic overview
|
|
31
|
+
* - User Stories section (checkable, with status + increment)
|
|
32
|
+
* - Tasks section (grouped by User Story)
|
|
33
|
+
*/
|
|
34
|
+
async buildIssueBody() {
|
|
35
|
+
// 1. Read Epic metadata
|
|
36
|
+
const epicData = await this.readEpicMetadata();
|
|
37
|
+
// 2. Read User Stories
|
|
38
|
+
const userStories = await this.readUserStories();
|
|
39
|
+
// 3. Build sections
|
|
40
|
+
const overview = this.buildOverviewSection(epicData);
|
|
41
|
+
const userStoriesSection = this.buildUserStoriesSection(userStories);
|
|
42
|
+
const tasksSection = this.buildTasksSection(userStories);
|
|
43
|
+
// 4. Combine
|
|
44
|
+
return `${overview}\n\n---\n\n${userStoriesSection}\n\n---\n\n${tasksSection}\n\n---\n\n🤖 Auto-created by SpecWeave Epic Sync`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Read Epic FEATURE.md frontmatter
|
|
48
|
+
*/
|
|
49
|
+
async readEpicMetadata() {
|
|
50
|
+
const featurePath = path.join(this.epicFolder, 'FEATURE.md');
|
|
51
|
+
const content = await readFile(featurePath, 'utf-8');
|
|
52
|
+
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
53
|
+
if (!match) {
|
|
54
|
+
throw new Error('FEATURE.md missing YAML frontmatter');
|
|
55
|
+
}
|
|
56
|
+
return yaml.parse(match[1]);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Read all user stories from us-*.md files
|
|
60
|
+
*/
|
|
61
|
+
async readUserStories() {
|
|
62
|
+
const files = await readdir(this.epicFolder);
|
|
63
|
+
const usFiles = files.filter((f) => f.startsWith('us-') && f.endsWith('.md'));
|
|
64
|
+
const userStories = [];
|
|
65
|
+
for (const file of usFiles.sort()) {
|
|
66
|
+
const filePath = path.join(this.epicFolder, file);
|
|
67
|
+
const content = await readFile(filePath, 'utf-8');
|
|
68
|
+
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
69
|
+
if (!match) {
|
|
70
|
+
console.warn(` ⚠️ ${file} missing frontmatter, skipping`);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const frontmatter = yaml.parse(match[1]);
|
|
74
|
+
const bodyContent = content.slice(match[0].length).trim();
|
|
75
|
+
// Extract increment from Implementation section
|
|
76
|
+
const incrementMatch = bodyContent.match(/\*\*Increment\*\*:\s*\[([^\]]+)\]/);
|
|
77
|
+
const increment = incrementMatch ? incrementMatch[1] : null;
|
|
78
|
+
// Extract tasks from Implementation section
|
|
79
|
+
const tasks = await this.extractTasksForUserStory(frontmatter.id, increment, bodyContent);
|
|
80
|
+
userStories.push({
|
|
81
|
+
id: frontmatter.id,
|
|
82
|
+
title: frontmatter.title,
|
|
83
|
+
status: this.normalizeStatus(frontmatter.status),
|
|
84
|
+
increment,
|
|
85
|
+
tasks,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return userStories;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Extract tasks for a user story from its Implementation section
|
|
92
|
+
*/
|
|
93
|
+
async extractTasksForUserStory(userStoryId, incrementId, content) {
|
|
94
|
+
if (!incrementId) {
|
|
95
|
+
return []; // No increment yet, no tasks
|
|
96
|
+
}
|
|
97
|
+
// Find increment folder
|
|
98
|
+
const incrementFolder = path.join(this.projectRoot, '.specweave', 'increments', incrementId);
|
|
99
|
+
if (!existsSync(incrementFolder)) {
|
|
100
|
+
console.warn(` ⚠️ Increment folder not found: ${incrementId}`);
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
const tasksPath = path.join(incrementFolder, 'tasks.md');
|
|
104
|
+
if (!existsSync(tasksPath)) {
|
|
105
|
+
console.warn(` ⚠️ tasks.md not found in ${incrementId}`);
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
// Read tasks.md
|
|
109
|
+
const tasksContent = await readFile(tasksPath, 'utf-8');
|
|
110
|
+
// Extract task links from user story's Implementation section
|
|
111
|
+
// Format: - [T-001: Title](link#t-001-title)
|
|
112
|
+
const taskLinkPattern = /- \[([T-\d]+):\s*([^\]]+)\]/g;
|
|
113
|
+
const taskLinks = [];
|
|
114
|
+
let match;
|
|
115
|
+
while ((match = taskLinkPattern.exec(content)) !== null) {
|
|
116
|
+
taskLinks.push({
|
|
117
|
+
id: match[1], // e.g., "T-001"
|
|
118
|
+
title: match[2].trim(),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
// Parse tasks from tasks.md to get completion status
|
|
122
|
+
const tasks = [];
|
|
123
|
+
for (const taskLink of taskLinks) {
|
|
124
|
+
// Find task in tasks.md by heading pattern: ### T-001: Title
|
|
125
|
+
const taskPattern = new RegExp(`###\\s+${taskLink.id}:\\s*([^\\n]+)[\\s\\S]*?\\*\\*Status\\*\\*:\\s*\\[([x\\s])\\]`, 'i');
|
|
126
|
+
const taskMatch = tasksContent.match(taskPattern);
|
|
127
|
+
const isCompleted = taskMatch ? taskMatch[2] === 'x' : false;
|
|
128
|
+
tasks.push({
|
|
129
|
+
id: taskLink.id,
|
|
130
|
+
title: taskLink.title,
|
|
131
|
+
status: isCompleted,
|
|
132
|
+
userStoryId,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return tasks;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Build overview section
|
|
139
|
+
*/
|
|
140
|
+
buildOverviewSection(epic) {
|
|
141
|
+
return `# [${epic.id}] ${epic.title}\n\n**Status**: ${epic.status}\n**Created**: ${epic.created}\n**Last Updated**: ${epic.last_updated}`;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Build User Stories section
|
|
145
|
+
*/
|
|
146
|
+
buildUserStoriesSection(userStories) {
|
|
147
|
+
const total = userStories.length;
|
|
148
|
+
const completed = userStories.filter((us) => us.status === 'complete').length;
|
|
149
|
+
const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
|
|
150
|
+
let section = `## User Stories\n\nProgress: ${completed}/${total} user stories complete (${percentage}%)\n\n`;
|
|
151
|
+
for (const us of userStories) {
|
|
152
|
+
const checkbox = us.status === 'complete' ? '[x]' : '[ ]';
|
|
153
|
+
const statusEmoji = this.getStatusEmoji(us.status);
|
|
154
|
+
const incrementLink = us.increment
|
|
155
|
+
? `[${us.increment}](../../increments/${us.increment}/)`
|
|
156
|
+
: 'TBD';
|
|
157
|
+
section += `- ${checkbox} **${us.id}: ${us.title}** (${statusEmoji} ${us.status} | Increment: ${incrementLink})\n`;
|
|
158
|
+
}
|
|
159
|
+
return section;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Build Tasks section (grouped by User Story)
|
|
163
|
+
*/
|
|
164
|
+
buildTasksSection(userStories) {
|
|
165
|
+
const totalTasks = userStories.reduce((sum, us) => sum + us.tasks.length, 0);
|
|
166
|
+
const completedTasks = userStories.reduce((sum, us) => sum + us.tasks.filter((t) => t.status).length, 0);
|
|
167
|
+
const percentage = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;
|
|
168
|
+
let section = `## Tasks by User Story\n\nProgress: ${completedTasks}/${totalTasks} tasks complete (${percentage}%)\n\n`;
|
|
169
|
+
for (const us of userStories) {
|
|
170
|
+
if (us.tasks.length === 0) {
|
|
171
|
+
continue; // Skip user stories with no tasks yet
|
|
172
|
+
}
|
|
173
|
+
const incrementLink = us.increment
|
|
174
|
+
? `[${us.increment}](../../increments/${us.increment}/tasks.md)`
|
|
175
|
+
: 'TBD';
|
|
176
|
+
section += `### ${us.id}: ${us.title} (Increment: ${incrementLink})\n\n`;
|
|
177
|
+
for (const task of us.tasks) {
|
|
178
|
+
const checkbox = task.status ? '[x]' : '[ ]';
|
|
179
|
+
section += `- ${checkbox} ${task.id}: ${task.title}\n`;
|
|
180
|
+
}
|
|
181
|
+
section += '\n';
|
|
182
|
+
}
|
|
183
|
+
return section;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Normalize status values
|
|
187
|
+
*/
|
|
188
|
+
normalizeStatus(status) {
|
|
189
|
+
const normalized = status.toLowerCase();
|
|
190
|
+
if (normalized === 'complete' || normalized === 'completed')
|
|
191
|
+
return 'complete';
|
|
192
|
+
if (normalized === 'active' || normalized === 'in-progress')
|
|
193
|
+
return 'active';
|
|
194
|
+
if (normalized === 'planning')
|
|
195
|
+
return 'planning';
|
|
196
|
+
return 'not-started';
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get status emoji
|
|
200
|
+
*/
|
|
201
|
+
getStatusEmoji(status) {
|
|
202
|
+
switch (status) {
|
|
203
|
+
case 'complete':
|
|
204
|
+
return '✅';
|
|
205
|
+
case 'active':
|
|
206
|
+
return '🚧';
|
|
207
|
+
case 'planning':
|
|
208
|
+
return '📋';
|
|
209
|
+
case 'not-started':
|
|
210
|
+
return '⏳';
|
|
211
|
+
default:
|
|
212
|
+
return '❓';
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=epic-content-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epic-content-builder.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/epic-content-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,11 +64,11 @@ export declare class GitHubEpicSync {
|
|
|
64
64
|
*/
|
|
65
65
|
private updateMilestone;
|
|
66
66
|
/**
|
|
67
|
-
* Create GitHub Issue for
|
|
67
|
+
* Create GitHub Issue for Epic with hierarchical content (US → Tasks)
|
|
68
68
|
*/
|
|
69
69
|
private createIssue;
|
|
70
70
|
/**
|
|
71
|
-
* Update GitHub Issue for
|
|
71
|
+
* Update GitHub Issue for Epic with hierarchical content (US → Tasks)
|
|
72
72
|
*/
|
|
73
73
|
private updateIssue;
|
|
74
74
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-epic-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-epic-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-epic-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-epic-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiEvD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAKpD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAwIF;;;;;;;;OAQG;YACW,YAAY;IA8D1B;;;;;;;;;OASG;YACW,iBAAiB;IAgE/B;;OAEG;YACW,cAAc;IAe5B;;OAEG;YACW,eAAe;IAc7B;;OAEG;YACW,kBAAkB;IAyChC;;OAEG;YACW,eAAe;IAqC7B;;OAEG;YACW,eAAe;IA4B7B;;OAEG;YACW,WAAW;IAmDzB;;OAEG;YACW,WAAW;IA6CzB;;OAEG;YACW,gBAAgB;IAuB9B;;OAEG;YACW,2BAA2B;CAuD1C"}
|
|
@@ -13,6 +13,7 @@ import * as path from 'path';
|
|
|
13
13
|
import * as yaml from 'yaml';
|
|
14
14
|
import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
|
|
15
15
|
import { DuplicateDetector } from './duplicate-detector.js';
|
|
16
|
+
import { EpicContentBuilder } from './epic-content-builder.js';
|
|
16
17
|
export class GitHubEpicSync {
|
|
17
18
|
constructor(client, specsDir) {
|
|
18
19
|
this.client = client;
|
|
@@ -348,11 +349,18 @@ export class GitHubEpicSync {
|
|
|
348
349
|
}
|
|
349
350
|
}
|
|
350
351
|
/**
|
|
351
|
-
* Create GitHub Issue for
|
|
352
|
+
* Create GitHub Issue for Epic with hierarchical content (US → Tasks)
|
|
352
353
|
*/
|
|
353
354
|
async createIssue(epicId, increment, milestoneNumber) {
|
|
354
355
|
const title = `[${epicId}] ${increment.title}`;
|
|
355
|
-
|
|
356
|
+
// Build hierarchical issue body using EpicContentBuilder
|
|
357
|
+
const epicFolder = await this.findEpicFolder(epicId);
|
|
358
|
+
if (!epicFolder) {
|
|
359
|
+
throw new Error(`Epic folder not found for ${epicId}`);
|
|
360
|
+
}
|
|
361
|
+
const contentBuilder = new EpicContentBuilder(epicFolder, path.dirname(this.specsDir) // Project root
|
|
362
|
+
);
|
|
363
|
+
const body = await contentBuilder.buildIssueBody();
|
|
356
364
|
try {
|
|
357
365
|
// Use DuplicateDetector for full 3-phase protection
|
|
358
366
|
const result = await DuplicateDetector.createWithProtection({
|
|
@@ -377,11 +385,18 @@ export class GitHubEpicSync {
|
|
|
377
385
|
}
|
|
378
386
|
}
|
|
379
387
|
/**
|
|
380
|
-
* Update GitHub Issue for
|
|
388
|
+
* Update GitHub Issue for Epic with hierarchical content (US → Tasks)
|
|
381
389
|
*/
|
|
382
390
|
async updateIssue(epicId, issueNumber, increment, milestoneNumber) {
|
|
383
391
|
const title = `[${epicId}] ${increment.title}`;
|
|
384
|
-
|
|
392
|
+
// Build hierarchical issue body using EpicContentBuilder
|
|
393
|
+
const epicFolder = await this.findEpicFolder(epicId);
|
|
394
|
+
if (!epicFolder) {
|
|
395
|
+
throw new Error(`Epic folder not found for ${epicId}`);
|
|
396
|
+
}
|
|
397
|
+
const contentBuilder = new EpicContentBuilder(epicFolder, path.dirname(this.specsDir) // Project root
|
|
398
|
+
);
|
|
399
|
+
const body = await contentBuilder.buildIssueBody();
|
|
385
400
|
const result = await execFileNoThrow('gh', [
|
|
386
401
|
'issue',
|
|
387
402
|
'edit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-epic-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-epic-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-epic-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-epic-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Enhanced JIRA Spec Content Sync
|
|
3
3
|
*
|
|
4
|
-
* Uses EnhancedContentBuilder for rich epic descriptions.
|
|
5
|
-
*
|
|
4
|
+
* Uses EnhancedContentBuilder and SpecIncrementMapper for rich epic descriptions.
|
|
5
|
+
*
|
|
6
|
+
* NOTE: This version focuses on enhanced content building.
|
|
7
|
+
* Actual JIRA API integration requires jira-spec-sync.ts
|
|
6
8
|
*/
|
|
7
9
|
export interface EnhancedJiraSyncOptions {
|
|
8
10
|
specPath: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
domain?: string;
|
|
12
|
+
project?: string;
|
|
11
13
|
dryRun?: boolean;
|
|
12
14
|
verbose?: boolean;
|
|
13
15
|
}
|
|
@@ -20,7 +22,7 @@ export interface EnhancedJiraSyncResult {
|
|
|
20
22
|
tasksLinked?: number;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Enhanced sync with rich content including task mappings
|
|
24
26
|
*/
|
|
25
|
-
export declare function
|
|
27
|
+
export declare function syncSpecToJiraWithEnhancedContent(options: EnhancedJiraSyncOptions): Promise<EnhancedJiraSyncResult>;
|
|
26
28
|
//# sourceMappingURL=enhanced-jira-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-jira-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enhanced-jira-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CA+FjC"}
|