specweave 0.18.0 → 0.18.1

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 (69) hide show
  1. package/dist/locales/de/.gitkeep +0 -0
  2. package/dist/locales/de/cli.json +108 -0
  3. package/dist/locales/en/cli.json +287 -0
  4. package/dist/locales/en/errors.json +7 -0
  5. package/dist/locales/en/templates.json +6 -0
  6. package/dist/locales/es/.gitkeep +0 -0
  7. package/dist/locales/es/cli.json +41 -0
  8. package/dist/locales/fr/.gitkeep +0 -0
  9. package/dist/locales/fr/cli.json +108 -0
  10. package/dist/locales/ja/.gitkeep +0 -0
  11. package/dist/locales/ja/cli.json +108 -0
  12. package/dist/locales/ko/.gitkeep +0 -0
  13. package/dist/locales/ko/cli.json +108 -0
  14. package/dist/locales/pt/.gitkeep +0 -0
  15. package/dist/locales/pt/cli.json +108 -0
  16. package/dist/locales/ru/.gitkeep +0 -0
  17. package/dist/locales/ru/cli.json +269 -0
  18. package/dist/locales/zh/.gitkeep +0 -0
  19. package/dist/locales/zh/cli.json +108 -0
  20. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts +25 -0
  21. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts.map +1 -0
  22. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js +191 -0
  23. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js.map +1 -0
  24. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +63 -0
  25. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +1 -0
  26. package/dist/plugins/specweave-github/lib/epic-content-builder.js +216 -0
  27. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +1 -0
  28. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +2 -2
  29. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -1
  30. package/dist/plugins/specweave-github/lib/github-epic-sync.js +19 -4
  31. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -1
  32. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +26 -0
  33. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -0
  34. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +195 -0
  35. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -0
  36. package/dist/spec-parser.js +629 -0
  37. package/dist/src/cli/commands/init.d.ts.map +1 -1
  38. package/dist/src/cli/commands/init.js +107 -3
  39. package/dist/src/cli/commands/init.js.map +1 -1
  40. package/dist/src/core/sync/enhanced-content-builder.d.ts +32 -54
  41. package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
  42. package/dist/src/core/sync/enhanced-content-builder.js +141 -138
  43. package/dist/src/core/sync/enhanced-content-builder.js.map +1 -1
  44. package/dist/src/core/sync/spec-content-sync.d.ts +88 -0
  45. package/dist/src/core/sync/spec-content-sync.d.ts.map +1 -0
  46. package/dist/src/core/sync/spec-content-sync.js +5 -0
  47. package/dist/src/core/sync/spec-content-sync.js.map +1 -0
  48. package/dist/src/core/sync/types.d.ts +52 -0
  49. package/dist/src/core/sync/types.d.ts.map +1 -0
  50. package/dist/src/core/sync/types.js +5 -0
  51. package/dist/src/core/sync/types.js.map +1 -0
  52. package/dist/src/core/types/config.d.ts +31 -0
  53. package/dist/src/core/types/config.d.ts.map +1 -1
  54. package/dist/src/core/types/config.js +9 -0
  55. package/dist/src/core/types/config.js.map +1 -1
  56. package/dist/src/core/types/increment-metadata.d.ts +4 -0
  57. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  58. package/dist/src/core/types/increment-metadata.js.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -0
  60. package/package.json +1 -1
  61. package/plugins/specweave/agents/pm/AGENT.md +159 -12
  62. package/plugins/specweave/commands/specweave.md +70 -405
  63. package/plugins/specweave/hooks/post-increment-planning.sh +26 -2
  64. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
  65. package/plugins/specweave-github/hooks/post-task-completion.sh +32 -0
  66. package/plugins/specweave-github/lib/epic-content-builder.js +227 -0
  67. package/plugins/specweave-github/lib/epic-content-builder.ts +317 -0
  68. package/plugins/specweave-github/lib/github-epic-sync.js +23 -24
  69. package/plugins/specweave-github/lib/github-epic-sync.ts +29 -4
