specweave 0.30.9 → 0.30.11

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 (36) hide show
  1. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +46 -12
  3. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  5. package/dist/plugins/specweave-github/lib/github-feature-sync.js +14 -4
  6. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  7. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -1
  8. package/dist/plugins/specweave-github/lib/user-story-content-builder.js +5 -1
  9. package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -1
  10. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
  11. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +9 -2
  12. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
  13. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/repository-setup.js +64 -2
  15. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  16. package/dist/src/cli/helpers/project-count-fetcher.js +33 -2
  17. package/dist/src/cli/helpers/project-count-fetcher.js.map +1 -1
  18. package/dist/src/core/living-docs/living-docs-sync.d.ts +9 -0
  19. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  20. package/dist/src/core/living-docs/living-docs-sync.js +170 -6
  21. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  22. package/dist/src/integrations/ado/ado-client.d.ts +22 -0
  23. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -1
  24. package/dist/src/integrations/ado/ado-client.js +89 -37
  25. package/dist/src/integrations/ado/ado-client.js.map +1 -1
  26. package/package.json +1 -1
  27. package/plugins/specweave/commands/specweave-sync-specs.md +46 -37
  28. package/plugins/specweave-ado/lib/ado-client-v2.js +43 -8
  29. package/plugins/specweave-ado/lib/ado-client-v2.ts +52 -12
  30. package/plugins/specweave-github/lib/github-feature-sync.js +11 -3
  31. package/plugins/specweave-github/lib/github-feature-sync.ts +16 -4
  32. package/plugins/specweave-github/lib/user-story-content-builder.js +3 -1
  33. package/plugins/specweave-github/lib/user-story-content-builder.ts +5 -1
  34. package/plugins/specweave-github/lib/user-story-issue-builder.js +6 -2
  35. package/plugins/specweave-github/lib/user-story-issue-builder.ts +10 -2
  36. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +10 -8
@@ -60,6 +60,70 @@ export class AdoClient {
60
60
  const auth = Buffer.from(`:${this.credentials.pat}`).toString('base64');
61
61
  return `Basic ${auth}`;
62
62
  }
63
+ /**
64
+ * Safely parse JSON response with HTML detection
65
+ *
66
+ * Azure DevOps may return HTML error pages instead of JSON when:
67
+ * - PAT is invalid/expired
68
+ * - Organization name is wrong
69
+ * - Corporate proxy/firewall intercepts the request
70
+ * - SSO redirect occurs
71
+ *
72
+ * @param response - Fetch response object (body must not be consumed)
73
+ * @returns Parsed JSON data
74
+ * @throws Error with helpful message if response is not valid JSON
75
+ */
76
+ async safeParseJson(response) {
77
+ const contentType = response.headers.get('content-type') || '';
78
+ const responseText = await response.text();
79
+ // Check if response looks like HTML
80
+ const looksLikeHtml = responseText.trim().startsWith('<!DOCTYPE') ||
81
+ responseText.trim().startsWith('<html') ||
82
+ responseText.trim().startsWith('<HTML') ||
83
+ (!contentType.includes('application/json') && responseText.includes('<'));
84
+ if (looksLikeHtml) {
85
+ const possibleCauses = [
86
+ 'Invalid or expired Personal Access Token (PAT)',
87
+ `Incorrect organization name "${this.credentials.organization}"`,
88
+ 'Corporate firewall or proxy intercepting the request',
89
+ 'SSO/authentication redirect (try accessing Azure DevOps in browser first)',
90
+ 'Network connectivity issues'
91
+ ];
92
+ throw new Error(`Azure DevOps returned HTML instead of JSON.\n` +
93
+ `This usually indicates an authentication or configuration issue.\n\n` +
94
+ `Possible causes:\n` +
95
+ possibleCauses.map(cause => `• ${cause}`).join('\n'));
96
+ }
97
+ // Try to parse as JSON
98
+ try {
99
+ return JSON.parse(responseText);
100
+ }
101
+ catch (parseError) {
102
+ const preview = responseText.substring(0, 200);
103
+ throw new Error(`Azure DevOps returned invalid JSON.\n` +
104
+ `Response preview: ${preview}${responseText.length > 200 ? '...' : ''}`);
105
+ }
106
+ }
107
+ /**
108
+ * Handle non-OK response with helpful error messages
109
+ *
110
+ * @param response - Fetch response with !response.ok
111
+ * @param context - Context for error message (e.g., "querying work items")
112
+ * @throws Error with details
113
+ */
114
+ async handleErrorResponse(response, context) {
115
+ const errorText = await response.text();
116
+ const looksLikeHtml = errorText.trim().startsWith('<!DOCTYPE') ||
117
+ errorText.trim().startsWith('<html');
118
+ if (looksLikeHtml) {
119
+ throw new Error(`ADO API Error (${response.status}) while ${context}.\n` +
120
+ `Azure DevOps returned an HTML error page, which typically indicates:\n` +
121
+ `• Invalid or expired PAT\n` +
122
+ `• Incorrect organization/project name\n` +
123
+ `• Corporate proxy or SSO redirect`);
124
+ }
125
+ throw new Error(`ADO API Error (${response.status}): ${errorText}`);
126
+ }
63
127
  /**
64
128
  * List work items with filtering
65
129
  */
