specweave 1.0.301 → 1.0.303
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-github/lib/github-feature-sync-cli.js +6 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +29 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +212 -2
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
- package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
- package/dist/src/cli/commands/refresh-plugins.js +9 -0
- package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
- package/dist/src/config/types.d.ts +2 -2
- package/dist/src/core/increment/increment-utils.d.ts +27 -4
- package/dist/src/core/increment/increment-utils.d.ts.map +1 -1
- package/dist/src/core/increment/increment-utils.js +44 -17
- package/dist/src/core/increment/increment-utils.js.map +1 -1
- package/dist/src/core/increment/template-creator.d.ts +26 -0
- package/dist/src/core/increment/template-creator.d.ts.map +1 -1
- package/dist/src/core/increment/template-creator.js +179 -20
- package/dist/src/core/increment/template-creator.js.map +1 -1
- package/dist/src/importers/import-to-increment.d.ts +111 -0
- package/dist/src/importers/import-to-increment.d.ts.map +1 -0
- package/dist/src/importers/import-to-increment.js +223 -0
- package/dist/src/importers/import-to-increment.js.map +1 -0
- package/dist/src/importers/increment-external-ref-detector.d.ts +78 -0
- package/dist/src/importers/increment-external-ref-detector.d.ts.map +1 -0
- package/dist/src/importers/increment-external-ref-detector.js +130 -0
- package/dist/src/importers/increment-external-ref-detector.js.map +1 -0
- package/dist/src/init/research/types.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/specweave/hooks/stop-auto-v5.sh +2 -2
- package/plugins/specweave/hooks/stop-sync.sh +10 -5
- package/plugins/specweave/hooks/user-prompt-submit.sh +27 -5
- package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +6 -3
- package/plugins/specweave/hooks/v2/handlers/project-bridge-handler.sh +4 -3
- package/plugins/specweave/skills/import/SKILL.md +186 -0
- package/plugins/specweave/skills/increment/SKILL.md +30 -16
- package/plugins/specweave/skills/pm/SKILL.md +29 -2
- package/plugins/specweave/skills/pm/phases/00-deep-interview.md +12 -0
- package/plugins/specweave-github/lib/github-feature-sync-cli.js +5 -0
- package/plugins/specweave-github/lib/github-feature-sync-cli.ts +7 -1
- package/plugins/specweave-github/lib/github-feature-sync.js +225 -2
- package/plugins/specweave-github/lib/github-feature-sync.ts +290 -2
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
* The cache was premature optimization that caused bugs. Scanning 4 directories
|
|
11
11
|
* is fast enough (~5ms) and doesn't need caching.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* Increments
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* PLATFORM SUFFIX CONVENTION (v0.32.0, extended v1.0.272):
|
|
14
|
+
* Increments imported from external tools use platform-specific suffixes:
|
|
15
|
+
* G = GitHub, J = JIRA, A = Azure DevOps, E = Legacy/generic external
|
|
16
|
+
* Example: 0111G-feature-name (from GitHub), 0111J-feature-name (from JIRA)
|
|
17
|
+
* All suffixed variants share the same base number namespace.
|
|
17
18
|
*
|
|
18
19
|
* @module increment-utils
|
|
19
20
|
* @since 0.18.3
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
import * as fs from 'fs';
|
|
22
23
|
import * as path from 'path';
|
|
23
24
|
import { findNextAvailableIdForProject } from '../../utils/feature-id-collision.js';
|
|
25
|
+
import { SUFFIX_MAP } from '../../sync/types.js';
|
|
24
26
|
/**
|
|
25
27
|
* Recognized lifecycle sub-folders under .specweave/increments/
|
|
26
28
|
* Any underscore-prefixed folder not in this list is considered invalid.
|
|
@@ -163,7 +165,7 @@ export class IncrementNumberManager {
|
|
|
163
165
|
if (!entry.isDirectory())
|
|
164
166
|
continue;
|
|
165
167
|
// Match pattern: 0032-name, 032-name, or 0032E-name (external)
|
|
166
|
-
const match = entry.name.match(/^(\d{3,4})
|
|
168
|
+
const match = entry.name.match(/^(\d{3,4})[GJAE]?-/);
|
|
167
169
|
if (match) {
|
|
168
170
|
const entryNumber = match[1].padStart(4, '0');
|
|
169
171
|
if (entryNumber === normalizedNumber) {
|
|
@@ -231,7 +233,7 @@ export class IncrementNumberManager {
|
|
|
231
233
|
// 4. **NEW (v1.0.105)**: Cannot use reserved names (reports, backup, temp, etc.)
|
|
232
234
|
// Match pattern: 0032-name, 032-name, or 0032E-name (external)
|
|
233
235
|
// CRITICAL: Extract BASE number - both 0001 and 0001E → 1
|
|
234
|
-
const match = entry.name.match(/^(\d{3,4})
|
|
236
|
+
const match = entry.name.match(/^(\d{3,4})[GJAE]?-/);
|
|
235
237
|
if (match) {
|
|
236
238
|
const number = parseInt(match[1], 10);
|
|
237
239
|
// **VALIDATION**: Reject 0000 - increment numbers must be positive (0001+)
|
|
@@ -243,7 +245,7 @@ export class IncrementNumberManager {
|
|
|
243
245
|
}
|
|
244
246
|
else {
|
|
245
247
|
// **VALIDATION**: Warn about non-standard increment folder names
|
|
246
|
-
// Valid: XXXX-name,
|
|
248
|
+
// Valid: XXXX-name, XXXX[GJAE]-name
|
|
247
249
|
// Invalid: .specweave, _templates, 0000-adhoc, reports, backup, etc.
|
|
248
250
|
if (!entry.name.startsWith('_')) { // Ignore system folders like _archive
|
|
249
251
|
// **NEW (v1.0.105)**: Check for reserved names
|
|
@@ -305,7 +307,7 @@ export class IncrementNumberManager {
|
|
|
305
307
|
if (!entry.isDirectory())
|
|
306
308
|
continue;
|
|
307
309
|
// Match pattern: 0032-name, 032-name, or 0032E-name (external)
|
|
308
|
-
const match = entry.name.match(/^(\d{3,4})
|
|
310
|
+
const match = entry.name.match(/^(\d{3,4})[GJAE]?-/);
|
|
309
311
|
if (match) {
|
|
310
312
|
totalIncrements++;
|
|
311
313
|
const number = parseInt(match[1], 10);
|
|
@@ -350,6 +352,30 @@ export class IncrementNumberManager {
|
|
|
350
352
|
const baseNumber = this.getNextIncrementNumber(projectRoot);
|
|
351
353
|
return `${baseNumber}E`;
|
|
352
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Generate an increment number with platform-specific suffix.
|
|
357
|
+
*
|
|
358
|
+
* PLATFORM SUFFIX CONVENTION (v1.0.272):
|
|
359
|
+
* - G = GitHub, J = JIRA, A = Azure DevOps
|
|
360
|
+
* - Falls back to E for unknown platforms
|
|
361
|
+
*
|
|
362
|
+
* @param projectRoot - Project root directory
|
|
363
|
+
* @param platform - Source platform ('github' | 'jira' | 'ado')
|
|
364
|
+
* @returns Next increment number with platform suffix (e.g., "0033G")
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```typescript
|
|
368
|
+
* const id = IncrementNumberManager.getNextPlatformIncrementNumber(cwd, 'github');
|
|
369
|
+
* // "0033G" - for use as "0033G-feature-name"
|
|
370
|
+
* ```
|
|
371
|
+
*
|
|
372
|
+
* @since 1.0.272
|
|
373
|
+
*/
|
|
374
|
+
static getNextPlatformIncrementNumber(projectRoot = process.cwd(), platform) {
|
|
375
|
+
const baseNumber = this.getNextIncrementNumber(projectRoot);
|
|
376
|
+
const suffix = SUFFIX_MAP[platform] ?? 'E';
|
|
377
|
+
return `${baseNumber}${suffix}`;
|
|
378
|
+
}
|
|
353
379
|
/**
|
|
354
380
|
* Validate that an increment number is valid (must be >= 0001, never 0000).
|
|
355
381
|
*
|
|
@@ -451,18 +477,19 @@ export class IncrementNumberManager {
|
|
|
451
477
|
* @since 0.32.0
|
|
452
478
|
*/
|
|
453
479
|
static generateIncrementId(name, options = {}) {
|
|
454
|
-
const { isExternal = false, projectRoot = process.cwd(), projectId, skipValidation = false } = options;
|
|
480
|
+
const { isExternal = false, platformSuffix, projectRoot = process.cwd(), projectId, skipValidation = false } = options;
|
|
455
481
|
// 🚨 CRITICAL VALIDATION (v1.0.105): Block reserved names at creation time
|
|
456
482
|
this.validateIncrementName(name);
|
|
457
483
|
// PER-PROJECT COLLISION PREVENTION (v1.0.19+):
|
|
458
484
|
// When projectId is provided, use project-scoped number generation
|
|
459
485
|
// This checks the target project's FS-ID space and skips colliding numbers
|
|
460
486
|
const number = projectId
|
|
461
|
-
? this.getNextIncrementNumberForProject(projectRoot, projectId, { isExternal })
|
|
487
|
+
? this.getNextIncrementNumberForProject(projectRoot, projectId, { isExternal: isExternal || !!platformSuffix })
|
|
462
488
|
: this.getNextIncrementNumber(projectRoot);
|
|
463
489
|
// 🚨 CRITICAL VALIDATION (v1.0.104): Block 0000 at creation time
|
|
464
490
|
this.validateIncrementNumber(number);
|
|
465
|
-
|
|
491
|
+
// Platform suffix takes priority over legacy isExternal flag
|
|
492
|
+
const suffix = platformSuffix ?? (isExternal ? 'E' : '');
|
|
466
493
|
const id = `${number}${suffix}-${name}`;
|
|
467
494
|
// Validate by default to prevent duplicates (v0.34.0+)
|
|
468
495
|
if (!skipValidation) {
|
|
@@ -493,7 +520,7 @@ export class IncrementNumberManager {
|
|
|
493
520
|
const number = this.extractNumber(incrementId);
|
|
494
521
|
if (!number) {
|
|
495
522
|
throw new Error(`Invalid increment ID format: "${incrementId}". ` +
|
|
496
|
-
`Expected format: "XXXX-name" (e.g., "0141-my-feature") or "
|
|
523
|
+
`Expected format: "XXXX-name" (e.g., "0141-my-feature") or "XXXX[GJAE]-name" for external items.`);
|
|
497
524
|
}
|
|
498
525
|
// 🚨 CRITICAL VALIDATION (v1.0.104): Block 0000 at validation time
|
|
499
526
|
this.validateIncrementNumber(number);
|
|
@@ -506,7 +533,7 @@ export class IncrementNumberManager {
|
|
|
506
533
|
duplicates.map(d => ` - ${d}`).join('\n') + `\n\n` +
|
|
507
534
|
`CRITICAL: Increment IDs MUST be unique. This prevents confusion and sync issues.\n\n` +
|
|
508
535
|
`FIX: Use the next available number: ${nextNumber}\n` +
|
|
509
|
-
`Suggested ID: ${nextNumber}
|
|
536
|
+
`Suggested ID: ${nextNumber}-${incrementId.replace(/^\d{3,4}[GJAE]?-/, '')}`);
|
|
510
537
|
}
|
|
511
538
|
}
|
|
512
539
|
/**
|
|
@@ -527,7 +554,7 @@ export class IncrementNumberManager {
|
|
|
527
554
|
* @since 0.32.0
|
|
528
555
|
*/
|
|
529
556
|
static isExternalIncrement(incrementId) {
|
|
530
|
-
return /^\d{3,4}
|
|
557
|
+
return /^\d{3,4}[GJAE]-/.test(incrementId);
|
|
531
558
|
}
|
|
532
559
|
/**
|
|
533
560
|
* Extract the numeric part from an increment ID.
|
|
@@ -547,7 +574,7 @@ export class IncrementNumberManager {
|
|
|
547
574
|
* @since 0.32.0
|
|
548
575
|
*/
|
|
549
576
|
static extractNumber(incrementId) {
|
|
550
|
-
const match = incrementId.match(/^(\d{3,4})
|
|
577
|
+
const match = incrementId.match(/^(\d{3,4})[GJAE]?-/);
|
|
551
578
|
if (match) {
|
|
552
579
|
return match[1].padStart(4, '0');
|
|
553
580
|
}
|
|
@@ -591,7 +618,7 @@ export class IncrementNumberManager {
|
|
|
591
618
|
for (const entry of entries) {
|
|
592
619
|
if (!entry.isDirectory())
|
|
593
620
|
continue;
|
|
594
|
-
const match = entry.name.match(/^(\d{3,4})
|
|
621
|
+
const match = entry.name.match(/^(\d{3,4})[GJAE]?-/);
|
|
595
622
|
if (match) {
|
|
596
623
|
const entryNumber = match[1].padStart(4, '0');
|
|
597
624
|
if (entryNumber === normalizedNumber) {
|
|
@@ -637,7 +664,7 @@ export class IncrementNumberManager {
|
|
|
637
664
|
if (otherDuplicates.length > 0) {
|
|
638
665
|
throw new Error(`Duplicate increment number detected! Number ${number} already exists:\n` +
|
|
639
666
|
otherDuplicates.map(d => ` - ${d}`).join('\n') +
|
|
640
|
-
`\n\nIMPORTANT: 0001
|
|
667
|
+
`\n\nIMPORTANT: All suffix variants (0001, 0001G, 0001J, 0001A, 0001E) share the SAME base number.\n` +
|
|
641
668
|
`Use getNextIncrementNumber() to get a unique number.`);
|
|
642
669
|
}
|
|
643
670
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"increment-utils.js","sourceRoot":"","sources":["../../../../src/core/increment/increment-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"increment-utils.js","sourceRoot":"","sources":["../../../../src/core/increment/increment-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,30 @@ export declare const TEMPLATE_MARKERS: {
|
|
|
40
40
|
/**
|
|
41
41
|
* Options for creating increment templates.
|
|
42
42
|
*/
|
|
43
|
+
/**
|
|
44
|
+
* External source metadata for imported issues.
|
|
45
|
+
* @since 1.0.272
|
|
46
|
+
*/
|
|
47
|
+
export interface ExternalSourceInfo {
|
|
48
|
+
/** Source platform */
|
|
49
|
+
platform: 'github' | 'jira' | 'ado';
|
|
50
|
+
/** Platform-specific external ID (e.g., "github#owner/repo#123") */
|
|
51
|
+
externalId: string;
|
|
52
|
+
/** URL to the external issue */
|
|
53
|
+
externalUrl: string;
|
|
54
|
+
/** Original issue title */
|
|
55
|
+
title: string;
|
|
56
|
+
/** Original issue description/body */
|
|
57
|
+
description: string;
|
|
58
|
+
/** Extracted acceptance criteria */
|
|
59
|
+
acceptanceCriteria?: string[];
|
|
60
|
+
/** External labels/tags */
|
|
61
|
+
labels?: string[];
|
|
62
|
+
/** External priority */
|
|
63
|
+
priority?: string;
|
|
64
|
+
/** External status */
|
|
65
|
+
status?: string;
|
|
66
|
+
}
|
|
43
67
|
export interface CreateTemplateOptions {
|
|
44
68
|
/** Increment ID (e.g., "0001-stripe-dashboard-mvp") */
|
|
45
69
|
incrementId: string;
|
|
@@ -61,6 +85,8 @@ export interface CreateTemplateOptions {
|
|
|
61
85
|
coverageTarget?: number;
|
|
62
86
|
/** Project root directory */
|
|
63
87
|
projectRoot?: string;
|
|
88
|
+
/** External source metadata for imported issues (v1.0.272) */
|
|
89
|
+
externalSource?: ExternalSourceInfo;
|
|
64
90
|
}
|
|
65
91
|
/**
|
|
66
92
|
* Result of template creation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-creator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/template-creator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B,4CAA4C;;IAE5C,oCAAoC;;IAEpC,+BAA+B;;IAE/B,kCAAkC;;IAElC,mCAAmC;;IAEnC,oCAAoC;;IAEpC,sCAAsC;;IAEtC,qCAAqC;;IAErC,kCAAkC;;IAElC,kCAAkC;;CAEnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"template-creator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/template-creator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B,4CAA4C;;IAE5C,oCAAoC;;IAEpC,+BAA+B;;IAE/B,kCAAkC;;IAElC,mCAAmC;;IAEnC,oCAAoC;;IAEpC,sCAAsC;;IAEtC,qCAAqC;;IAErC,kCAAkC;;IAElC,kCAAkC;;CAEnC,CAAC;AAEF;;GAEG;AACH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAgIjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA+BxD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAyCA;;;;;;QAvVC,4CAA4C;;QAE5C,oCAAoC;;QAEpC,+BAA+B;;QAE/B,kCAAkC;;QAElC,mCAAmC;;QAEnC,oCAAoC;;QAEpC,sCAAsC;;QAEtC,qCAAqC;;QAErC,kCAAkC;;QAElC,kCAAkC;;;;AAswBpC,wBAKE"}
|
|
@@ -67,7 +67,7 @@ export const TEMPLATE_MARKERS = {
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
export async function createIncrementTemplates(options) {
|
|
70
|
-
const { incrementId, title, description, projectId, boardId, type = 'feature', priority = 'P1', testMode = 'test-after', coverageTarget = 80, projectRoot = process.cwd(), } = options;
|
|
70
|
+
const { incrementId, title, description, projectId, boardId, type = 'feature', priority = 'P1', testMode = 'test-after', coverageTarget = 80, projectRoot = process.cwd(), externalSource, } = options;
|
|
71
71
|
const incrementsDir = path.join(projectRoot, '.specweave', 'increments');
|
|
72
72
|
const incrementPath = path.join(incrementsDir, incrementId);
|
|
73
73
|
const createdFiles = [];
|
|
@@ -91,21 +91,46 @@ export async function createIncrementTemplates(options) {
|
|
|
91
91
|
epic_id: null,
|
|
92
92
|
externalLinks: {},
|
|
93
93
|
};
|
|
94
|
+
// Add external source tracking for imported issues (v1.0.272)
|
|
95
|
+
if (externalSource) {
|
|
96
|
+
metadata.origin = 'external';
|
|
97
|
+
metadata.source_platform = externalSource.platform;
|
|
98
|
+
metadata.external_ref = externalSource.externalId;
|
|
99
|
+
metadata.externalLinks = {
|
|
100
|
+
[externalSource.platform]: {
|
|
101
|
+
url: externalSource.externalUrl,
|
|
102
|
+
synced: new Date().toISOString(),
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
94
106
|
fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2));
|
|
95
107
|
createdFiles.push('metadata.json');
|
|
96
|
-
// 2. Create spec.md
|
|
108
|
+
// 2. Create spec.md — pre-filled from external source or template
|
|
97
109
|
const specPath = path.join(incrementPath, 'spec.md');
|
|
98
|
-
const specContent =
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
const specContent = externalSource
|
|
111
|
+
? generateExternalSpecContent({
|
|
112
|
+
incrementId,
|
|
113
|
+
title,
|
|
114
|
+
description: externalSource.description || description,
|
|
115
|
+
projectId,
|
|
116
|
+
boardId,
|
|
117
|
+
type,
|
|
118
|
+
priority: externalSource.priority || priority,
|
|
119
|
+
testMode,
|
|
120
|
+
coverageTarget,
|
|
121
|
+
externalSource,
|
|
122
|
+
})
|
|
123
|
+
: generateSpecTemplate({
|
|
124
|
+
incrementId,
|
|
125
|
+
title,
|
|
126
|
+
description,
|
|
127
|
+
projectId,
|
|
128
|
+
boardId,
|
|
129
|
+
type,
|
|
130
|
+
priority,
|
|
131
|
+
testMode,
|
|
132
|
+
coverageTarget,
|
|
133
|
+
});
|
|
109
134
|
fs.writeFileSync(specPath, specContent);
|
|
110
135
|
createdFiles.push('spec.md');
|
|
111
136
|
// 3. Create plan.md TEMPLATE
|
|
@@ -113,20 +138,29 @@ export async function createIncrementTemplates(options) {
|
|
|
113
138
|
const planContent = generatePlanTemplate({ title });
|
|
114
139
|
fs.writeFileSync(planPath, planContent);
|
|
115
140
|
createdFiles.push('plan.md');
|
|
116
|
-
// 4. Create tasks.md
|
|
141
|
+
// 4. Create tasks.md — derived from external ACs or template
|
|
117
142
|
const tasksPath = path.join(incrementPath, 'tasks.md');
|
|
118
|
-
const tasksContent =
|
|
143
|
+
const tasksContent = externalSource?.acceptanceCriteria?.length
|
|
144
|
+
? generateExternalTasksContent({ title, testMode, acceptanceCriteria: externalSource.acceptanceCriteria })
|
|
145
|
+
: generateTasksTemplate({ title, testMode });
|
|
119
146
|
fs.writeFileSync(tasksPath, tasksContent);
|
|
120
147
|
createdFiles.push('tasks.md');
|
|
148
|
+
const nextSteps = externalSource
|
|
149
|
+
? [
|
|
150
|
+
`Imported from ${externalSource.platform}: ${externalSource.externalUrl}`,
|
|
151
|
+
`Review and refine spec: /sw:do ${incrementId}`,
|
|
152
|
+
`Start working: /sw:auto ${incrementId}`,
|
|
153
|
+
]
|
|
154
|
+
: [
|
|
155
|
+
`Complete product specification: Tell Claude "Complete the spec for increment ${incrementId}"`,
|
|
156
|
+
`Design architecture: Tell Claude "Design architecture for increment ${incrementId}"`,
|
|
157
|
+
`Generate tasks: Tell Claude "Create tasks for increment ${incrementId}"`,
|
|
158
|
+
];
|
|
121
159
|
return {
|
|
122
160
|
success: true,
|
|
123
161
|
incrementPath,
|
|
124
162
|
createdFiles,
|
|
125
|
-
nextSteps
|
|
126
|
-
`Complete product specification: Tell Claude "Complete the spec for increment ${incrementId}"`,
|
|
127
|
-
`Design architecture: Tell Claude "Design architecture for increment ${incrementId}"`,
|
|
128
|
-
`Generate tasks: Tell Claude "Create tasks for increment ${incrementId}"`,
|
|
129
|
-
],
|
|
163
|
+
nextSteps,
|
|
130
164
|
};
|
|
131
165
|
}
|
|
132
166
|
catch (error) {
|
|
@@ -471,6 +505,131 @@ This will activate the test-aware planner which will:
|
|
|
471
505
|
- [ ] [T051] Verify all acceptance criteria
|
|
472
506
|
`;
|
|
473
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Generate spec.md content pre-filled from an external issue.
|
|
510
|
+
*
|
|
511
|
+
* Unlike the template version, this generates real content from the
|
|
512
|
+
* external issue's title, description, and acceptance criteria.
|
|
513
|
+
*
|
|
514
|
+
* @since 1.0.272
|
|
515
|
+
*/
|
|
516
|
+
function generateExternalSpecContent(options) {
|
|
517
|
+
const { incrementId, title, description, projectId, boardId, type, priority, testMode, coverageTarget, externalSource, } = options;
|
|
518
|
+
const date = new Date().toISOString().split('T')[0];
|
|
519
|
+
const boardLine = boardId ? `**Board**: ${boardId}\n` : '';
|
|
520
|
+
const platformLabel = externalSource.platform === 'github' ? 'GitHub'
|
|
521
|
+
: externalSource.platform === 'jira' ? 'JIRA'
|
|
522
|
+
: 'Azure DevOps';
|
|
523
|
+
// Build acceptance criteria from external source
|
|
524
|
+
const acs = externalSource.acceptanceCriteria ?? [];
|
|
525
|
+
const acLines = acs.length > 0
|
|
526
|
+
? acs.map((ac, i) => `- [ ] **AC-US1-${String(i + 1).padStart(2, '0')}**: ${ac}`).join('\n')
|
|
527
|
+
: `- [ ] **AC-US1-01**: [Review and define acceptance criteria from imported issue]`;
|
|
528
|
+
// Build labels section
|
|
529
|
+
const labelsLine = externalSource.labels?.length
|
|
530
|
+
? `\n**Labels**: ${externalSource.labels.join(', ')}`
|
|
531
|
+
: '';
|
|
532
|
+
return `---
|
|
533
|
+
increment: ${incrementId}
|
|
534
|
+
title: "${title}"
|
|
535
|
+
type: ${type}
|
|
536
|
+
priority: ${priority}
|
|
537
|
+
status: planned
|
|
538
|
+
created: ${date}
|
|
539
|
+
structure: user-stories
|
|
540
|
+
test_mode: ${testMode}
|
|
541
|
+
coverage_target: ${coverageTarget}
|
|
542
|
+
source_platform: ${externalSource.platform}
|
|
543
|
+
external_ref: "${externalSource.externalId}"
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
# Feature: ${title}
|
|
547
|
+
|
|
548
|
+
<!-- IMPORTED FROM ${platformLabel}: ${externalSource.externalUrl} -->
|
|
549
|
+
|
|
550
|
+
## Overview
|
|
551
|
+
|
|
552
|
+
${description || `Imported from ${platformLabel}. See original issue for full context.`}
|
|
553
|
+
|
|
554
|
+
## External Source
|
|
555
|
+
|
|
556
|
+
- **Platform**: ${platformLabel}
|
|
557
|
+
- **URL**: ${externalSource.externalUrl}
|
|
558
|
+
- **External ID**: ${externalSource.externalId}
|
|
559
|
+
- **Import Date**: ${date}
|
|
560
|
+
|
|
561
|
+
## User Stories
|
|
562
|
+
|
|
563
|
+
### US-001: ${title} (${priority})
|
|
564
|
+
**Project**: ${projectId}
|
|
565
|
+
${boardLine}
|
|
566
|
+
**As a** user
|
|
567
|
+
**I want** ${title.toLowerCase()}
|
|
568
|
+
**So that** the issue tracked in ${platformLabel} is resolved${labelsLine}
|
|
569
|
+
|
|
570
|
+
**Acceptance Criteria**:
|
|
571
|
+
${acLines}
|
|
572
|
+
|
|
573
|
+
## Functional Requirements
|
|
574
|
+
|
|
575
|
+
${description ? `### FR-001: ${title}\n${description}` : `### FR-001: [To be defined from imported issue]`}
|
|
576
|
+
|
|
577
|
+
## Success Criteria
|
|
578
|
+
|
|
579
|
+
- All acceptance criteria from the imported ${platformLabel} issue are met
|
|
580
|
+
- Original issue can be closed/resolved after verification
|
|
581
|
+
`;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Generate tasks.md content derived from external acceptance criteria.
|
|
585
|
+
*
|
|
586
|
+
* Each AC becomes a task with a BDD test skeleton.
|
|
587
|
+
*
|
|
588
|
+
* @since 1.0.272
|
|
589
|
+
*/
|
|
590
|
+
function generateExternalTasksContent(options) {
|
|
591
|
+
const { title, acceptanceCriteria } = options;
|
|
592
|
+
const taskEntries = acceptanceCriteria.map((ac, i) => {
|
|
593
|
+
const taskNum = String(i + 1).padStart(3, '0');
|
|
594
|
+
return `#### T-${taskNum}: ${ac}
|
|
595
|
+
|
|
596
|
+
**Description**: Implement and verify: ${ac}
|
|
597
|
+
|
|
598
|
+
**References**: AC-US1-${String(i + 1).padStart(2, '0')}
|
|
599
|
+
|
|
600
|
+
**Test Plan**:
|
|
601
|
+
- **Tests**:
|
|
602
|
+
- **TC-${taskNum}**: Verify ${ac}
|
|
603
|
+
- Given the system is set up
|
|
604
|
+
- When the feature is implemented
|
|
605
|
+
- Then ${ac}
|
|
606
|
+
|
|
607
|
+
**Status**: [ ] Not Started`;
|
|
608
|
+
}).join('\n\n');
|
|
609
|
+
return `# Tasks: ${title}
|
|
610
|
+
|
|
611
|
+
<!-- IMPORTED — Tasks derived from external acceptance criteria -->
|
|
612
|
+
|
|
613
|
+
## Task Notation
|
|
614
|
+
|
|
615
|
+
- \`[T###]\`: Task ID
|
|
616
|
+
- \`[P]\`: Parallelizable
|
|
617
|
+
- \`[ ]\`: Not started
|
|
618
|
+
- \`[x]\`: Completed
|
|
619
|
+
- Model hints: haiku (simple), opus (default)
|
|
620
|
+
|
|
621
|
+
## Phase 1: Core Implementation
|
|
622
|
+
|
|
623
|
+
### US-001: ${title} (P1)
|
|
624
|
+
|
|
625
|
+
${taskEntries}
|
|
626
|
+
|
|
627
|
+
## Phase 2: Verification
|
|
628
|
+
|
|
629
|
+
- [ ] [T${String(acceptanceCriteria.length + 1).padStart(3, '0')}] Run all tests
|
|
630
|
+
- [ ] [T${String(acceptanceCriteria.length + 2).padStart(3, '0')}] Verify all acceptance criteria
|
|
631
|
+
`;
|
|
632
|
+
}
|
|
474
633
|
export default {
|
|
475
634
|
createIncrementTemplates,
|
|
476
635
|
isTemplateFile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-creator.js","sourceRoot":"","sources":["../../../../src/core/increment/template-creator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,4CAA4C;IAC5C,WAAW,EAAE,eAAe;IAC5B,oCAAoC;IACpC,SAAS,EAAE,aAAa;IACxB,+BAA+B;IAC/B,IAAI,EAAE,QAAQ;IACd,kCAAkC;IAClC,OAAO,EAAE,WAAW;IACpB,mCAAmC;IACnC,SAAS,EAAE,gCAAgC;IAC3C,oCAAoC;IACpC,SAAS,EAAE,eAAe;IAC1B,sCAAsC;IACtC,WAAW,EAAE,yBAAyB;IACtC,qCAAqC;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,kCAAkC;IAClC,mBAAmB,EAAE,iBAAiB;IACtC,kCAAkC;IAClC,mBAAmB,EAAE,oBAAoB;CAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"template-creator.js","sourceRoot":"","sources":["../../../../src/core/increment/template-creator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,4CAA4C;IAC5C,WAAW,EAAE,eAAe;IAC5B,oCAAoC;IACpC,SAAS,EAAE,aAAa;IACxB,+BAA+B;IAC/B,IAAI,EAAE,QAAQ;IACd,kCAAkC;IAClC,OAAO,EAAE,WAAW;IACpB,mCAAmC;IACnC,SAAS,EAAE,gCAAgC;IAC3C,oCAAoC;IACpC,SAAS,EAAE,eAAe;IAC1B,sCAAsC;IACtC,WAAW,EAAE,yBAAyB;IACtC,qCAAqC;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,kCAAkC;IAClC,mBAAmB,EAAE,iBAAiB;IACtC,kCAAkC;IAClC,mBAAmB,EAAE,oBAAoB;CAC1C,CAAC;AAuEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA8B;IAE9B,MAAM,EACJ,WAAW,EACX,KAAK,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,GAAG,SAAS,EAChB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,YAAY,EACvB,cAAc,GAAG,EAAE,EACnB,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAC3B,cAAc,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,wBAAwB;QACxB,sBAAsB,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEpE,6BAA6B;QAC7B,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAA4B;YACxC,EAAE,EAAE,WAAW;YACf,MAAM,EAAE,SAAS;YACjB,IAAI;YACJ,QAAQ;YACR,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,QAAQ;YACR,cAAc;YACd,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,8DAA8D;QAC9D,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;YAC7B,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;YACnD,QAAQ,CAAC,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC;YAClD,QAAQ,CAAC,aAAa,GAAG;gBACvB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;oBACzB,GAAG,EAAE,cAAc,CAAC,WAAW;oBAC/B,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACjC;aACF,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnC,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,cAAc;YAChC,CAAC,CAAC,2BAA2B,CAAC;gBAC1B,WAAW;gBACX,KAAK;gBACL,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,WAAW;gBACtD,SAAS;gBACT,OAAO;gBACP,IAAI;gBACJ,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,QAAQ;gBAC7C,QAAQ;gBACR,cAAc;gBACd,cAAc;aACf,CAAC;YACJ,CAAC,CAAC,oBAAoB,CAAC;gBACnB,WAAW;gBACX,KAAK;gBACL,WAAW;gBACX,SAAS;gBACT,OAAO;gBACP,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,cAAc;aACf,CAAC,CAAC;QACP,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,cAAc,EAAE,kBAAkB,EAAE,MAAM;YAC7D,CAAC,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAC1G,CAAC,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC1C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,cAAc;YAC9B,CAAC,CAAC;gBACE,iBAAiB,cAAc,CAAC,QAAQ,KAAK,cAAc,CAAC,WAAW,EAAE;gBACzE,kCAAkC,WAAW,EAAE;gBAC/C,2BAA2B,WAAW,EAAE;aACzC;YACH,CAAC,CAAC;gBACE,gFAAgF,WAAW,GAAG;gBAC9F,uEAAuE,WAAW,GAAG;gBACrF,2DAA2D,WAAW,GAAG;aAC1E,CAAC;QAEN,OAAO;YACL,OAAO,EAAE,IAAI;YACb,aAAa;YACb,YAAY;YACZ,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,aAAa;YACb,YAAY;YACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnD,6BAA6B;IAC7B,MAAM,kBAAkB,GACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAEzD,iCAAiC;IACjC,MAAM,eAAe,GACnB,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;QAClD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;YACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjC,sDAAsD;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,kBAAkB,GACtB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAC1B,SAAS,CAAC,MAAM,GAAG,CAAC;QACpB,kBAAkB,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC;IAEtD,OAAO,kBAAkB,IAAI,eAAe,IAAI,sBAAsB,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IAIrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnD,kCAAkC;IAClC,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACzE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC/B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAU7B;IACC,MAAM,EACJ,WAAW,EACX,KAAK,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO;aACI,WAAW;UACd,KAAK;QACP,IAAI;YACA,QAAQ;;WAET,IAAI;;aAEF,QAAQ;mBACF,cAAc;;;aAGpB,KAAK;;;;EAIhB,WAAW;;;;;;;;;;;kDAWqC,WAAW;;;;;;;;;;;;;;eAc9C,SAAS;EACtB,SAAS;;;;;;;;;;;;eAYI,SAAS;EACtB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBV,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAA0B;IACtD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE1B,OAAO,0BAA0B,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEvC,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,OAG9B;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE1B,gDAAgD;IAChD,2DAA2D;IAC3D,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CAAC,KAAa;IAClD,OAAO,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEzB,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,OAWpC;IACC,MAAM,EACJ,WAAW,EACX,KAAK,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACnE,CAAC,CAAC,cAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM;YAC7C,CAAC,CAAC,cAAc,CAAC;IAEnB,iDAAiD;IACjD,MAAM,GAAG,GAAG,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5F,CAAC,CAAC,kFAAkF,CAAC;IAEvF,uBAAuB;IACvB,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM;QAC9C,CAAC,CAAC,iBAAiB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;aACI,WAAW;UACd,KAAK;QACP,IAAI;YACA,QAAQ;;WAET,IAAI;;aAEF,QAAQ;mBACF,cAAc;mBACd,cAAc,CAAC,QAAQ;iBACzB,cAAc,CAAC,UAAU;;;aAG7B,KAAK;;qBAEG,aAAa,KAAK,cAAc,CAAC,WAAW;;;;EAI/D,WAAW,IAAI,iBAAiB,aAAa,wCAAwC;;;;kBAIrE,aAAa;aAClB,cAAc,CAAC,WAAW;qBAClB,cAAc,CAAC,UAAU;qBACzB,IAAI;;;;cAIX,KAAK,KAAK,QAAQ;eACjB,SAAS;EACtB,SAAS;;aAEE,KAAK,CAAC,WAAW,EAAE;mCACG,aAAa,eAAe,UAAU;;;EAGvE,OAAO;;;;EAIP,WAAW,CAAC,CAAC,CAAC,eAAe,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,iDAAiD;;;;8CAI5D,aAAa;;CAE1D,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,4BAA4B,CAAC,OAIrC;IACC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/C,OAAO,UAAU,OAAO,KAAK,EAAE;;yCAEM,EAAE;;yBAElB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;;;WAI5C,OAAO,cAAc,EAAE;;;aAGrB,EAAE;;4BAEa,CAAC;IAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,YAAY,KAAK;;;;;;;;;;;;;;cAcZ,KAAK;;EAEjB,WAAW;;;;UAIH,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;UACtD,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;CAC/D,CAAC;AACF,CAAC;AAED,eAAe;IACb,wBAAwB;IACxB,cAAc;IACd,sBAAsB;IACtB,gBAAgB;CACjB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import-to-Increment Converter
|
|
3
|
+
*
|
|
4
|
+
* Bridges the gap between ExternalItem (imported from GitHub/JIRA/ADO)
|
|
5
|
+
* and SpecWeave increment creation with platform-specific suffixes.
|
|
6
|
+
*
|
|
7
|
+
* @module import-to-increment
|
|
8
|
+
* @since 1.0.272
|
|
9
|
+
*/
|
|
10
|
+
import { type Platform } from '../sync/types.js';
|
|
11
|
+
import type { ExternalItem } from './external-importer.js';
|
|
12
|
+
/**
|
|
13
|
+
* Result of a single increment import.
|
|
14
|
+
*/
|
|
15
|
+
export interface ImportedIncrement {
|
|
16
|
+
/** Full increment ID (e.g., "0271G-fix-login-bug") */
|
|
17
|
+
incrementId: string;
|
|
18
|
+
/** Absolute path to created increment directory */
|
|
19
|
+
incrementPath: string;
|
|
20
|
+
/** Canonical external reference */
|
|
21
|
+
externalRef: string;
|
|
22
|
+
/** Source platform */
|
|
23
|
+
platform: Platform;
|
|
24
|
+
/** Files created in the increment */
|
|
25
|
+
createdFiles: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of a skipped (duplicate) import.
|
|
29
|
+
*/
|
|
30
|
+
export interface SkippedImport {
|
|
31
|
+
/** The external item that was skipped */
|
|
32
|
+
item: ExternalItem;
|
|
33
|
+
/** Canonical external reference */
|
|
34
|
+
externalRef: string;
|
|
35
|
+
/** Existing increment ID that already has this ref */
|
|
36
|
+
existingIncrementId: string;
|
|
37
|
+
/** Reason for skipping */
|
|
38
|
+
reason: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Result of a batch import operation.
|
|
42
|
+
*/
|
|
43
|
+
export interface BatchImportResult {
|
|
44
|
+
/** Successfully created increments */
|
|
45
|
+
created: ImportedIncrement[];
|
|
46
|
+
/** Skipped duplicate imports */
|
|
47
|
+
skipped: SkippedImport[];
|
|
48
|
+
/** Errors encountered */
|
|
49
|
+
errors: Array<{
|
|
50
|
+
item: ExternalItem;
|
|
51
|
+
error: string;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Options for the import-to-increment converter.
|
|
56
|
+
*/
|
|
57
|
+
export interface ImportToIncrementOptions {
|
|
58
|
+
/** Project root directory */
|
|
59
|
+
projectRoot: string;
|
|
60
|
+
/** Target project ID (for per-project collision prevention) */
|
|
61
|
+
projectId?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Converts external items (from GitHub/JIRA/ADO) into SpecWeave increments
|
|
65
|
+
* with platform-specific suffixes (G/J/A) and duplicate prevention.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const converter = new ImportToIncrementConverter({
|
|
70
|
+
* projectRoot: '/path/to/project',
|
|
71
|
+
* projectId: 'my-app',
|
|
72
|
+
* });
|
|
73
|
+
*
|
|
74
|
+
* const result = await converter.createIncrement(externalItem);
|
|
75
|
+
* console.log(result.incrementId); // "0271G-fix-login-bug"
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare class ImportToIncrementConverter {
|
|
79
|
+
private projectRoot;
|
|
80
|
+
private projectId?;
|
|
81
|
+
private refDetector;
|
|
82
|
+
constructor(options: ImportToIncrementOptions);
|
|
83
|
+
/**
|
|
84
|
+
* Check if an external item has already been imported as an increment.
|
|
85
|
+
*
|
|
86
|
+
* @param item - External item to check
|
|
87
|
+
* @returns Existing increment ID if found, null otherwise
|
|
88
|
+
*/
|
|
89
|
+
checkDuplicate(item: ExternalItem): string | null;
|
|
90
|
+
/**
|
|
91
|
+
* Create a single increment from an external item.
|
|
92
|
+
*
|
|
93
|
+
* @param item - External item to import
|
|
94
|
+
* @returns Created increment details
|
|
95
|
+
* @throws Error if item is a duplicate (use checkDuplicate first) or creation fails
|
|
96
|
+
*/
|
|
97
|
+
createIncrement(item: ExternalItem): Promise<ImportedIncrement>;
|
|
98
|
+
/**
|
|
99
|
+
* Batch create increments from multiple external items.
|
|
100
|
+
* Automatically deduplicates and reports skipped items.
|
|
101
|
+
*
|
|
102
|
+
* @param items - External items to import
|
|
103
|
+
* @returns Batch result with created, skipped, and error arrays
|
|
104
|
+
*/
|
|
105
|
+
createIncrements(items: ExternalItem[]): Promise<BatchImportResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Build a canonical external_ref string from an ExternalItem.
|
|
108
|
+
*/
|
|
109
|
+
private buildExternalRef;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=import-to-increment.d.ts.map
|