@@ -1,198 +1,201 @@
1
1
  /**
2
2
  * Enhanced Content Builder
3
3
  *
4
- * Builds rich external issue descriptions with full spec content including:
5
- * - Executive summary
6
- * - User stories with collapsible sections
7
- * - Acceptance criteria
8
- * - Task links with GitHub issue numbers
9
- * - Architecture references
10
- * - Source links
4
+ * Builds rich external issue descriptions with full spec content
5
+ * for GitHub, JIRA, and Azure DevOps integrations.
11
6
  */
12
7
  export class EnhancedContentBuilder {
13
8
  /**
14
- * Build complete external issue description with all spec content
9
+ * Build complete external description from spec
15
10
  */
16
11
  buildExternalDescription(spec) {
17
12
  const sections = [];
18
- // Summary section
13
+ // 1. Executive Summary
19
14
  sections.push(this.buildSummarySection(spec));
20
- // User stories section
21
- if (spec.userStories && spec.userStories.length > 0) {
22
- sections.push(this.buildUserStoriesSection(spec.userStories));
15
+ // 2. User Stories (collapsible in GitHub)
16
+ sections.push(this.buildUserStoriesSection(spec.userStories));
17
+ // 3. Linked Tasks (if available)
18
+ if (spec.tasks && spec.tasks.length > 0) {
19
+ sections.push(this.buildTasksSection(spec.tasks));
23
20
  }
24
- // Tasks section
25
- if (spec.taskMapping) {
26
- sections.push(this.buildTasksSection(spec.taskMapping));
27
- }
28
- // Architecture section
21
+ // 4. Architecture References (if available)
29
22
  if (spec.architectureDocs && spec.architectureDocs.length > 0) {
30
23
  sections.push(this.buildArchitectureSection(spec.architectureDocs));
31
24
  }
32
- // Source links section
25
+ // 5. Source Links (if available)
33
26
  if (spec.sourceLinks) {
34
27
  sections.push(this.buildSourceLinksSection(spec.sourceLinks));
35
28
  }
36
- return sections.filter(s => s.length > 0).join('\n\n---\n\n');
29
+ return sections.join('\n\n');
37
30
  }
38
31
  /**
39
- * Build summary section with executive overview
32
+ * Build summary section
40
33
  */
41
34
  buildSummarySection(spec) {
42
- return `## Summary\n\n${spec.summary || spec.description}`;
35
+ return `## Summary\n\n${spec.summary}`;
43
36
  }
44
37
  /**
45
- * Build user stories section with collapsible GitHub sections
38
+ * Build user stories section with collapsible details
46
39
  */
47
40
  buildUserStoriesSection(userStories) {
48
- const lines = ['## User Stories'];
41
+ if (!userStories || userStories.length === 0) {
42
+ return `## User Stories\n\nNo user stories defined.`;
43
+ }
44
+ const sections = ['## User Stories'];
49
45
  for (const story of userStories) {
50
- lines.push('');
51
- lines.push(`<details>`);
52
- lines.push(`<summary><strong>${story.id}: ${story.title}</strong></summary>`);
53
- lines.push('');
54
- if (story.acceptanceCriteria && story.acceptanceCriteria.length > 0) {
55
- lines.push('**Acceptance Criteria**:');
56
- for (const ac of story.acceptanceCriteria) {
57
- const priority = ac.priority ? ` (${ac.priority}` : '';
58
- const testable = ac.testable ? ', testable)' : ')';
59
- const suffix = priority || ac.testable ? `${priority}${testable}` : '';
60
- const checkbox = ac.completed ? '[x]' : '[ ]';
61
- lines.push(`- ${checkbox} **${ac.id}**: ${ac.description}${suffix}`);
62
- }
63
- lines.push('');
64
- }
65
- lines.push('</details>');
46
+ const storySection = this.buildUserStoryDetails(story);
47
+ sections.push(storySection);
66
48
  }
67
- return lines.join('\n');
49
+ return sections.join('\n\n');
68
50
  }
69
51
  /**
70
- * Build tasks section with checkboxes (GitHub/Jira/ADO compatible)
71
- *
72
- * NEW: Shows tasks as checkboxes with completion status
52
+ * Build individual user story with collapsible details
73
53
  */
74
- buildTasksSection(taskMapping, options) {
75
- const { showCheckboxes = true, showProgressBar = true, showCompletionStatus = true, provider = 'github' } = options || {};
76
- const lines = ['## Tasks'];
77
- lines.push('');
78
- // Calculate progress
79
- const total = taskMapping.tasks.length;
80
- const completed = taskMapping.tasks.filter(t => t.completed || t.status === 'completed').length;
81
- const percent = total > 0 ? Math.round((completed / total) * 100) : 0;
82
- // Progress header with count
83
- lines.push(`**Progress**: ${completed}/${total} tasks completed (${percent}%)`);
54
+ buildUserStoryDetails(story) {
55
+ const lines = [];
56
+ // Use GitHub collapsible format
57
+ lines.push(`<details>`);
58
+ lines.push(`<summary><strong>${story.id}: ${story.title}</strong></summary>`);
84
59
  lines.push('');
85
- // Progress bar (visual)
86
- if (showProgressBar && total > 0) {
87
- const barWidth = 12;
88
- const filled = Math.round((completed / total) * barWidth);
89
- const bar = '█'.repeat(filled) + '░'.repeat(barWidth - filled);
90
- lines.push(`\`${bar}\` ${percent}%`);
60
+ // Add description if available
61
+ if (story.description) {
62
+ lines.push(`**Description**: ${story.description}`);
91
63
  lines.push('');
92
64
  }
93
- // Tasks list
94
- if (showCheckboxes) {
95
- // Show tasks as checkboxes (provider-specific format)
96
- for (const task of taskMapping.tasks) {
97
- const isCompleted = task.completed || task.status === 'completed';
98
- // Provider-specific checkbox format
99
- let checkbox;
100
- if (provider === 'jira') {
101
- // Jira uses (x) for checked, ( ) for unchecked
102
- checkbox = isCompleted ? '(x)' : '( )';
103
- }
104
- else if (provider === 'ado') {
105
- // ADO uses HTML checkboxes (rendered in description)
106
- checkbox = isCompleted ? '[x]' : '[ ]';
107
- }
108
- else {
109
- // GitHub uses markdown checkboxes
110
- checkbox = isCompleted ? '[x]' : '[ ]';
111
- }
112
- const statusEmoji = isCompleted && showCompletionStatus && provider === 'github' ? ' ✅' : '';
113
- // Issue link (provider-specific)
114
- let issueLink = '';
115
- if (provider === 'github' && task.githubIssue) {
116
- issueLink = ` [#${task.githubIssue}](https://github.com/issue/${task.githubIssue})`;
117
- }
118
- else if (provider === 'jira' && task.jiraIssue) {
119
- issueLink = ` [${task.jiraIssue}]`;
120
- }
121
- else if (provider === 'ado' && task.adoWorkItem) {
122
- issueLink = ` [#${task.adoWorkItem}]`;
65
+ // Acceptance Criteria
66
+ if (story.acceptanceCriteria && story.acceptanceCriteria.length > 0) {
67
+ lines.push('**Acceptance Criteria**:');
68
+ lines.push('');
69
+ // Group by priority
70
+ const byPriority = this.groupAcceptanceCriteriaByPriority(story.acceptanceCriteria);
71
+ for (const priority of ['P1', 'P2', 'P3', 'OTHER']) {
72
+ const criteria = byPriority[priority];
73
+ if (criteria && criteria.length > 0) {
74
+ for (const ac of criteria) {
75
+ const priorityLabel = ac.priority ? ` (${ac.priority})` : '';
76
+ lines.push(`- **${ac.id}**${priorityLabel}: ${ac.description}`);
77
+ }
123
78
  }
124
- // User stories
125
- const userStories = task.userStories && task.userStories.length > 0
126
- ? ` (implements ${task.userStories.join(', ')})`
127
- : '';
128
- lines.push(`- ${checkbox} **${task.id}**: ${task.title}${userStories}${issueLink}${statusEmoji}`);
129
79
  }
130
80
  }
131
81
  else {
132
- // Fallback: show as bullet list (backward compatibility)
133
- for (const task of taskMapping.tasks) {
134
- const issueLink = task.githubIssue ? ` (#${task.githubIssue})` : '';
135
- lines.push(`- **${task.id}**: ${task.title}${issueLink}`);
136
- if (task.userStories && task.userStories.length > 0) {
137
- lines.push(` - Implements: ${task.userStories.join(', ')}`);
138
- }
139
- }
82
+ lines.push('**Acceptance Criteria**: No acceptance criteria defined.');
140
83
  }
141
84
  lines.push('');
142
- lines.push(`**Full task list**: [tasks.md](${taskMapping.tasksUrl})`);
85
+ lines.push('</details>');
143
86
  return lines.join('\n');
144
87
  }
145
88
  /**
146
- * Build architecture references section
89
+ * Group acceptance criteria by priority
147
90
  */
148
- buildArchitectureSection(architectureDocs) {
149
- if (architectureDocs.length === 0) {
150
- return '';
91
+ groupAcceptanceCriteriaByPriority(criteria) {
92
+ const grouped = {
93
+ P1: [],
94
+ P2: [],
95
+ P3: [],
96
+ OTHER: [] // For criteria without priority or with other priorities
97
+ };
98
+ for (const ac of criteria) {
99
+ const priority = ac.priority || 'OTHER';
100
+ if (priority in grouped) {
101
+ grouped[priority].push(ac);
102
+ }
103
+ else {
104
+ grouped.OTHER.push(ac);
105
+ }
151
106
  }
152
- const lines = ['## Architecture'];
153
- lines.push('');
154
- // Group by type
155
- const adrs = architectureDocs.filter(doc => doc.type === 'adr');
156
- const hlds = architectureDocs.filter(doc => doc.type === 'hld');
157
- const diagrams = architectureDocs.filter(doc => doc.type === 'diagram');
158
- if (adrs.length > 0) {
159
- lines.push('**Architecture Decision Records (ADRs)**:');
160
- for (const adr of adrs) {
161
- lines.push(`- [${adr.title}](${adr.path})`);
107
+ return grouped;
108
+ }
109
+ /**
110
+ * Build tasks section with GitHub issue links
111
+ * Supports both simple array and options object for backward compatibility
112
+ */
113
+ buildTasksSection(tasks, ownerOrOptions, repo) {
114
+ // Handle both old and new signatures
115
+ let taskList;
116
+ let owner;
117
+ let options = {};
118
+ if (Array.isArray(tasks)) {
119
+ taskList = tasks;
120
+ if (typeof ownerOrOptions === 'string') {
121
+ owner = ownerOrOptions;
122
+ }
123
+ else if (typeof ownerOrOptions === 'object') {
124
+ options = ownerOrOptions;
162
125
  }
163
- lines.push('');
164
126
  }
165
- if (hlds.length > 0) {
166
- lines.push('**High-Level Design (HLD)**:');
167
- for (const hld of hlds) {
168
- lines.push(`- [${hld.title}](${hld.path})`);
127
+ else {
128
+ // tasks is actually taskMapping object
129
+ taskList = tasks?.tasks || [];
130
+ if (typeof ownerOrOptions === 'object') {
131
+ options = ownerOrOptions;
132
+ owner = tasks?.owner;
133
+ repo = tasks?.repo;
169
134
  }
135
+ }
136
+ if (!taskList || taskList.length === 0) {
137
+ return `## Tasks\n\nNo tasks defined.`;
138
+ }
139
+ const lines = ['## Tasks'];
140
+ lines.push('');
141
+ // Add progress bar if requested
142
+ if (options.showProgressBar && taskList.length > 0) {
143
+ const completed = taskList.filter(t => t.completed).length;
144
+ const total = taskList.length;
145
+ const percentage = Math.round((completed / total) * 100);
146
+ lines.push(`**Progress**: ${completed}/${total} tasks (${percentage}%)`);
170
147
  lines.push('');
171
148
  }
172
- if (diagrams.length > 0) {
173
- lines.push('**Diagrams**:');
174
- for (const diagram of diagrams) {
175
- lines.push(`- [${diagram.title}](${diagram.path})`);
149
+ for (const task of taskList) {
150
+ let taskLine = '';
151
+ // Add checkbox if requested
152
+ if (options.showCheckboxes) {
153
+ taskLine += task.completed ? '- [x] ' : '- [ ] ';
176
154
  }
177
- lines.push('');
155
+ else {
156
+ taskLine += '- ';
157
+ }
158
+ taskLine += `**${task.id}**: ${task.title}`;
159
+ // Add GitHub issue link if available
160
+ if (task.githubIssue && owner && repo) {
161
+ const issueUrl = `https://github.com/${owner}/${repo}/issues/${task.githubIssue}`;
162
+ taskLine += ` ([#${task.githubIssue}](${issueUrl}))`;
163
+ }
164
+ // Add user story references
165
+ if (task.userStoryIds && task.userStoryIds.length > 0) {
166
+ taskLine += ` → Implements: ${task.userStoryIds.join(', ')}`;
167
+ }
168
+ // Add completion status if requested
169
+ if (options.showCompletionStatus && task.completed) {
170
+ taskLine += ' ✅';
171
+ }
172
+ lines.push(taskLine);
178
173
  }
179
- return lines.join('\n').trim();
174
+ return lines.join('\n');
175
+ }
176
+ /**
177
+ * Build architecture section
178
+ */
179
+ buildArchitectureSection(docs) {
180
+ const lines = ['## Architecture'];
181
+ lines.push('');
182
+ lines.push('Related architecture documentation:');
183
+ lines.push('');
184
+ for (const doc of docs) {
185
+ const fileName = doc.split('/').pop() || doc;
186
+ lines.push(`- [${fileName}](${doc})`);
187
+ }
188
+ return lines.join('\n');
180
189
  }
181
190
  /**
182
191
  * Build source links section
183
192
  */
184
193
  buildSourceLinksSection(sourceLinks) {
185
- const lines = ['## Source'];
194
+ const lines = ['## Source Files'];
186
195
  lines.push('');
187
- if (sourceLinks.spec) {
188
- lines.push(`- [spec.md](${sourceLinks.spec})`);
189
- }
190
- if (sourceLinks.plan) {
191
- lines.push(`- [plan.md](${sourceLinks.plan})`);
192
- }
193
- if (sourceLinks.tasks) {
194
- lines.push(`- [tasks.md](${sourceLinks.tasks})`);
195
- }
196
+ lines.push(`- **Specification**: [spec.md](${sourceLinks.spec})`);
197
+ lines.push(`- **Technical Plan**: [plan.md](${sourceLinks.plan})`);
198
+ lines.push(`- **Task List**: [tasks.md](${sourceLinks.tasks})`);
196
199
  return lines.join('\n');
197
200
  }
198
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-content-builder.js","sourceRoot":"","sources":["../../../../src/core/sync/enhanced-content-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-content-builder.js","sourceRoot":"","sources":["../../../../src/core/sync/enhanced-content-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Type definitions for spec content synchronization with external tools
3
+ */
4
+ export interface SpecIdentifier {
5
+ /** Compact format: SPEC-0031 */
6
+ compact: string;
7
+ /** Full format: spec-0031-external-tool-status-sync */
8
+ full: string;
9
+ }
10
+ export interface AcceptanceCriterion {
11
+ /** AC identifier: AC-US1-01 */
12
+ id: string;
13
+ /** Description of the acceptance criterion */
14
+ description: string;
15
+ /** Priority: P1, P2, P3 */
16
+ priority?: string;
17
+ /** Whether this criterion is testable */
18
+ testable?: boolean;
19
+ }
20
+ export interface UserStory {
21
+ /** User story ID: 001, 002, etc. */
22
+ id: string;
23
+ /** Title of the user story */
24
+ title: string;
25
+ /** As a... (role) */
26
+ asA: string;
27
+ /** I want... (action) */
28
+ iWant: string;
29
+ /** So that... (benefit) */
30
+ soThat: string;
31
+ /** Acceptance criteria for this user story */
32
+ acceptanceCriteria: AcceptanceCriterion[];
33
+ }
34
+ export interface Task {
35
+ /** Task ID: T-001, T-002, etc. */
36
+ id: string;
37
+ /** Title of the task */
38
+ title: string;
39
+ /** User stories this task implements */
40
+ userStories: string[];
41
+ /** GitHub issue number (if synced) */
42
+ githubIssue?: number;
43
+ }
44
+ export interface TaskMapping {
45
+ /** Increment ID this mapping belongs to */
46
+ incrementId: string;
47
+ /** Tasks from the increment */
48
+ tasks: Task[];
49
+ /** URL to tasks.md file */
50
+ tasksUrl: string;
51
+ }
52
+ export interface ArchitectureDoc {
53
+ /** Type of architecture document */
54
+ type: 'adr' | 'hld' | 'diagram';
55
+ /** Path to the document */
56
+ path: string;
57
+ /** Title/description of the document */
58
+ title: string;
59
+ }
60
+ export interface SourceLinks {
61
+ /** Link to spec.md */
62
+ spec?: string;
63
+ /** Link to plan.md */
64
+ plan?: string;
65
+ /** Link to tasks.md */
66
+ tasks?: string;
67
+ }
68
+ export interface SpecContent {
69
+ /** Spec identifier */
70
+ identifier: SpecIdentifier;
71
+ /** Title of the spec */
72
+ title: string;
73
+ /** Project this spec belongs to */
74
+ project: string;
75
+ /** Executive summary */
76
+ summary: string;
77
+ /** User stories */
78
+ userStories: UserStory[];
79
+ /** Metadata (priority, etc.) */
80
+ metadata: Record<string, any>;
81
+ /** Task mapping (optional) */
82
+ taskMapping?: TaskMapping;
83
+ /** Architecture documents (optional) */
84
+ architectureDocs?: ArchitectureDoc[];
85
+ /** Source links (optional) */
86
+ sourceLinks?: SourceLinks;
87
+ }
88
+ //# sourceMappingURL=spec-content-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/sync/spec-content-sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,IAAI;IACnB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAChC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,UAAU,EAAE,cAAc,CAAC;IAC3B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,8BAA8B;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for spec content synchronization with external tools
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=spec-content-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-content-sync.js","sourceRoot":"","sources":["../../../../src/core/sync/spec-content-sync.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Types for Enhanced Content Sync
3
+ */
4
+ export interface AcceptanceCriterion {
5
+ id: string;
6
+ description: string;
7
+ priority?: string;
8
+ completed?: boolean;
9
+ testable?: boolean;
10
+ }
11
+ export interface UserStory {
12
+ id: string;
13
+ title: string;
14
+ description?: string;
15
+ acceptanceCriteria?: AcceptanceCriterion[];
16
+ }
17
+ export interface TaskLink {
18
+ id: string;
19
+ title: string;
20
+ githubIssue?: number;
21
+ jiraIssue?: string;
22
+ adoWorkItem?: number;
23
+ userStoryIds: string[];
24
+ completed?: boolean;
25
+ }
26
+ export interface SourceLinks {
27
+ spec: string;
28
+ plan: string;
29
+ tasks: string;
30
+ }
31
+ export interface SpecContent {
32
+ id: string;
33
+ title: string;
34
+ summary: string;
35
+ userStories: UserStory[];
36
+ tasks?: TaskLink[];
37
+ architectureDocs?: string[];
38
+ sourceLinks?: SourceLinks;
39
+ }
40
+ export interface EnhancedContent {
41
+ title: string;
42
+ body: string;
43
+ }
44
+ /**
45
+ * Enhanced spec content for external tool sync
46
+ * Extends SpecContent with additional metadata
47
+ */
48
+ export interface EnhancedSpecContent extends SpecContent {
49
+ taskMapping?: any;
50
+ [key: string]: any;
51
+ }
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/sync/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for Enhanced Content Sync
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/sync/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -62,6 +62,35 @@ export interface AdapterConfig {
62
62
  /** Additional adapter settings */
63
63
  [key: string]: any;
64
64
  }
65
+ /**
66
+ * Testing mode options
67
+ */
68
+ export type TestMode = 'TDD' | 'test-after' | 'manual';
69
+ /**
70
+ * Coverage target configuration
71
+ */
72
+ export interface CoverageTargets {
73
+ /** Unit test coverage target (70-95%) */
74
+ unit: number;
75
+ /** Integration test coverage target (70-95%) */
76
+ integration: number;
77
+ /** E2E test coverage target (70-95%) */
78
+ e2e: number;
79
+ }
80
+ /**
81
+ * Testing configuration
82
+ *
83
+ * Controls default testing approach and coverage targets for all increments.
84
+ * Can be overridden per-increment via frontmatter.
85
+ */
86
+ export interface TestingConfig {
87
+ /** Default testing mode for new increments */
88
+ defaultTestMode: TestMode;
89
+ /** Default overall coverage target (70-95%) */
90
+ defaultCoverageTarget: number;
91
+ /** Specific coverage targets per test type */
92
+ coverageTargets: CoverageTargets;
93
+ }
65
94
  /**
66
95
  * Complete SpecWeave Configuration
67
96
  *
@@ -74,6 +103,8 @@ export interface SpecweaveConfig {
74
103
  project?: ProjectMetadata;
75
104
  /** Adapter configuration */
76
105
  adapters?: AdapterConfig;
106
+ /** Testing configuration */
107
+ testing?: TestingConfig;
77
108
  /** Primary language for generated content and CLI */
78
109
  language?: SupportedLanguage;
79
110
  /** Translation settings for multilingual support */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,wCAAwC;IACxC,aAAa,CAAC,EAAE;QACd,mEAAmE;QACnE,YAAY,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;QAE1C,yDAAyD;QACzD,eAAe,CAAC,EAAE;YAChB,yDAAyD;YACzD,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IAEF,mCAAmC;IACnC,SAAS,CAAC,EAAE;QACV,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE1C,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,uBAAuB;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,eAAe,CAgEnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,wCAAwC;IACxC,aAAa,CAAC,EAAE;QACd,mEAAmE;QACnE,YAAY,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;QAE1C,yDAAyD;QACzD,eAAe,CAAC,EAAE;YAChB,yDAAyD;YACzD,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IAEF,mCAAmC;IACnC,SAAS,CAAC,EAAE;QACV,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE1C,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,eAAe,EAAE,QAAQ,CAAC;IAE1B,+CAA+C;IAC/C,qBAAqB,EAAE,MAAM,CAAC;IAE9B,8CAA8C;IAC9C,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,uBAAuB;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,eAAe,CAyEnD,CAAC"}
@@ -18,6 +18,15 @@ export const DEFAULT_CONFIG = {
18
18
  adapters: {
19
19
  default: 'claude',
20
20
  },
21
+ testing: {
22
+ defaultTestMode: 'TDD',
23
+ defaultCoverageTarget: 80,
24
+ coverageTargets: {
25
+ unit: 85,
26
+ integration: 80,
27
+ e2e: 90,
28
+ },
29
+ },
21
30
  limits: {
22
31
  maxActiveIncrements: 1, // v0.7.0+: 1 active increment (maximum focus)
23
32
  hardCap: 2, // Emergency ceiling (never >2)