@@ -77,10 +141,9 @@ export class AdoClient {
77
141
  body: JSON.stringify({ query: wiql })
78
142
  });
79
143
  if (!response.ok) {
80
- const error = await response.text();
81
- throw new Error(`ADO API Error (${response.status}): ${error}`);
144
+ await this.handleErrorResponse(response, 'querying work items');
82
145
  }
83
- const queryResult = await response.json();
146
+ const queryResult = await this.safeParseJson(response);
84
147
  const workItemIds = queryResult.workItems?.map((wi) => wi.id) || [];
85
148
  if (workItemIds.length === 0) {
86
149
  moduleLogger.info('✅ No work items found matching the filter');
@@ -154,10 +217,9 @@ export class AdoClient {
154
217
  }
155
218
  });
156
219
  if (!response.ok) {
157
- const error = await response.text();
158
- throw new Error(`ADO API Error (${response.status}): ${error}`);
220
+ await this.handleErrorResponse(response, 'fetching work items');
159
221
  }
160
- const data = await response.json();
222
+ const data = await this.safeParseJson(response);
161
223
  allWorkItems.push(...(data.value || []));
162
224
  }
163
225
  moduleLogger.info(`✅ Retrieved ${allWorkItems.length} work items from Azure DevOps`);
@@ -245,10 +307,9 @@ export class AdoClient {
245
307
  body: JSON.stringify(operations)
246
308
  });
247
309
  if (!response.ok) {
248
- const error = await response.text();
249
- throw new Error(`ADO API Error (${response.status}): ${error}`);
310
+ await this.handleErrorResponse(response, `creating ${item.workItemType}`);
250
311
  }
251
- const workItem = await response.json();
312
+ const workItem = await this.safeParseJson(response);
252
313
  moduleLogger.info(`✅ Created ${item.workItemType} #${workItem.id}: ${item.title}`);
253
314
  // Link to parent if specified
254
315
  if (item.parentId) {
@@ -325,10 +386,9 @@ export class AdoClient {
325
386
  body: JSON.stringify(operations)
326
387
  });
327
388
  if (!response.ok) {
328
- const error = await response.text();
329
- throw new Error(`ADO API Error (${response.status}): ${error}`);
389
+ await this.handleErrorResponse(response, `updating work item #${update.id}`);
330
390
  }
331
- const workItem = await response.json();
391
+ const workItem = await this.safeParseJson(response);
332
392
  moduleLogger.info(`✅ Updated work item #${update.id}`);
333
393
  return workItem;
334
394
  }
@@ -379,10 +439,9 @@ export class AdoClient {
379
439
  }
380
440
  });
381
441
  if (!response.ok) {
382
- const error = await response.text();
383
- throw new Error(`ADO API Error (${response.status}): ${error}`);
442
+ await this.handleErrorResponse(response, 'fetching current iteration');
384
443
  }
385
- const data = await response.json();
444
+ const data = await this.safeParseJson(response);
386
445
  const iterations = data.value || [];
387
446
  if (iterations.length === 0) {
388
447
  moduleLogger.warn('⚠️ No current iteration found');
@@ -402,10 +461,9 @@ export class AdoClient {
402
461
  }
403
462
  });
404
463
  if (!response.ok) {
405
- const error = await response.text();
406
- throw new Error(`ADO API Error (${response.status}): ${error}`);
464
+ await this.handleErrorResponse(response, 'fetching iterations');
407
465
  }
408
- const data = await response.json();
466
+ const data = await this.safeParseJson(response);
409
467
  return data.value || [];
410
468
  }
