specweave 0.28.36 → 0.28.45

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 (144) hide show
  1. package/CLAUDE.md +21 -0
  2. package/README.md +10 -9
  3. package/bin/specweave.js +2 -1
  4. package/dist/src/cli/commands/archive.d.ts.map +1 -1
  5. package/dist/src/cli/commands/archive.js +2 -1
  6. package/dist/src/cli/commands/archive.js.map +1 -1
  7. package/dist/src/cli/commands/init.d.ts.map +1 -1
  8. package/dist/src/cli/commands/init.js +33 -0
  9. package/dist/src/cli/commands/init.js.map +1 -1
  10. package/dist/src/cli/helpers/ado-area-selector.d.ts +49 -0
  11. package/dist/src/cli/helpers/ado-area-selector.d.ts.map +1 -0
  12. package/dist/src/cli/helpers/ado-area-selector.js +162 -0
  13. package/dist/src/cli/helpers/ado-area-selector.js.map +1 -0
  14. package/dist/src/cli/helpers/init/config-detection.d.ts +5 -1
  15. package/dist/src/cli/helpers/init/config-detection.d.ts.map +1 -1
  16. package/dist/src/cli/helpers/init/config-detection.js +50 -17
  17. package/dist/src/cli/helpers/init/config-detection.js.map +1 -1
  18. package/dist/src/cli/helpers/init/external-import.js +3 -3
  19. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  20. package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
  21. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  22. package/dist/src/cli/helpers/init/repository-setup.js +34 -2
  23. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  24. package/dist/src/cli/helpers/init/types.d.ts +3 -0
  25. package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
  26. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +17 -0
  27. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  28. package/dist/src/cli/helpers/issue-tracker/ado.js +308 -44
  29. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  30. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  31. package/dist/src/cli/helpers/issue-tracker/index.js +103 -35
  32. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  33. package/dist/src/cli/helpers/issue-tracker/types.d.ts +26 -2
  34. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  35. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
  36. package/dist/src/core/increment/discipline-checker.js +1 -1
  37. package/dist/src/core/increment/increment-archiver.d.ts +13 -0
  38. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
  39. package/dist/src/core/increment/increment-archiver.js +60 -3
  40. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  41. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
  42. package/dist/src/core/living-docs/feature-archiver.js +75 -37
  43. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  44. package/dist/src/core/living-docs/living-docs-sync.d.ts +2 -111
  45. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  46. package/dist/src/core/living-docs/living-docs-sync.js +18 -383
  47. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  48. package/dist/src/core/living-docs/sync-helpers/file-utils.d.ts +30 -0
  49. package/dist/src/core/living-docs/sync-helpers/file-utils.d.ts.map +1 -0
  50. package/dist/src/core/living-docs/sync-helpers/file-utils.js +107 -0
  51. package/dist/src/core/living-docs/sync-helpers/file-utils.js.map +1 -0
  52. package/dist/src/core/living-docs/sync-helpers/generators.d.ts +19 -0
  53. package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -0
  54. package/dist/src/core/living-docs/sync-helpers/generators.js +146 -0
  55. package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -0
  56. package/dist/src/core/living-docs/sync-helpers/index.d.ts +8 -0
  57. package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -0
  58. package/dist/src/core/living-docs/sync-helpers/index.js +11 -0
  59. package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -0
  60. package/dist/src/core/living-docs/sync-helpers/parsers.d.ts +19 -0
  61. package/dist/src/core/living-docs/sync-helpers/parsers.d.ts.map +1 -0
  62. package/dist/src/core/living-docs/sync-helpers/parsers.js +94 -0
  63. package/dist/src/core/living-docs/sync-helpers/parsers.js.map +1 -0
  64. package/dist/src/core/living-docs/types.d.ts +45 -0
  65. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  66. package/dist/src/core/types/config.d.ts +1 -1
  67. package/dist/src/core/types/config.js +2 -2
  68. package/dist/src/core/types/config.js.map +1 -1
  69. package/dist/src/importers/ado-importer.d.ts.map +1 -1
  70. package/dist/src/importers/ado-importer.js +3 -0
  71. package/dist/src/importers/ado-importer.js.map +1 -1
  72. package/dist/src/importers/item-converter.d.ts.map +1 -1
  73. package/dist/src/importers/item-converter.js +10 -2
  74. package/dist/src/importers/item-converter.js.map +1 -1
  75. package/dist/src/living-docs/fs-id-allocator.d.ts +5 -0
  76. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  77. package/dist/src/living-docs/fs-id-allocator.js +31 -2
  78. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  79. package/dist/src/utils/external-resource-validator.d.ts +5 -192
  80. package/dist/src/utils/external-resource-validator.d.ts.map +1 -1
  81. package/dist/src/utils/external-resource-validator.js +10 -1162
  82. package/dist/src/utils/external-resource-validator.js.map +1 -1
  83. package/dist/src/utils/validators/ado-validator.d.ts +94 -0
  84. package/dist/src/utils/validators/ado-validator.d.ts.map +1 -0
  85. package/dist/src/utils/validators/ado-validator.js +547 -0
  86. package/dist/src/utils/validators/ado-validator.js.map +1 -0
  87. package/dist/src/utils/validators/index.d.ts +11 -0
  88. package/dist/src/utils/validators/index.d.ts.map +1 -0
  89. package/dist/src/utils/validators/index.js +12 -0
  90. package/dist/src/utils/validators/index.js.map +1 -0
  91. package/dist/src/utils/validators/jira-validator.d.ts +70 -0
  92. package/dist/src/utils/validators/jira-validator.d.ts.map +1 -0
  93. package/dist/src/utils/validators/jira-validator.js +606 -0
  94. package/dist/src/utils/validators/jira-validator.js.map +1 -0
  95. package/dist/src/utils/validators/types.d.ts +82 -0
  96. package/dist/src/utils/validators/types.d.ts.map +1 -0
  97. package/dist/src/utils/validators/types.js +6 -0
  98. package/dist/src/utils/validators/types.js.map +1 -0
  99. package/package.json +1 -1
  100. package/plugins/specweave/.claude-plugin/plugin.json +7 -62
  101. package/plugins/specweave/commands/specweave-archive.md +3 -3
  102. package/plugins/specweave/commands/specweave-increment.md +18 -19
  103. package/plugins/specweave/hooks/hooks.json +3 -49
  104. package/plugins/specweave/hooks/hooks.json.bak +72 -0
  105. package/plugins/specweave/hooks/hooks.json.v1-backup +16 -0
  106. package/plugins/specweave/hooks/lib/update-status-line.sh +39 -15
  107. package/plugins/specweave/hooks/post-task-edit.sh +10 -0
  108. package/plugins/specweave/hooks/user-prompt-submit.sh +27 -8
  109. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +44 -0
  110. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +24 -0
  111. package/plugins/specweave/hooks/v2/handlers/ac-validation-handler.sh +46 -0
  112. package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +54 -0
  113. package/plugins/specweave/hooks/v2/handlers/living-docs-handler.sh +46 -0
  114. package/plugins/specweave/hooks/v2/handlers/status-update.sh +50 -0
  115. package/plugins/specweave/hooks/v2/hooks.json +16 -0
  116. package/plugins/specweave/hooks/v2/queue/dequeue.sh +30 -0
  117. package/plugins/specweave/hooks/v2/queue/enqueue.sh +41 -0
  118. package/plugins/specweave/hooks/v2/queue/processor.sh +72 -0
  119. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
  120. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +20 -1262
  121. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
  122. package/plugins/specweave-release/commands/specweave-release-npm.md +132 -24
  123. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +30 -1254
  124. package/src/templates/tasks.md.template +2 -0
  125. package/plugins/specweave/hooks/docs-changed.sh.backup +0 -79
  126. package/plugins/specweave/hooks/human-input-required.sh.backup +0 -75
  127. package/plugins/specweave/hooks/post-first-increment.sh.backup +0 -61
  128. package/plugins/specweave/hooks/post-increment-change.sh.backup +0 -98
  129. package/plugins/specweave/hooks/post-increment-completion.sh.backup +0 -231
  130. package/plugins/specweave/hooks/post-increment-planning.sh.backup +0 -1048
  131. package/plugins/specweave/hooks/post-increment-status-change.sh.backup +0 -147
  132. package/plugins/specweave/hooks/post-spec-update.sh.backup +0 -158
  133. package/plugins/specweave/hooks/post-user-story-complete.sh.backup +0 -179
  134. package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +0 -83
  135. package/plugins/specweave/hooks/pre-implementation.sh.backup +0 -67
  136. package/plugins/specweave/hooks/pre-task-completion.sh.backup +0 -194
  137. package/plugins/specweave/hooks/pre-tool-use.sh.backup +0 -133
  138. package/plugins/specweave/hooks/user-prompt-submit.sh.backup +0 -386
  139. package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +0 -353
  140. package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +0 -172
  141. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -170
  142. package/plugins/specweave-github/hooks/post-task-completion.sh.backup +0 -258
  143. package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +0 -172
  144. package/plugins/specweave-release/hooks/post-task-completion.sh.backup +0 -110
