specweave 0.17.19 → 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 (31) hide show
  1. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +6 -65
  3. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
  4. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +6 -8
  5. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -1
  6. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +117 -78
  7. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -1
  8. package/dist/src/core/types/config.d.ts +0 -20
  9. package/dist/src/core/types/config.d.ts.map +1 -1
  10. package/dist/src/core/types/config.js +0 -7
  11. package/dist/src/core/types/config.js.map +1 -1
  12. package/package.json +1 -1
  13. package/plugins/specweave/hooks/hooks.json +0 -4
  14. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  15. package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +1 -1
  16. package/plugins/specweave-ado/lib/ado-spec-content-sync.js +5 -49
  17. package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +6 -72
  18. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +1 -1
  19. package/plugins/specweave-github/commands/specweave-github-sync-epic.md +1 -1
  20. package/plugins/specweave-github/commands/specweave-github-sync-spec.md +1 -1
  21. package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +1 -1
  22. package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +1 -1
  23. package/plugins/specweave-jira/lib/{enhanced-jira-sync.ts → enhanced-jira-sync.ts.disabled} +52 -26
  24. package/plugins/specweave-release/commands/specweave-release-platform.md +1 -1
  25. package/plugins/specweave-release/hooks/post-task-completion.sh +2 -2
  26. package/dist/src/core/deduplication/command-deduplicator.d.ts +0 -166
  27. package/dist/src/core/deduplication/command-deduplicator.d.ts.map +0 -1
  28. package/dist/src/core/deduplication/command-deduplicator.js +0 -254
  29. package/dist/src/core/deduplication/command-deduplicator.js.map +0 -1
  30. package/plugins/specweave/hooks/pre-command-deduplication.sh +0 -86
  31. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -134
@@ -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;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"}
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;AAKhD,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;AA4ND;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF"}
@@ -9,9 +9,8 @@
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 { SpecIncrementMapper } from '../../../src/core/sync/spec-increment-mapper.js';
13
- import * as path from 'path';
14
- import * as fs from 'fs/promises';
12
+ import path from 'path';
13
+ import fs from 'fs/promises';
15
14
  /**
16
15
  * Sync spec content to ADO feature
17
16
  * Creates feature if it doesn't exist, updates if it does
@@ -58,11 +57,9 @@ export async function syncSpecContentToAdo(options) {
58
57
  async function createAdoFeature(client, spec, options) {
59
58
  const { specPath, dryRun, verbose } = options;
60
59
  try {
61
- // Get task mappings (if available)
62
- const tasks = await getTaskMappings(specPath, spec.id);
63
60
  // Build feature title and description
64
61
  const title = `[${spec.id.toUpperCase()}] ${spec.title}`;
65
- const description = buildAdoDescription(spec, tasks);
62
+ const description = buildAdoDescription(spec);
66
63
  if (verbose) {
67
64
  console.log(`\n📝 Creating ADO feature:`);
68
65
  console.log(` Title: ${title}`);
@@ -141,11 +138,9 @@ async function updateAdoFeature(client, spec, workItemId, options) {
141
138
  console.log(` - ${change}`);
142
139
  }
143
140
  }
144
- // Get task mappings (if available)
145
- const tasks = await getTaskMappings(specPath, spec.id);
146
141
  // Build updated content
147
142
  const newTitle = `[${spec.id.toUpperCase()}] ${spec.title}`;
148
- const newDescription = buildAdoDescription(spec, tasks);
143
+ const newDescription = buildAdoDescription(spec);
149
144
  if (dryRun) {
150
145
  console.log('\n🔍 Dry run - would update feature:');
151
146
  console.log(` Title: ${newTitle}`);
@@ -183,10 +178,10 @@ async function updateAdoFeature(client, spec, workItemId, options) {
183
178
  }
184
179
  }
185
180
  /**
186
- * Build ADO description from spec content with optional task mappings
181
+ * Build ADO description from spec content
187
182
  * ADO supports HTML in description
188
183
  */
189
- function buildAdoDescription(spec, tasks) {
184
+ function buildAdoDescription(spec) {
190
185
  let html = '';
191
186
  // Add spec description
192
187
  if (spec.description) {
@@ -207,66 +202,12 @@ function buildAdoDescription(spec, tasks) {
207
202
  }
208
203
  }
209
204
  }
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
- }
223
205
  // Add metadata