411
469
  /**
@@ -420,10 +478,9 @@ export class AdoClient {
420
478
  }
421
479
  });
422
480
  if (!response.ok) {
423
- const error = await response.text();
424
- throw new Error(`ADO API Error (${response.status}): ${error}`);
481
+ await this.handleErrorResponse(response, 'fetching projects');
425
482
  }
426
- const data = await response.json();
483
+ const data = await this.safeParseJson(response);
427
484
  return data.value || [];
428
485
  }
429
486
  /**
@@ -442,10 +499,9 @@ export class AdoClient {
442
499
  }
443
500
  });
444
501
  if (!response.ok) {
445
- const error = await response.text();
446
- throw new Error(`ADO API Error (${response.status}): ${error}`);
502
+ await this.handleErrorResponse(response, 'searching projects');
447
503
  }
448
- const data = await response.json();
504
+ const data = await this.safeParseJson(response);
449
505
  return {
450
506
  value: data.value || [],
451
507
  count: data.count || 0,
@@ -467,10 +523,9 @@ export class AdoClient {
467
523
  }
468
524
  });
469
525
  if (!response.ok) {
470
- const error = await response.text();
471
- throw new Error(`ADO API Error (${response.status}): ${error}`);
526
+ await this.handleErrorResponse(response, `fetching area paths for ${project}`);
472
527
  }
473
- return response.json();
528
+ return this.safeParseJson(response);
474
529
  }
475
530
  /**
476
531
  * Get teams for a project
@@ -487,10 +542,9 @@ export class AdoClient {
487
542
  }
488
543
  });
489
544
  if (!response.ok) {
490
- const error = await response.text();
491
- throw new Error(`ADO API Error (${response.status}): ${error}`);
545
+ await this.handleErrorResponse(response, `fetching teams for ${project}`);
492
546
  }
493
- const data = await response.json();
547
+ const data = await this.safeParseJson(response);
494
548
  return data.value || [];
495
549
  }
496
550
  /**
@@ -556,10 +610,9 @@ export class AdoClient {
556
610
  }
557
611
  });
558
612
  if (!response.ok) {
559
- const error = await response.text();
560
- throw new Error(`ADO API Error (${response.status}): ${error}`);
613
+ await this.handleErrorResponse(response, `fetching updates for work item #${workItemId}`);
561
614
  }
562
- const data = await response.json();
615
+ const data = await this.safeParseJson(response);
563
616
  return data.value || [];
564
617
  }
565
618
  /**
@@ -582,10 +635,9 @@ export class AdoClient {
582
635
  }
583
636
  });
584
637
  if (!projectResponse.ok) {
585
- const error = await projectResponse.text();
586
- throw new Error(`ADO API Error (${projectResponse.status}): ${error}`);
638
+ await this.handleErrorResponse(projectResponse, `detecting process template for ${projectName}`);
587
639
  }
588
- const projectData = await projectResponse.json();
640
+ const projectData = await this.safeParseJson(projectResponse);
589
641
  const templateName = projectData.capabilities?.processTemplate?.templateName || 'Agile';
590
642
  // Step 2: Get work item types to check for Capability
591
643
  const witUrl = `https://dev.azure.com/${this.credentials.organization}/${projectName}/_apis/wit/workitemtypes?api-version=${this.apiVersion}`;
@@ -598,7 +650,7 @@ export class AdoClient {
598
650
  let workItemTypes = [];
599
651
  let hasCapability = false;
600
652
  if (witResponse.ok) {
601
- const witData = await witResponse.json();
653
+ const witData = await this.safeParseJson(witResponse);
602
654
  workItemTypes = (witData.value || []).map((wit) => wit.name);
603
655
  hasCapability = workItemTypes.some(wit => wit.toLowerCase() === 'capability');
604
656
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ado-client.js","sourceRoot":"","sources":["../../../../src/integrations/ado/ado-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ado-client.js","sourceRoot":"","sources":["../../../../src/integrations/ado/ado-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.30.9",
3
+ "version": "0.30.11",
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",
@@ -102,17 +102,23 @@ await syncSpecs(args);
102
102
  ```
103
103
 
104
104
  **This will**:
105
- 1. Auto-generate feature ID for greenfield increments (FS-040, FS-041, etc.)
106
- 2. **Auto-detect project folder** from:
107
- - Git remote (GitHub repo name)
108
- - Sync configuration (JIRA/ADO project)
109
- - Falls back to "default" if not detected
105
+ 1. **Derive feature ID from increment number** (e.g., 0040 → FS-040, 0002 → FS-002)
106
+ 2. **Smart project matching** from (priority order):
107
+ - `**Project**:` field in spec.md (explicit)
108
+ - `multiProject.activeProject` in config.json
109
+ - ADO area path / JIRA board mapping
110
+ - Git remote (repo name)
111
+ - **ASK USER if unsure** (multi-project mode)
110
112
  3. Parse spec.md for user stories and acceptance criteria
111
113
  4. Create living docs structure:
112
- - `.specweave/docs/internal/specs/_features/FS-XXX/FEATURE.md`
113
- - `.specweave/docs/internal/specs/{project}/FS-XXX/README.md`
114
+ - `.specweave/docs/internal/specs/{project}/FS-XXX/FEATURE.md`
114
115
  - `.specweave/docs/internal/specs/{project}/FS-XXX/us-*.md`
115
116
 
117
+ **CRITICAL**: Feature ID is DERIVED from increment number (ADR-0187)
118
+ - Increment 0002-user-authentication → FS-002
119
+ - Increment 0040-some-feature → FS-040
120
+ - NO date-based patterns like FS-YY-MM-DD-name
121
+
116
122
  ---
117
123
 
118
124
  ## STEP 4: Report Distribution Results
@@ -169,37 +175,39 @@ Title: {title from spec.md}
169
175
  {/if}
170
176
 
171
177
  ───────────────────────────────────────────────────────
172
- 📂 FILE STRUCTURE
178
+ 📂 FILE STRUCTURE (v5.0.0+)
173
179
  ───────────────────────────────────────────────────────
174
180
 
175
- **Project folder is auto-detected** from:
176
- - Git remote (e.g., `sw-qr-menu` for `github.com/user/sw-qr-menu.git`)
177
- - Sync config (JIRA project key or ADO project name)
178
- - Falls back to "default" if not detected
181
+ **NO _features folder** - Features live directly in project folders!
182
+
183
+ **Project folder detection** (priority order):
184
+ 1. `**Project**:` field in spec.md (explicit)
185
+ 2. `multiProject.activeProject` in config.json
186
+ 3. ADO area path mapping / JIRA board mapping
187
+ 4. Git remote (repo name)
188
+ 5. **ASK USER if multi-project mode and unsure**
179
189
 
180
190
  .specweave/docs/internal/specs/
181
- ├── _epics/ {if epic created}
182
- │ └── {EPIC-ID}/
191
+ ├── {project}/ Features + stories together
192
+ │ └── FS-XXX/ ← Feature ID derived from increment (0002 → FS-002)
193
+ │ ├── FEATURE.md ← Feature overview
194
+ │ ├── us-001-{title}.md ← User story 1
195
+ │ ├── us-002-{title}.md ← User story 2
196
+ │ └── ...
197
+ ├── _epics/ ← Optional (SAFe/large orgs only)
198
+ │ └── EP-XXX/
183
199
  │ └── EPIC.md
184
- ├── _features/
185
- └── {FS-ID}/
186
- │ └── FEATURE.md ← Cross-project feature
187
- └── {project}/ ← Per-project stories (auto-detected!)
188
- └── {FS-ID}/
189
- ├── README.md ← Project context
190
- ├── us-001-{title}.md ← User story 1
191
- ├── us-002-{title}.md ← User story 2
192
- └── ...
200
+ └── _archive/ ← Archived features
201
+ └── {project}/FS-XXX/
193
202
 
194
203
  ───────────────────────────────────────────────────────
195
204
  🎯 WHAT THIS SYNC DID
196
205
  ───────────────────────────────────────────────────────
197
206
 
198
207
  ✅ Parsed increment spec.md
199
- Detected Epic mapping (if applicable)
200
- ✅ Detected Feature mapping (FS-YY-MM-DD pattern)
201
- Classified content by project
202
- ✅ Generated hierarchical structure
208
+ Derived Feature ID from increment number (e.g., 0002 → FS-002)
209
+ ✅ Detected project folder (or asked user if unsure)
210
+ Generated hierarchical structure in {project}/FS-XXX/
203
211
  ✅ Created bidirectional links (if tasks.md exists)
204
212
  ✅ Preserved external tool links (GitHub/Jira/ADO)
205
213
 
@@ -306,14 +314,14 @@ Output:
306
314
  🔍 DRY RUN MODE - No files will be modified
307
315
 
308
316
  Would create/update:
309
- Epic: _epics/EPIC-2025-Q1/EPIC.md
310
- Feature: _features/FS-25-11-14/FEATURE.md
311
- Project context: backend/FS-25-11-14/README.md
312
- • User story: backend/FS-25-11-14/us-001-api-sync.md
313
- • User story: backend/FS-25-11-14/us-002-status-mapping.md
317
+ Feature: specweave/FS-031/FEATURE.md
318
+ User story: specweave/FS-031/us-001-api-sync.md
319
+ User story: specweave/FS-031/us-002-status-mapping.md
314
320
  • Tasks.md: Would add 5 user story links
315
321
 
316
- Total: 6 files would be affected
322
+ Total: 4 files would be affected
323
+
324
+ Note: Feature ID FS-031 derived from increment number 0031
317
325
  ```
318
326
 
319
327
  ### --force
@@ -334,13 +342,14 @@ User: /specweave:sync-specs
334
342
  Output:
335
343
  🎯 Target increment: 0031-external-tool-status-sync
336
344
  📁 Increment path: .specweave/increments/0031-external-tool-status-sync
337
- 🔄 Mode: Specs-only sync (Universal Hierarchy)
345
+ 🔄 Mode: Specs-only sync
338
346
 
339
347
  Processing...
340
348
  ✅ Distribution successful!
341
349
  📊 Total stories: 7
342
350
  📁 Total files created: 10
343
- 🎯 Feature ID: FS-25-11-14-external-tool-status-sync
351
+ 🎯 Feature ID: FS-031 (derived from increment 0031)
352
+ 📁 Project folder: specweave/FS-031/
344
353
  ```
345
354
 
346
355
  ### Example 2: Sync Specific Increment
@@ -366,8 +375,8 @@ Output:
366
375
  🔍 DRY RUN MODE - No files will be modified
367
376
 
368
377
  Would sync increment: 0031-external-tool-status-sync
369
- Would create feature: FS-25-11-14-external-tool-status-sync
370
- Would affect 2 projects: backend, frontend
378
+ Would create feature: FS-031 (derived from increment 0031)
379
+ Would use project folder: specweave/FS-031/
371
380
  Would create 7 user stories
372
381
  Would update tasks.md with bidirectional links
373
382
 
@@ -402,16 +402,51 @@ class AdoClientV2 {
402
402
  data += chunk;
403
403
  });
404
404
  res.on("end", () => {
405
- let parsed;
406
- try {
407
- parsed = data ? JSON.parse(data) : {};
408
- } catch {
409
- parsed = { raw: data };
410
- }
405
+ const looksLikeHtml = data.trim().startsWith("<!DOCTYPE") || data.trim().startsWith("<html") || data.trim().startsWith("<HTML");
411
406
  if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
412
- resolve(parsed);
407
+ if (looksLikeHtml) {
408
+ reject(new Error(
409
+ `Azure DevOps returned HTML instead of JSON (HTTP ${res.statusCode}).
410
+ This usually indicates an authentication or configuration issue.
411
+
412
+ Possible causes:
413
+ \u2022 Invalid or expired Personal Access Token (PAT)
414
+ \u2022 Incorrect organization name "${this.organization}"
415
+ \u2022 Corporate firewall or proxy intercepting the request
416
+ \u2022 SSO/authentication redirect (try accessing Azure DevOps in browser first)`
417
+ ));
418
+ return;
419
+ }
420
+ try {
421
+ const parsed = data ? JSON.parse(data) : {};
422
+ resolve(parsed);
423
+ } catch {
424
+ reject(new Error(
425
+ `Azure DevOps returned invalid JSON.
426
+ Response preview: ${data.substring(0, 200)}${data.length > 200 ? "..." : ""}`
427
+ ));
428
+ }
413
429
  } else {
414
- const errorMsg = parsed.message || `HTTP ${res.statusCode}: ${data}`;
430
+ if (looksLikeHtml) {
431
+ reject(new Error(
432
+ `Azure DevOps returned an error page (HTTP ${res.statusCode}).
433
+ This usually indicates an authentication or configuration issue.
434
+
435
+ Possible causes:
436
+ \u2022 Invalid or expired Personal Access Token (PAT)
437
+ \u2022 Incorrect organization name "${this.organization}"
438
+ \u2022 Corporate firewall or proxy intercepting the request
439
+ \u2022 SSO/authentication redirect`
440
+ ));
441
+ return;
442
+ }
443
+ let errorMsg = `HTTP ${res.statusCode}`;
444
+ try {
445
+ const parsed = JSON.parse(data);
446
+ errorMsg = parsed.message || `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
447
+ } catch {
448
+ errorMsg = `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
449
+ }
415
450
  reject(new Error(errorMsg));
416
451
  }
417
452
  });
@@ -624,21 +624,61 @@ export class AdoClientV2 {
624
624
  });
625
625
 
626
626
  res.on('end', () => {
627
- // Parse response
628
- let parsed: any;
629
- try {
630
- parsed = data ? JSON.parse(data) : {};
631
- } catch {
632
- parsed = { raw: data };
633
- }
627
+ // Check for HTML response (indicates auth/config issue)
628
+ const looksLikeHtml = data.trim().startsWith('<!DOCTYPE') ||
629
+ data.trim().startsWith('<html') ||
630
+ data.trim().startsWith('<HTML');
634
631
 
635
- // Check status code
632
+ // Check status code first
636
633
  if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
637
- resolve(parsed as T);
634
+ // Success response
635
+ if (looksLikeHtml) {
636
+ // 200 OK but returned HTML - this is a config issue
637
+ reject(new Error(
638
+ `Azure DevOps returned HTML instead of JSON (HTTP ${res.statusCode}).\n` +
639
+ `This usually indicates an authentication or configuration issue.\n\n` +
640
+ `Possible causes:\n` +
641
+ `• Invalid or expired Personal Access Token (PAT)\n` +
642
+ `• Incorrect organization name "${this.organization}"\n` +
643
+ `• Corporate firewall or proxy intercepting the request\n` +
644
+ `• SSO/authentication redirect (try accessing Azure DevOps in browser first)`
645
+ ));
646
+ return;
647
+ }
648
+
649
+ // Parse JSON response
650
+ try {
651
+ const parsed = data ? JSON.parse(data) : {};
652
+ resolve(parsed as T);
653
+ } catch {
654
+ reject(new Error(
655
+ `Azure DevOps returned invalid JSON.\n` +
656
+ `Response preview: ${data.substring(0, 200)}${data.length > 200 ? '...' : ''}`
657
+ ));
658
+ }
638
659
  } else {
639
- const errorMsg =
640
- parsed.message ||
641
- `HTTP ${res.statusCode}: ${data}`;
660
+ // Error response
661
+ if (looksLikeHtml) {
662
+ reject(new Error(
663
+ `Azure DevOps returned an error page (HTTP ${res.statusCode}).\n` +
664
+ `This usually indicates an authentication or configuration issue.\n\n` +
665
+ `Possible causes:\n` +
666
+ `• Invalid or expired Personal Access Token (PAT)\n` +
667
+ `• Incorrect organization name "${this.organization}"\n` +
668
+ `• Corporate firewall or proxy intercepting the request\n` +
669
+ `• SSO/authentication redirect`
670
+ ));
671
+ return;
672
+ }
673
+
674
+ // Try to parse error message
675
+ let errorMsg = `HTTP ${res.statusCode}`;
676
+ try {
677
+ const parsed = JSON.parse(data);
678
+ errorMsg = parsed.message || `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
679
+ } catch {
680
+ errorMsg = `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
681
+ }
642
682
  reject(new Error(errorMsg));
643
683
  }
644
684
  });
@@ -152,9 +152,17 @@ const _GitHubFeatureSync = class _GitHubFeatureSync {
152
152
  * Find Feature folder in specs directory
153
153
  */
154
154
  async findFeatureFolder(featureId) {
155
- const featuresFolder = path.join(this.specsDir, "_features", featureId);
156
- if (existsSync(featuresFolder)) {
157
- return featuresFolder;
155
+ const projectFolders = await this.findProjectFolders();
156
+ for (const projectFolder of projectFolders) {
157
+ const featureFolder = path.join(projectFolder, featureId);
158
+ if (existsSync(featureFolder) && existsSync(path.join(featureFolder, "FEATURE.md"))) {
159
+ return featureFolder;
160
+ }
161
+ }
162
+ const legacyFolder = path.join(this.specsDir, "_features", featureId);
163
+ if (existsSync(legacyFolder)) {
164
+ console.log(` \u26A0\uFE0F Found feature in legacy _features folder - consider migrating to project folder`);
165
+ return legacyFolder;
158
166
  }
159
167
  return null;
160
168
  }