@@ -6,13 +6,16 @@
6
6
  * @module cli/helpers/issue-tracker/ado
7
7
  */
8
8
  import chalk from 'chalk';
9
- import { confirm, input, password } from '@inquirer/prompts';
9
+ import { confirm, input, password, checkbox, select } from '@inquirer/prompts';
10
10
  import ora from 'ora';
11
+ import * as fs from '../../../utils/fs-native.js';
12
+ import * as path from 'path';
11
13
  import { getAzureDevOpsAuth } from '../../../utils/auth-helpers.js';
12
14
  import { parseEnvFile, readEnvFile } from '../../../utils/env-file.js';
13
15
  import { retryWithBackoff, checkRateLimit } from './utils.js';
14
16
  import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
15
17
  import { RateLimitError } from './types.js';
18
+ import { selectAreaPaths, toAreaPathObjects } from '../ado-area-selector.js';
16
19
  /**
17
20
  * Check for existing Azure DevOps credentials
18
21
  *
@@ -45,10 +48,48 @@ export async function checkExistingAzureDevOpsCredentials(projectPath) {
45
48
  }
46
49
  return null;
47
50
  }
51
+ /**
52
+ * Fetch all accessible projects for an ADO organization
53
+ *
54
+ * @param org - Organization name
55
+ * @param pat - Personal Access Token
56
+ * @returns Array of project objects with name and id
57
+ */
58
+ async function fetchAdoProjects(org, pat) {
59
+ const auth = Buffer.from(`:${pat}`).toString('base64');
60
+ const endpoint = `https://dev.azure.com/${org}/_apis/projects?api-version=7.0`;
61
+ const response = await fetch(endpoint, {
62
+ headers: { 'Authorization': `Basic ${auth}`, 'Accept': 'application/json' }
63
+ });
64
+ if (!response.ok) {
65
+ throw new Error(`Failed to fetch projects: ${response.status}`);
66
+ }
67
+ const data = await response.json();
68
+ return (data.value || []).map((p) => ({ name: p.name, id: p.id }));
69
+ }
70
+ /**
71
+ * Fetch area paths for a specific project
72
+ *
73
+ * @param org - Organization name
74
+ * @param project - Project name
75
+ * @param pat - Personal Access Token
76
+ * @returns Array of area path objects
77
+ */
78
+ async function fetchProjectAreaPaths(org, project, pat) {
79
+ try {
80
+ const { fetchAreaPathsForProject } = await import('../../../../plugins/specweave-ado/lib/ado-board-resolver.js');
81
+ const areasResult = await fetchAreaPathsForProject(org, project, pat).catch(() => []);
82
+ return areasResult.map((a) => ({ name: a.name, path: a.path }));
83
+ }
84
+ catch {
85
+ return [];
86
+ }
87
+ }
48
88
  /**
49
89
  * Prompt user for Azure DevOps credentials with cache support
50
90
  *
51
91
  * NEW (v0.24.0): Caches last used organization/project for quick re-initialization
92
+ * NEW (v0.28.x): Multi-project selection for enterprise users (AC-US5-01 to AC-US5-05)
52
93
  *
53
94
  * @param language - User's language
54
95
  * @param projectRoot - Project root path (optional, for cache manager)
@@ -58,7 +99,6 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
58
99
  const locale = getLocaleManager(language);
59
100
  console.log(chalk.white('\n📋 Azure DevOps Integration Setup\n'));
60
101
  console.log(chalk.gray('SpecWeave will sync increments with Azure DevOps Work Items.\n'));
61
- // Step 0: Check cache for previous configuration (NEW in v0.24.0)
62
102
  let cachedConfig = null;
63
103
  if (projectRoot) {
64
104
  const { CacheManager } = await import('../../../core/cache/cache-manager.js');
@@ -67,9 +107,19 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
67
107
  if (cachedConfig) {
68
108
  console.log(chalk.cyan('✨ Found cached ADO configuration:\n'));
69
109
  console.log(chalk.gray(` Organization: ${cachedConfig.org}`));
70
- console.log(chalk.gray(` Project: ${cachedConfig.project}`));
71
- if (cachedConfig.teams && cachedConfig.teams.length > 0) {
72
- console.log(chalk.gray(` Teams: ${cachedConfig.teams.join(', ')}`));
110
+ if (cachedConfig.projects && cachedConfig.projects.length > 0) {
111
+ console.log(chalk.gray(` Projects: ${cachedConfig.projects.map(p => p.name).join(', ')}`));
112
+ for (const proj of cachedConfig.projects) {
113
+ if (proj.areaPaths && proj.areaPaths.length > 0) {
114
+ console.log(chalk.gray(` ${proj.name} → ${proj.areaPaths.join(', ')}`));
115
+ }
116
+ }
117
+ }
118
+ else if (cachedConfig.project) {
119
+ console.log(chalk.gray(` Project: ${cachedConfig.project}`));
120
+ if (cachedConfig.areaPaths && cachedConfig.areaPaths.length > 0) {
121
+ console.log(chalk.gray(` Area Paths: ${cachedConfig.areaPaths.join(', ')}`));
122
+ }
73
123
  }
74
124
  console.log('');
75
125
  const reuseConfig = await confirm({
@@ -94,16 +144,13 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
94
144
  if (!continueSetup) {
95
145
  return null;
96
146
  }
97
- // Collect credentials (use cached values as defaults if available)
98
- let org, project, teams;
147
+ // Step 1: Get organization name (use cached if available)
148
+ let org;
99
149
  if (cachedConfig) {
100
- // Use cached configuration
101
150
  org = cachedConfig.org;
102
- project = cachedConfig.project;
103
- teams = cachedConfig.teams || [];
151
+ console.log(chalk.gray(` Using cached organization: ${org}`));
104
152
  }
105
153
  else {
106
- // Prompt for new configuration
107
154
  org = await input({
108
155
  message: 'Azure DevOps organization name:',
109
156
  validate: (value) => {
@@ -113,24 +160,8 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
113
160
  return true;
114
161
  }
115
162
  });
116
- project = await input({
117
- message: 'Project name:',
118
- validate: (value) => {
119
- if (!value || value.trim() === '') {
120
- return 'Project cannot be empty';
121
- }
122
- return true;
123
- }
124
- });
125
- const teamsInput = await input({
126
- message: 'Team name(s) (optional, comma-separated):',
127
- default: ''
128
- });
129
- teams = teamsInput
130
- ? teamsInput.split(',').map((t) => t.trim()).filter((t) => t.length > 0)
131
- : [];
132
163
  }
133
- // Always prompt for PAT (never cache secrets)
164
+ // Step 2: Prompt for PAT
134
165
  const pat = await password({
135
166
  message: 'Paste your Personal Access Token:',
136
167
  mask: '*',
@@ -145,22 +176,174 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
145
176
  return true;
146
177
  }
147
178
  });
148
- // Cache the configuration (NOT the PAT) for future use
179
+ // Step 3: Validate PAT and fetch all accessible projects
180
+ const spinner = ora('Validating PAT and fetching projects...').start();
181
+ let allProjects = [];
182
+ try {
183
+ // Validate PAT by fetching projects
184
+ allProjects = await fetchAdoProjects(org, pat);
185
+ if (allProjects.length === 0) {
186
+ spinner.fail('No accessible projects found');
187
+ console.log(chalk.red(' Error: Your PAT may not have Project (Read) scope'));
188
+ return null;
189
+ }
190
+ spinner.succeed(`Found ${allProjects.length} accessible project${allProjects.length === 1 ? '' : 's'}`);
191
+ }
192
+ catch (error) {
193
+ spinner.fail('PAT validation failed');
194
+ console.log(chalk.red(` Error: ${error.message.includes('401') ? 'Invalid PAT' : 'Check organization name'}`));
195
+ return null;
196
+ }
197
+ // Step 4: Ask single vs multi-project
198
+ const projectMode = await select({
199
+ message: 'How many projects do you want to configure?',
200
+ choices: [
201
+ {
202
+ name: `Single project (quick setup)`,
203
+ value: 'single'
204
+ },
205
+ {
206
+ name: `Multiple projects (enterprise setup - ${allProjects.length} available)`,
207
+ value: 'multi'
208
+ }
209
+ ],
210
+ default: allProjects.length > 1 ? 'multi' : 'single'
211
+ });
212
+ // Handle multi-project selection
213
+ if (projectMode === 'multi') {
214
+ return handleMultiProjectSelection(org, pat, allProjects, projectRoot);
215
+ }
216
+ // Single project flow (original behavior)
217
+ return handleSingleProjectSelection(org, pat, allProjects, projectRoot);
218
+ }
219
+ /**
220
+ * Handle single project selection (original flow)
221
+ */
222
+ async function handleSingleProjectSelection(org, pat, allProjects, projectRoot) {
223
+ // Select a single project
224
+ const project = await select({
225
+ message: 'Select project:',
226
+ choices: allProjects.map(p => ({
227
+ name: p.name,
228
+ value: p.name
229
+ })),
230
+ default: allProjects[0]?.name
231
+ });
232
+ // Fetch area paths for selected project
233
+ const spinner = ora('Fetching area paths...').start();
234
+ const fetchedAreas = await fetchProjectAreaPaths(org, project, pat);
235
+ spinner.succeed(`Found ${fetchedAreas.length} area paths`);
236
+ // Let user select area paths
237
+ let areaPaths = [];
238
+ if (fetchedAreas.length > 0) {
239
+ const areaPathObjects = toAreaPathObjects(fetchedAreas.map(a => a.path));
240
+ const selectionResult = await selectAreaPaths(areaPathObjects, project);
241
+ if (selectionResult) {
242
+ areaPaths = selectionResult.areaPaths;
243
+ }
244
+ }
245
+ // Cache the configuration (NOT the PAT)
149
246
  if (projectRoot) {
150
247
  const { CacheManager } = await import('../../../core/cache/cache-manager.js');
151
248
  const cacheManager = new CacheManager(projectRoot);
152
249
  await cacheManager.set('ado-config', {
153
250
  org,
154
251
  project,
155
- teams: teams.length > 0 ? teams : undefined
252
+ areaPaths: areaPaths.length > 0 ? areaPaths : undefined
156
253
  });
157
254
  }
158
255
  return {
159
256
  pat,
160
257
  org,
161
- project, // One project (ADO standard)
162
- team: teams[0], // Use first team for backward compatibility
163
- teams: teams.length > 1 ? teams : undefined // Multiple teams (optional)
258
+ project,
259
+ areaPaths: areaPaths.length > 0 ? areaPaths : undefined
260
+ };
261
+ }
262
+ /**
263
+ * Handle multi-project selection (new in v0.28.x)
264
+ *
265
+ * Implements AC-US5-01 to AC-US5-05
266
+ */
267
+ async function handleMultiProjectSelection(org, pat, allProjects, projectRoot) {
268
+ console.log('');
269
+ console.log(chalk.cyan('📦 Multi-Project Selection'));
270
+ console.log(chalk.gray(' Select the projects you want to manage with SpecWeave.\n'));
271
+ // AC-US5-02: Multi-select checkbox for projects (default: first project selected)
272
+ const selectedProjectNames = await checkbox({
273
+ message: 'Select projects to configure:',
274
+ choices: allProjects.map((p, index) => ({
275
+ name: p.name,
276
+ value: p.name,
277
+ checked: index === 0 // Default: first project selected
278
+ })),
279
+ pageSize: 15,
280
+ validate: (selected) => {
281
+ if (selected.length === 0) {
282
+ return 'Please select at least one project';
283
+ }
284
+ return true;
285
+ }
286
+ });
287
+ if (selectedProjectNames.length === 0) {
288
+ console.log(chalk.yellow('\n⚠️ No projects selected'));
289
+ return null;
290
+ }
291
+ console.log(chalk.green(`\n✓ Selected ${selectedProjectNames.length} project${selectedProjectNames.length > 1 ? 's' : ''}`));
292
+ // AC-US5-03: For each project, prompt for area path selection
293
+ const projects = [];
294
+ for (let i = 0; i < selectedProjectNames.length; i++) {
295
+ const projectName = selectedProjectNames[i];
296
+ console.log('');
297
+ console.log(chalk.cyan(`📁 Configuring: ${projectName} (${i + 1}/${selectedProjectNames.length})`));
298
+ // Fetch area paths for this project
299
+ const spinner = ora('Fetching area paths...').start();
300
+ const fetchedAreas = await fetchProjectAreaPaths(org, projectName, pat);
301
+ spinner.succeed(`Found ${fetchedAreas.length} area paths`);
302
+ let areaPaths = [];
303
+ if (fetchedAreas.length > 0) {
304
+ const areaPathObjects = toAreaPathObjects(fetchedAreas.map(a => a.path));
305
+ const selectionResult = await selectAreaPaths(areaPathObjects, projectName);
306
+ if (selectionResult) {
307
+ areaPaths = selectionResult.areaPaths;
308
+ }
309
+ }
310
+ projects.push({
311
+ name: projectName,
312
+ areaPaths: areaPaths.length > 0 ? areaPaths : undefined,
313
+ isDefault: i === 0 // First project is default
314
+ });
315
+ }
316
+ // Ask which project should be the default
317
+ if (projects.length > 1) {
318
+ const defaultProject = await select({
319
+ message: 'Which project should be the default for sync?',
320
+ choices: projects.map(p => ({
321
+ name: p.name,
322
+ value: p.name
323
+ })),
324
+ default: projects[0].name
325
+ });
326
+ // Update isDefault flags
327
+ for (const proj of projects) {
328
+ proj.isDefault = proj.name === defaultProject;
329
+ }
330
+ }
331
+ // AC-US5-04: Cache the multi-project configuration (NOT the PAT)
332
+ if (projectRoot) {
333
+ const { CacheManager } = await import('../../../core/cache/cache-manager.js');
334
+ const cacheManager = new CacheManager(projectRoot);
335
+ await cacheManager.set('ado-config', {
336
+ org,
337
+ projects
338
+ });
339
+ }
340
+ console.log('');
341
+ console.log(chalk.green('✓ Multi-project configuration complete'));
342
+ console.log(chalk.gray(` ${projects.length} project${projects.length > 1 ? 's' : ''} configured`));
343
+ return {
344
+ pat,
345
+ org,
346
+ projects
164
347
  };
165
348
  }