224
206
  if (spec.metadata.priority) {
225
207
  html += `<p><strong>Priority:</strong> ${spec.metadata.priority}</p>`;
226
208
  }
227
209
  return html;
228
210
  }
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
- }
270
211
  /**
271
212
  * Escape HTML special characters
272
213
  */
@@ -1 +1 @@
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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"}
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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"}
@@ -1,15 +1,13 @@
1
1
  /**
2
2
  * Enhanced JIRA Spec Content Sync
3
3
  *
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
4
+ * Uses EnhancedContentBuilder for rich epic descriptions.
5
+ * NEW (v0.21.0): Supports task checkboxes (Jira format) and automatic labeling.
8
6
  */
9
7
  export interface EnhancedJiraSyncOptions {
10
8
  specPath: string;
11
- domain?: string;
12
- project?: string;
9
+ projectKey: string;
10
+ domain: string;
13
11
  dryRun?: boolean;
14
12
  verbose?: boolean;
15
13
  }
@@ -22,7 +20,7 @@ export interface EnhancedJiraSyncResult {
22
20
  tasksLinked?: number;
23
21
  }
24
22
  /**
25
- * Enhanced sync with rich content including task mappings
23
+ * Sync spec to Jira with enhanced content including task checkboxes
26
24
  */
27
- export declare function syncSpecToJiraWithEnhancedContent(options: EnhancedJiraSyncOptions): Promise<EnhancedJiraSyncResult>;
25
+ export declare function syncSpecWithEnhancedContent(options: EnhancedJiraSyncOptions): Promise<EnhancedJiraSyncResult>;
28
26
  //# 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;;;;;;;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"}
1
+ {"version":3,"file":"enhanced-jira-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,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,2BAA2B,CAC/C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CA8KjC"}
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Enhanced JIRA Spec Content Sync
3
3
  *
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
4
+ * Uses EnhancedContentBuilder for rich epic descriptions.
5
+ * NEW (v0.21.0): Supports task checkboxes (Jira format) and automatic labeling.
8
6
  */
7
+ import { JiraClient } from '../../../src/integrations/jira/jira-client.js';
9
8
  import { EnhancedContentBuilder } from '../../../src/core/sync/enhanced-content-builder.js';
10
9
  import { SpecIncrementMapper } from '../../../src/core/sync/spec-increment-mapper.js';
11
10
  import { parseSpecContent } from '../../../src/core/spec-content-sync.js';
12
- import * as path from 'path';
13
- import * as fs from 'fs/promises';
11
+ import { LabelDetector } from '../../../src/core/sync/label-detector.js';
12
+ import path from 'path';
13
+ import fs from 'fs/promises';
14
14
  /**
15
- * Enhanced sync with rich content including task mappings
15
+ * Sync spec to Jira with enhanced content including task checkboxes
16
16
  */
17
- export async function syncSpecToJiraWithEnhancedContent(options) {
18
- const { specPath, domain, project, dryRun = false, verbose = false } = options;
17
+ export async function syncSpecWithEnhancedContent(options) {
18
+ const { specPath, projectKey, domain, dryRun = false, verbose = false } = options;
19
19
  try {
20
20
  // 1. Parse spec content
21
21
  const baseSpec = await parseSpecContent(specPath);
@@ -29,63 +29,130 @@ export async function syncSpecToJiraWithEnhancedContent(options) {
29
29
  if (verbose) {
30
30
  console.log(`📄 Parsed spec: ${baseSpec.identifier.compact}`);
31
31
  }
32
- // 2. Build enhanced spec with task mappings
32
+ // 2. Build task mapping
33
33
  const specId = baseSpec.identifier.full || baseSpec.identifier.compact;
34
34
  const rootDir = await findSpecWeaveRoot(specPath);
35
35
  const mapper = new SpecIncrementMapper(rootDir);
36
36
  const mapping = await mapper.mapSpecToIncrements(specId);
37
37
  if (verbose) {
38
38
  console.log(`🔗 Found ${mapping.increments.length} related increments`);
39
+ console.log(`📋 Mapped ${Object.keys(mapping.userStoryMappings).length} user stories to tasks`);
39
40
  }
40
- // 3. Build enhanced spec content
41
- const taskMapping = buildTaskMapping(mapping.increments);
42
- const architectureDocs = await findArchitectureDocs(rootDir, specId);
41
+ // 3. Build task mapping
42
+ const taskMapping = {
43
+ incrementId: mapping.increments[0]?.id || '',
44
+ tasks: mapping.increments[0]?.tasks.map(t => ({
45
+ id: t.id,
46
+ title: t.title,
47
+ userStories: t.userStories,
48
+ jiraIssue: t.jiraIssue,
49
+ completed: t.status === 'completed',
50
+ status: t.status
51
+ })) || [],
52
+ tasksUrl: `https://github.com/owner/repo/blob/develop/.specweave/increments/${mapping.increments[0]?.id}/tasks.md`
53
+ };
54
+ // 4. Build enhanced spec
43
55
  const enhancedSpec = {
44
56
  ...baseSpec,
45
57
  summary: baseSpec.description,
46
58
  taskMapping,
47
- architectureDocs
59
+ architectureDocs: [],
60
+ sourceLinks: {
61
+ spec: specPath,
62
+ plan: path.join(path.dirname(specPath), 'plan.md'),
63
+ tasks: path.join(path.dirname(specPath), 'tasks.md')
64
+ }
48
65
  };
49
- // 4. Build external description
66
+ // 5. Build Jira description with task checkboxes
50
67
  const builder = new EnhancedContentBuilder();
51
- const description = builder.buildExternalDescription(enhancedSpec);
68
+ const sections = [];
69
+ // Summary
70
+ sections.push(builder.buildSummarySection(enhancedSpec));
71
+ // User stories
72
+ if (enhancedSpec.userStories && enhancedSpec.userStories.length > 0) {
73
+ sections.push(builder.buildUserStoriesSection(enhancedSpec.userStories));
74
+ }
75
+ // Tasks with Jira checkboxes
76
+ if (enhancedSpec.taskMapping) {
77
+ sections.push(builder.buildTasksSection(enhancedSpec.taskMapping, {
78
+ showCheckboxes: true,
79
+ showProgressBar: true,
80
+ showCompletionStatus: false, // Jira doesn't need emoji
81
+ provider: 'jira'
82
+ }));
83
+ }
84
+ // Source links
85
+ if (enhancedSpec.sourceLinks) {
86
+ sections.push(builder.buildSourceLinksSection(enhancedSpec.sourceLinks));
87
+ }
88
+ const description = sections.filter(s => s.length > 0).join('\n\n---\n\n');
52
89
  if (verbose) {
53
- console.log(`📝 Generated description: ${description.length} characters`);
90
+ console.log(`📝 Generated Jira description: ${description.length} characters`);
91
+ }
92
+ // 6. Detect labels
93
+ const labelDetector = new LabelDetector();
94
+ const detection = labelDetector.detectType(await fs.readFile(specPath, 'utf-8'), mapping.increments[0]?.id);
95
+ const jiraLabels = labelDetector.getJiraLabels(detection.type);
96
+ if (verbose) {
97
+ console.log(`🏷️ Detected type: ${detection.type} (${detection.confidence}% confidence)`);
98
+ console.log(` Labels: ${jiraLabels.join(', ')}`);
54
99
  }
55
100
  if (dryRun) {
56
- console.log('🔍 DRY RUN - Would create/update epic with:');
57
- console.log(` Summary: ${baseSpec.title}`);
101
+ console.log('🔍 DRY RUN - Would create/update Jira epic with:');
102
+ console.log(` Title: ${baseSpec.title}`);
58
103
  console.log(` Description length: ${description.length}`);
104
+ console.log(` Labels: ${jiraLabels.join(', ')}`);
105
+ console.log(` Tasks linked: ${taskMapping.tasks.length}`);
59
106
  return {
60
107
  success: true,
61
108
  action: 'no-change',
62
- tasksLinked: taskMapping?.tasks.length || 0
109
+ tasksLinked: taskMapping.tasks.length
63
110
  };
64
111
  }
65
- // 5. Validate domain/project (if not dry run)
66
- if (!dryRun && (!domain || !project)) {
67
- return {
68
- success: false,
69
- action: 'error',
70
- error: 'JIRA domain/project not specified (required for actual sync)',
112
+ // 7. Create or update Jira epic
113
+ const client = new JiraClient(domain, projectKey);
114
+ // Check if epic exists (search by summary containing spec ID)
115
+ const existingEpic = await findExistingEpic(client, baseSpec.identifier.compact);
116
+ let result;
117
+ if (existingEpic) {
118
+ // Update existing epic
119
+ await client.updateIssue(existingEpic.key, {
120
+ fields: {
121
+ description,
122
+ labels: jiraLabels
123
+ }
124
+ });
125
+ result = {
126
+ success: true,
127
+ action: 'updated',
128
+ epicKey: existingEpic.key,
129
+ epicUrl: `https://${domain}.atlassian.net/browse/${existingEpic.key}`,
130
+ tasksLinked: taskMapping.tasks.length
71
131
  };
72
132
  }
73
- // For now, we focus on content building
74
- // Actual JIRA API integration is in jira-spec-sync.ts
75
- const result = {
76
- success: true,
77
- action: dryRun ? 'no-change' : 'created', // Assume create if not dry run
78
- tasksLinked: taskMapping?.tasks.length || 0
79
- };
80
- if (domain && project && !dryRun) {
81
- // In a real implementation, this would use JIRA API
82
- // For now, just simulate success
83
- result.epicKey = `SPEC-001`; // Placeholder
84
- result.epicUrl = `https://${domain}/browse/SPEC-001`;
85
- if (verbose) {
86
- console.log(`⚠️ JIRA API integration not implemented in this file`);
87
- console.log(` Use jira-spec-sync.ts for actual JIRA synchronization`);
88
- }
133
+ else {
134
+ // Create new epic
135
+ const epic = await client.createIssue({
136
+ fields: {
137
+ project: { key: projectKey },
138
+ summary: `[${baseSpec.identifier.compact}] ${baseSpec.title}`,
139
+ description,
140
+ issuetype: { name: 'Epic' },
141
+ labels: jiraLabels
142
+ }
143
+ });
144
+ result = {
145
+ success: true,
146
+ action: 'created',
147
+ epicKey: epic.key,
148
+ epicUrl: `https://${domain}.atlassian.net/browse/${epic.key}`,
149
+ tasksLinked: taskMapping.tasks.length
150
+ };
151
+ }
152
+ if (verbose) {
153
+ console.log(`✅ ${result.action === 'created' ? 'Created' : 'Updated'} epic ${result.epicKey}`);
154
+ console.log(` URL: ${result.epicUrl}`);
155
+ console.log(` Tasks linked: ${result.tasksLinked}`);
89
156
  }
90
157
  return result;
91
158
  }
@@ -97,7 +164,7 @@ export async function syncSpecToJiraWithEnhancedContent(options) {
97
164
  };
98
165
  }
99
166
  }
100
- // Helper functions (similar to GitHub sync)
167
+ // Helper functions
101
168
  async function findSpecWeaveRoot(specPath) {
102
169
  let currentDir = path.dirname(specPath);
103
170
  while (true) {
@@ -115,42 +182,14 @@ async function findSpecWeaveRoot(specPath) {
115
182
  }
116
183
  }
117
184
  }
118
- function buildTaskMapping(increments) {
119
- if (increments.length === 0)
120
- return undefined;
121
- const firstIncrement = increments[0];
122
- const tasks = firstIncrement.tasks.map((task) => ({
123
- id: task.id,
124
- title: task.title,
125
- userStories: task.userStories
126
- }));
127
- return {
128
- incrementId: firstIncrement.id,
129
- tasks,
130
- tasksUrl: `tasks.md` // JIRA doesn't support external links in same way
131
- };
132
- }
133
- async function findArchitectureDocs(rootDir, specId) {
134
- const docs = [];
135
- const archDir = path.join(rootDir, '.specweave/docs/internal/architecture');
185
+ async function findExistingEpic(client, specId) {
136
186
  try {
137
- const adrDir = path.join(archDir, 'adr');
138
- try {
139
- const adrs = await fs.readdir(adrDir);
140
- const relatedAdrs = adrs.filter(file => file.includes(specId.replace('spec-', '')));
141
- for (const adr of relatedAdrs) {
142
- docs.push({
143
- type: 'adr',
144
- path: path.join(adrDir, adr),
145
- title: adr.replace('.md', '').replace(/-/g, ' ')
146
- });
147
- }
148
- }
149
- catch { }
187
+ const jql = `project = ${client.projectKey} AND issuetype = Epic AND summary ~ "${specId}"`;
188
+ const results = await client.searchIssues(jql);
189
+ return results.issues && results.issues.length > 0 ? results.issues[0] : null;
190
+ }
191
+ catch {
192
+ return null;
150
193
  }
151
- catch { }
152
- return docs;
153
194
  }
154
- // NOTE: findExistingEpic not needed in this simplified version
155
- // Real JIRA API integration is in jira-spec-sync.ts
156
195
  //# sourceMappingURL=enhanced-jira-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-jira-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-jira-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"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"}
@@ -91,24 +91,6 @@ export interface TestingConfig {
91
91
  /** Specific coverage targets per test type */
92
92
  coverageTargets: CoverageTargets;
93
93
  }
94
- /**
95
- * Global command deduplication configuration
96
- *
97
- * Prevents ANY command/tool from being invoked twice within a configurable time window.
98
- * Protects against accidental duplicate invocations (router confusion, double-clicks, etc.)
99
- */
100
- export interface DeduplicationConfig {
101
- /** Enable global deduplication (default: true) */
102
- enabled?: boolean;
103
- /** Time window in milliseconds to check for duplicates (default: 1000ms) */
104
- windowMs?: number;
105
- /** Maximum cache entries before cleanup (default: 1000) */
106
- maxCacheSize?: number;
107
- /** Enable debug logging (default: false) */
108
- debug?: boolean;
109
- /** Cleanup interval in milliseconds (default: 60000ms = 1 minute) */
110
- cleanupIntervalMs?: number;
111
- }
112
94
  /**
113
95
  * Complete SpecWeave Configuration
114
96
  *
@@ -129,8 +111,6 @@ export interface SpecweaveConfig {
129
111
  translation?: TranslationConfig;
130
112
  /** WIP limits configuration */
131
113
  limits?: LimitsConfig;
132
- /** Global command deduplication configuration (v0.17.18+) */
133
- deduplication?: DeduplicationConfig;
134
114
  /** Allow additional properties */
135
115
  [key: string]: any;
136
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"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"}
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"}
@@ -42,13 +42,6 @@ export const DEFAULT_CONFIG = {
42
42
  active: 30, // Warn if active >30 days
43
43
  },
44
44
  },
45
- deduplication: {
46
- enabled: true, // v0.17.18+: Prevent duplicate command invocations
47
- windowMs: 1000, // 1 second window
48
- maxCacheSize: 1000, // Keep last 1000 invocations
49
- debug: false, // Disable debug logging
50
- cleanupIntervalMs: 60000, // Cleanup every minute
51
- },
52
45
  hooks: {
53
46
  post_task_completion: {
54
47
  sync_living_docs: true, // CRITICAL: Auto-sync living docs after every task
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAqKxD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM;QACd,sBAAsB,EAAE,IAAI;KAC7B;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE;QACP,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE;YACf,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;SACR;KACF;IACD,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,EAAS,8CAA8C;QAC7E,OAAO,EAAE,CAAC,EAAqB,+BAA+B;QAC9D,uBAAuB,EAAE,IAAI,EAAE,gCAAgC;QAC/D,aAAa,EAAE;YACb,YAAY,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,iCAAiC;YAC1F,eAAe,EAAE;gBACf,UAAU,EAAE,EAAE,EAAa,iCAAiC;aAC7D;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,CAAC,EAAoB,yBAAyB;YACtD,MAAM,EAAE,EAAE,EAAmB,0BAA0B;SACxD;KACF;IACD,aAAa,EAAE;QACb,OAAO,EAAE,IAAI,EAAkB,mDAAmD;QAClF,QAAQ,EAAE,IAAI,EAAiB,kBAAkB;QACjD,YAAY,EAAE,IAAI,EAAa,6BAA6B;QAC5D,KAAK,EAAE,KAAK,EAAmB,wBAAwB;QACvD,iBAAiB,EAAE,KAAK,EAAO,uBAAuB;KACvD;IACD,KAAK,EAAE;QACL,oBAAoB,EAAE;YACpB,gBAAgB,EAAE,IAAI,EAAO,mDAAmD;YAChF,aAAa,EAAE,IAAI,EAAU,yCAAyC;YACtE,qBAAqB,EAAE,IAAI,EAAE,wCAAwC;SACtE;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,iBAAiB;YACrC,QAAQ,EAAE;gBACR,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE;oBAClD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;oBAC7C,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;iBACpD;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,WAAW;iBACvB;gBACD,GAAG,EAAE;oBACH,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,SAAS;iBACrB;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA2IxD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM;QACd,sBAAsB,EAAE,IAAI;KAC7B;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE;QACP,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE;YACf,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;SACR;KACF;IACD,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,EAAS,8CAA8C;QAC7E,OAAO,EAAE,CAAC,EAAqB,+BAA+B;QAC9D,uBAAuB,EAAE,IAAI,EAAE,gCAAgC;QAC/D,aAAa,EAAE;YACb,YAAY,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,iCAAiC;YAC1F,eAAe,EAAE;gBACf,UAAU,EAAE,EAAE,EAAa,iCAAiC;aAC7D;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,CAAC,EAAoB,yBAAyB;YACtD,MAAM,EAAE,EAAE,EAAmB,0BAA0B;SACxD;KACF;IACD,KAAK,EAAE;QACL,oBAAoB,EAAE;YACpB,gBAAgB,EAAE,IAAI,EAAO,mDAAmD;YAChF,aAAa,EAAE,IAAI,EAAU,yCAAyC;YACtE,qBAAqB,EAAE,IAAI,EAAE,wCAAwC;SACtE;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,iBAAiB;YACrC,QAAQ,EAAE;gBACR,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE;oBAClD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;oBAC7C,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;iBACpD;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,WAAW;iBACvB;gBACD,GAAG,EAAE;oBACH,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,SAAS;iBACrB;aACF;SACF;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.17.19",
3
+ "version": "0.18.1",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3,10 +3,6 @@
3
3
  "UserPromptSubmit": [
4
4
  {
5
5
  "hooks": [
6
- {
7
- "type": "command",
8
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-command-deduplication.sh"
9
- },
10
6
  {
11
7
  "type": "command",
12
8
  "command": "${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.sh"
@@ -109,7 +109,7 @@ if [[ ! "$PROVIDER" =~ ^(github|jira|ado)$ ]]; then
109
109
  fi
110
110
 
111
111
  # Check if sync CLI command exists
112
- SYNC_CLI="$PROJECT_ROOT/dist/src/cli/commands/sync-spec-content.js"
112
+ SYNC_CLI="$PROJECT_ROOT/dist/cli/commands/sync-spec-content.js"
113
113
  if [ ! -f "$SYNC_CLI" ]; then
114
114
  echo "ℹ️ Sync CLI not built, skipping spec content sync" >&2
115
115
  echo " Run: npm run build" >&2
@@ -141,7 +141,7 @@ else
141
141
  echo ""
142
142
  echo "⚠️ Spec content sync failed (exit code: $SYNC_EXIT_CODE)" >&2
143
143
  echo " This is non-blocking. You can sync manually later:" >&2
144
- echo " node dist/src/cli/commands/sync-spec-content.js --spec \"$SPEC_PATH\" --provider $PROVIDER" >&2
144
+ echo " node dist/cli/commands/sync-spec-content.js --spec \"$SPEC_PATH\" --provider $PROVIDER" >&2
145
145
  echo ""
146
146
  # Non-blocking: continue execution even if sync fails
147
147
  fi
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specweave-ado:sync-spec
2
+ name: specweave-ado-sync-spec
3
3
  description: Sync SpecWeave spec to Azure DevOps Feature (bidirectional). Use when syncing .specweave/docs/internal/specs/spec-*.md files with ADO Features for permanent feature tracking.
4
4
  ---
5
5