166
349
  /**
@@ -169,16 +352,38 @@ export async function promptAzureDevOpsCredentials(language, projectRoot) {
169
352
  * Tests authentication and returns project information
170
353
  * Handles rate limiting with retry logic
171
354
  *
355
+ * Supports both single-project and multi-project credentials:
356
+ * - Single: Uses `credentials.project`
357
+ * - Multi: Validates the default project from `credentials.projects`
358
+ *
172
359
  * @param credentials - Azure DevOps credentials
173
360
  * @param maxRetries - Maximum retry attempts (default: 3)
174
361
  * @returns Validation result
175
362
  */
176
363
  export async function validateAzureDevOpsConnection(credentials, maxRetries = 3) {
177
364
  const spinner = ora('Testing connection...').start();
365
+ // Determine which project to validate
366
+ let projectToValidate;
367
+ if (credentials.projects && credentials.projects.length > 0) {
368
+ // Multi-project mode: validate the default project or first project
369
+ const defaultProject = credentials.projects.find(p => p.isDefault) || credentials.projects[0];
370
+ projectToValidate = defaultProject.name;
371
+ }
372
+ else {
373
+ // Single project mode
374
+ projectToValidate = credentials.project;
375
+ }
376
+ if (!projectToValidate) {
377
+ spinner.fail('No project specified for validation');
378
+ return {
379
+ success: false,
380
+ error: 'No project specified'
381
+ };
382
+ }
178
383
  try {
179
384
  const result = await retryWithBackoff(async () => {
180
385
  // Test connection by fetching project details
181
- const projectEndpoint = `https://dev.azure.com/${credentials.org}/_apis/projects/${credentials.project}?api-version=7.0`;
386
+ const projectEndpoint = `https://dev.azure.com/${credentials.org}/_apis/projects/${projectToValidate}?api-version=7.0`;
182
387
  // Basic auth with PAT (username can be empty)
183
388
  const auth = Buffer.from(`:${credentials.pat}`).toString('base64');
184
389
  const response = await fetch(projectEndpoint, {
@@ -212,7 +417,9 @@ export async function validateAzureDevOpsConnection(credentials, maxRetries = 3)
212
417
  const project = await response.json();
213
418
  return project;
214
419
  }, maxRetries);
215
- spinner.succeed(`Connected to Azure DevOps project: ${result.name}`);
420
+ const projectCount = credentials.projects?.length || 1;
421
+ const projectLabel = projectCount > 1 ? `${projectCount} projects` : result.name;
422
+ spinner.succeed(`Connected to Azure DevOps: ${projectLabel}`);
216
423
  return {
217
424
  success: true,
218
425
  username: result.name
@@ -229,23 +436,80 @@ export async function validateAzureDevOpsConnection(credentials, maxRetries = 3)
229
436
  /**
230
437
  * Get Azure DevOps environment variables for .env file
231
438
  *
439
+ * IMPORTANT: Only PAT goes in .env (secret). Non-secrets go to config.json.
440
+ * See writeSyncConfig() for config.json structure.
441
+ *
232
442
  * @param credentials - Azure DevOps credentials
233
443
  * @returns Array of key-value pairs for .env
234
444
  */
235
445
  export function getAzureDevOpsEnvVars(credentials) {
446
+ // Only store PAT in .env (secrets only!)
447
+ // Non-secrets (org, project, teams, areas) go to config.json
236
448
  const envVars = [
237
- { key: 'AZURE_DEVOPS_PAT', value: credentials.pat },
238
- { key: 'AZURE_DEVOPS_ORG', value: credentials.org },
239
- { key: 'AZURE_DEVOPS_PROJECT', value: credentials.project } // Always singular (one project)
449
+ { key: 'AZURE_DEVOPS_PAT', value: credentials.pat }
240
450
  ];
241
- // Write teams as comma-separated if multiple, otherwise single
242
- if (credentials.teams && credentials.teams.length > 1) {
243
- envVars.push({ key: 'AZURE_DEVOPS_TEAMS', value: credentials.teams.join(',') });
451
+ return envVars;
452
+ }
453
+ /**
454
+ * Create folder structure for a single ADO project
455
+ *
456
+ * @param specsDir - Base specs directory
457
+ * @param projectName - ADO project name
458
+ * @param areaPaths - Area paths for the project (optional)
459
+ * @param strategy - Team mapping strategy
460
+ * @param teams - Teams for team-based strategy (deprecated)
461
+ */
462
+ function createSingleProjectFolders(specsDir, projectName, areaPaths, strategy, teams) {
463
+ const projectDir = path.join(specsDir, projectName);
464
+ fs.mkdirSync(projectDir, { recursive: true });
465
+ console.log(chalk.green(`✓ Created ${projectDir}`));
466
+ const effectiveStrategy = strategy || 'area-path-based';
467
+ if (effectiveStrategy === 'area-path-based' && areaPaths?.length) {
468
+ for (const areaPath of areaPaths) {
469
+ const areaName = areaPath.split('\\').pop() || areaPath;
470
+ const areaDir = path.join(projectDir, areaName);
471
+ fs.mkdirSync(areaDir, { recursive: true });
472
+ console.log(chalk.gray(` ✓ Created area folder: ${areaName}`));
473
+ }
244
474
  }
245
- else if (credentials.team) {
246
- envVars.push({ key: 'AZURE_DEVOPS_TEAM', value: credentials.team });
475
+ else if (effectiveStrategy === 'team-based' && teams?.length) {
476
+ for (const team of teams) {
477
+ const teamDir = path.join(projectDir, team);
478
+ fs.mkdirSync(teamDir, { recursive: true });
479
+ console.log(chalk.gray(` ✓ Created team folder: ${team}`));
480
+ }
247
481
  }
248
- return envVars;
482
+ }
483
+ /**
484
+ * Create ADO project folder structure in .specweave/docs/internal/specs/
485
+ *
486
+ * Supports both single-project and multi-project configurations (AC-US5-05)
487
+ *
488
+ * @param projectPath - Path to project root
489
+ * @param credentials - ADO credentials with org, project(s), areaPaths
490
+ */
491
+ export function createAdoProjectFolders(projectPath, credentials) {
492
+ const specsDir = path.join(projectPath, '.specweave', 'docs', 'internal', 'specs');
493
+ if (!fs.existsSync(specsDir)) {
494
+ fs.mkdirSync(specsDir, { recursive: true });
495
+ }
496
+ // Handle multi-project configuration (new in v0.28.x)
497
+ if (credentials.projects && credentials.projects.length > 0) {
498
+ console.log(chalk.cyan(`\n📁 Creating folder structure for ${credentials.projects.length} project(s)...`));
499
+ for (const project of credentials.projects) {
500
+ createSingleProjectFolders(specsDir, project.name, project.areaPaths, credentials.strategy);
501
+ }
502
+ console.log(chalk.green(`✓ ADO folder structure created for ${credentials.projects.length} project(s)`));
503
+ return;
504
+ }
505
+ // Handle single-project configuration (backward compatibility)
506
+ const projectName = credentials.project;
507
+ if (!projectName) {
508
+ console.log(chalk.yellow('⚠️ No project specified, skipping folder creation'));
509
+ return;
510
+ }
511
+ createSingleProjectFolders(specsDir, projectName, credentials.areaPaths, credentials.strategy, credentials.teams);
512
+ console.log(chalk.green(`✓ ADO folder structure created`));
249
513
  }
250
514
  /**
251
515
  * Show Azure DevOps setup complete message
@@ -1 +1 @@
1
- {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/ado.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/ado.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAoC,YAAY,EAAE,MAAM,YAAY,CAAC;AA2CjF;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAmR/E;AAihBD,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAoC,YAAY,EAAE,MAAM,YAAY,CAAC;AA4CjF;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA6R/E;AAolBD,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}