specweave 0.28.11 → 0.28.13

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 (38) hide show
  1. package/dist/src/cli/commands/init.d.ts.map +1 -1
  2. package/dist/src/cli/commands/init.js +29 -18
  3. package/dist/src/cli/commands/init.js.map +1 -1
  4. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  5. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  6. package/dist/src/cli/helpers/init/index.js +2 -0
  7. package/dist/src/cli/helpers/init/index.js.map +1 -1
  8. package/dist/src/cli/helpers/init/language-selection.d.ts +40 -0
  9. package/dist/src/cli/helpers/init/language-selection.d.ts.map +1 -0
  10. package/dist/src/cli/helpers/init/language-selection.js +281 -0
  11. package/dist/src/cli/helpers/init/language-selection.js.map +1 -0
  12. package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
  13. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/repository-setup.js +156 -12
  15. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  16. package/dist/src/cli/helpers/init/translation-config.d.ts +10 -2
  17. package/dist/src/cli/helpers/init/translation-config.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/init/translation-config.js +302 -81
  19. package/dist/src/cli/helpers/init/translation-config.js.map +1 -1
  20. package/dist/src/core/config/types.d.ts +30 -2
  21. package/dist/src/core/config/types.d.ts.map +1 -1
  22. package/dist/src/core/config/types.js.map +1 -1
  23. package/dist/src/sync/sync-coordinator.d.ts +5 -0
  24. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  25. package/dist/src/sync/sync-coordinator.js +104 -6
  26. package/dist/src/sync/sync-coordinator.js.map +1 -1
  27. package/package.json +1 -1
  28. package/plugins/specweave/agents/pm/AGENT.md +41 -4
  29. package/plugins/specweave/agents/test-aware-planner/AGENT.md +54 -0
  30. package/plugins/specweave/commands/specweave-increment.md +30 -0
  31. package/plugins/specweave/commands/specweave-save.md +838 -0
  32. package/plugins/specweave/hooks/lib/update-status-line.sh +9 -1
  33. package/plugins/specweave/hooks/post-increment-completion.sh +4 -3
  34. package/plugins/specweave/hooks/post-metadata-change.sh +18 -4
  35. package/plugins/specweave/skills/increment-planner/SKILL.md +252 -2
  36. package/plugins/specweave/skills/spec-generator/SKILL.md +163 -0
  37. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +79 -12
  38. package/plugins/specweave-release/commands/specweave-release-npm.md +14 -22
@@ -13,6 +13,7 @@ import { GitHubClientV2 } from '../../plugins/specweave-github/lib/github-client
13
13
  import { consoleLogger } from '../utils/logger.js';
14
14
  import { FrontmatterUpdater } from './frontmatter-updater.js';
15
15
  import { autoDetectProjectIdSync } from '../utils/project-detection.js';
16
+ import { UserStoryContentBuilder } from '../../plugins/specweave-github/lib/user-story-content-builder.js';
16
17
  export class SyncCoordinator {
17
18
  constructor(options) {
18
19
  this.projectRoot = options.projectRoot;
@@ -94,7 +95,9 @@ export class SyncCoordinator {
94
95
  // LAYER 1: Check user story frontmatter for existing GitHub issue
95
96
  const cachedIssue = await this.frontmatterUpdater.getGitHubIssueFromFrontmatter(this.projectRoot, featureId, usFile.id);
96
97
  if (cachedIssue) {
97
- this.logger.log(` ⏭️ ${usFile.id} - Issue #${cachedIssue.number} already exists (cached in frontmatter)`);
98
+ this.logger.log(` 🔍 ${usFile.id} - Issue #${cachedIssue.number} exists (cached)`);
99
+ // Check if issue needs content update (has placeholder body)
100
+ await this.updateIssueIfPlaceholder(cachedIssue.number, usFile.id, featureId, client, repoInfo);
98
101
  continue;
99
102
  }
100
103
  // LAYER 2: Check increment metadata.json
@@ -105,9 +108,10 @@ export class SyncCoordinator {
105
108
  const githubIssues = metadata.github?.issues || [];
106
109
  const found = githubIssues.find((i) => i.userStory === usFile.id);
107
110
  if (found) {
108
- this.logger.log(` ⏭️ ${usFile.id} - Issue #${found.number} already exists (cached in metadata)`);
111
+ this.logger.log(` 🔍 ${usFile.id} - Issue #${found.number} exists (metadata)`);
112
+ // Check if issue needs content update
113
+ await this.updateIssueIfPlaceholder(found.number, usFile.id, featureId, client, repoInfo);
109
114
  existingIssue = found.number;
110
- // TODO: Backfill Layer 1 (update user story frontmatter)
111
115
  continue;
112
116
  }
113
117
  }
@@ -115,7 +119,37 @@ export class SyncCoordinator {
115
119
  const searchTitle = `[${featureId}][${usFile.id}]`;
116
120
  const existingOnGitHub = await client.searchIssueByTitle(searchTitle);
117
121
  if (existingOnGitHub) {
118
- this.logger.log(` ⏭️ ${usFile.id} - Issue #${existingOnGitHub.number} already exists on GitHub`);
122
+ this.logger.log(` 🔍 ${usFile.id} - Issue #${existingOnGitHub.number} already exists on GitHub`);
123
+ // CHECK: Does issue have placeholder content that needs updating?
124
+ const hasPlaceholderBody = existingOnGitHub.body?.includes('This issue was auto-created by SpecWeave')
125
+ && !existingOnGitHub.body?.includes('## Acceptance Criteria');
126
+ if (hasPlaceholderBody) {
127
+ this.logger.log(` 📝 Issue has placeholder content - updating with rich body...`);
128
+ try {
129
+ // Find the user story file in living docs
130
+ const featurePath = path.join(this.projectRoot, '.specweave/docs/internal/specs', this.projectId, featureId);
131
+ const usIdNumber = usFile.id.toLowerCase().replace('us-', '');
132
+ const featureFiles = existsSync(featurePath) ? await fs.readdir(featurePath) : [];
133
+ const usFileName = featureFiles.find(f => f.startsWith(`us-${usIdNumber}-`) && f.endsWith('.md'));
134
+ if (usFileName) {
135
+ const usFilePath = path.join(featurePath, usFileName);
136
+ const contentBuilder = new UserStoryContentBuilder(usFilePath, this.projectRoot);
137
+ const richBody = await contentBuilder.buildIssueBody(`${repoInfo.owner}/${repoInfo.repo}`);
138
+ // Update the issue body via gh CLI
139
+ await client.updateIssueBody(existingOnGitHub.number, richBody);
140
+ this.logger.log(` ✅ Updated issue #${existingOnGitHub.number} with rich content (ACs, tasks)`);
141
+ }
142
+ else {
143
+ this.logger.log(` ⚠️ User story file not found - keeping placeholder content`);
144
+ }
145
+ }
146
+ catch (error) {
147
+ this.logger.log(` ⚠️ Failed to update issue body: ${error}`);
148
+ }
149
+ }
150
+ else {
151
+ this.logger.log(` ⏭️ Issue already has rich content - skipping update`);
152
+ }
119
153
  // Backfill Layer 1 (frontmatter) and Layer 2 (metadata)
120
154
  await this.frontmatterUpdater.updateUserStoryFrontmatter({
121
155
  projectRoot: this.projectRoot,
@@ -153,8 +187,32 @@ export class SyncCoordinator {
153
187
  }
154
188
  // All 3 layers miss - create new issue
155
189
  this.logger.log(` 📝 Creating GitHub issue for ${usFile.id}...`);
156
- // Format issue body
157
- const issueBody = this.formatUserStoryBody(usFile);
190
+ // Format issue body - use UserStoryContentBuilder for rich content with ACs
191
+ let issueBody;
192
+ try {
193
+ // Find the user story file in living docs
194
+ const featurePath = path.join(this.projectRoot, '.specweave/docs/internal/specs', this.projectId, featureId);
195
+ // Search for file matching us-{number}-*.md pattern
196
+ const usIdNumber = usFile.id.toLowerCase().replace('us-', '');
197
+ const featureFiles = existsSync(featurePath) ? await fs.readdir(featurePath) : [];
198
+ const usFileName = featureFiles.find(f => f.startsWith(`us-${usIdNumber}-`) && f.endsWith('.md'));
199
+ if (usFileName) {
200
+ const usFilePath = path.join(featurePath, usFileName);
201
+ const contentBuilder = new UserStoryContentBuilder(usFilePath, this.projectRoot);
202
+ issueBody = await contentBuilder.buildIssueBody(`${repoInfo.owner}/${repoInfo.repo}`);
203
+ this.logger.log(` 📄 Built rich issue body with ACs from ${usFileName}`);
204
+ }
205
+ else {
206
+ // Fallback to basic body if file not found
207
+ this.logger.log(` ⚠️ User story file not found for ${usFile.id}, using basic body`);
208
+ issueBody = this.formatUserStoryBody(usFile);
209
+ }
210
+ }
211
+ catch (error) {
212
+ // Fallback to basic body on any error
213
+ this.logger.log(` ⚠️ Failed to build rich body: ${error}, using fallback`);
214
+ issueBody = this.formatUserStoryBody(usFile);
215
+ }
158
216
  // Create issue
159
217
  const issue = await client.createUserStoryIssue({
160
218
  featureId,
@@ -408,6 +466,46 @@ Increment \`${this.incrementId}\` has been marked as **completed**.
408
466
  return result;
409
467
  }
410
468
  }
469
+ /**
470
+ * Update issue if it has placeholder content
471
+ * Fetches issue from GitHub, checks for placeholder, and updates with rich content
472
+ */
473
+ async updateIssueIfPlaceholder(issueNumber, userStoryId, featureId, client, repoInfo) {
474
+ try {
475
+ // Fetch issue from GitHub to check body content
476
+ const issue = await client.getIssue(issueNumber);
477
+ if (!issue) {
478
+ this.logger.log(` ⚠️ Could not fetch issue #${issueNumber}`);
479
+ return;
480
+ }
481
+ // Check if issue has placeholder content
482
+ const hasPlaceholderBody = issue.body?.includes('This issue was auto-created by SpecWeave')
483
+ && !issue.body?.includes('## Acceptance Criteria');
484
+ if (!hasPlaceholderBody) {
485
+ this.logger.log(` ✓ Issue already has rich content`);
486
+ return;
487
+ }
488
+ this.logger.log(` 📝 Updating placeholder content with rich body...`);
489
+ // Find the user story file in living docs
490
+ const featurePath = path.join(this.projectRoot, '.specweave/docs/internal/specs', this.projectId, featureId);
491
+ const usIdNumber = userStoryId.toLowerCase().replace('us-', '');
492
+ const featureFiles = existsSync(featurePath) ? await fs.readdir(featurePath) : [];
493
+ const usFileName = featureFiles.find(f => f.startsWith(`us-${usIdNumber}-`) && f.endsWith('.md'));
494
+ if (!usFileName) {
495
+ this.logger.log(` ⚠️ User story file not found - keeping placeholder`);
496
+ return;
497
+ }
498
+ const usFilePath = path.join(featurePath, usFileName);
499
+ const contentBuilder = new UserStoryContentBuilder(usFilePath, this.projectRoot);
500
+ const richBody = await contentBuilder.buildIssueBody(`${repoInfo.owner}/${repoInfo.repo}`);
501
+ // Update the issue body
502
+ await client.updateIssueBody(issueNumber, richBody);
503
+ this.logger.log(` ✅ Updated issue #${issueNumber} with ACs and tasks`);
504
+ }
505
+ catch (error) {
506
+ this.logger.log(` ⚠️ Failed to update: ${error}`);
507
+ }
508
+ }
411
509
  /**
412
510
  * Format user story content for GitHub issue body
413
511
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sync-coordinator.js","sourceRoot":"","sources":["../../../src/sync/sync-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAgB,MAAM,IAAI,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAoB,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAyB,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,EAAU,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAexE,MAAM,OAAO,eAAe;IAO1B,YAAY,OAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,wEAAwE;QACxE,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gCAAgC,CAAC,MAAW;QAChD,MAAM,aAAa,GAAkB,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAE7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,qCAAqC,CAAC,CAAC;YAErF,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtE,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;YAEF,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAChE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,4DAA4D;gBAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACnB,SAAS,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,SAAS,kCAAkC,CAAC,CAAC;gBAChG,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;oBAC9F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;oBACvF,OAAO,aAAa,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACjD,GAAG,SAAS,yBAAyB,EACrC,yBAAyB,SAAS,EAAE,EACpC,EAAE,CAAC,mBAAmB;iBACvB,CAAC;gBACF,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YAED,sDAAsD;YACtD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,kEAAkE;oBAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAC7E,IAAI,CAAC,WAAW,EAChB,SAAS,EACT,MAAM,CAAC,EAAE,CACV,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,WAAW,CAAC,MAAM,yCAAyC,CAAC,CAAC;wBAC5G,SAAS;oBACX,CAAC;oBAED,yCAAyC;oBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,eAAe,CAChB,CAAC;oBAEF,IAAI,aAAa,GAAkB,IAAI,CAAC;oBACxC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;wBACtE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;wBACnD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;wBACvE,IAAI,KAAK,EAAE,CAAC;4BACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,KAAK,CAAC,MAAM,sCAAsC,CAAC,CAAC;4BACnG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;4BAC7B,yDAAyD;4BACzD,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,wDAAwD;oBACxD,MAAM,WAAW,GAAG,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC;oBACnD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAEtE,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,gBAAgB,CAAC,MAAM,2BAA2B,CAAC,CAAC;wBAEnG,wDAAwD;wBACxD,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;4BACvD,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,SAAS;4BACT,WAAW,EAAE,MAAM,CAAC,EAAE;4BACtB,WAAW,EAAE;gCACX,MAAM,EAAE,gBAAgB,CAAC,MAAM;gCAC/B,GAAG,EAAE,gBAAgB,CAAC,QAAQ;gCAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;6BACpC;yBACF,CAAC,CAAC;wBAEH,mCAAmC;wBACnC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;4BACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gCACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;4BACvB,CAAC;4BACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gCAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;4BAC9B,CAAC;4BAED,mCAAmC;4BACnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAClD,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CACtC,CAAC;4BACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACtB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oCAC1B,SAAS,EAAE,MAAM,CAAC,EAAE;oCACpB,MAAM,EAAE,gBAAgB,CAAC,MAAM;oCAC/B,GAAG,EAAE,gBAAgB,CAAC,QAAQ;oCAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iCACpC,CAAC,CAAC;gCACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gCACpD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;4BAC/E,CAAC;wBACH,CAAC;wBAED,SAAS;oBACX,CAAC;oBAED,uCAAuC;oBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;oBAElE,oBAAoB;oBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAEnD,eAAe;oBACf,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;wBAC9C,SAAS;wBACT,WAAW,EAAE,MAAM,CAAC,EAAE;wBACtB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,EAAE;wBACV,SAAS,EAAE,eAAe;qBAC3B,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACzE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1B,2CAA2C;oBAC3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;wBACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;wBACvB,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;wBAC9B,CAAC;wBACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BAC1B,SAAS,EAAE,MAAM,CAAC,EAAE;4BACpB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,GAAG,EAAE,KAAK,CAAC,QAAQ;4BACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,CAAC;wBACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACpD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,CAAC;oBAED,mDAAmD;oBACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;wBACvD,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS;wBACT,WAAW,EAAE,MAAM,CAAC,EAAE;wBACtB,WAAW,EAAE;4BACX,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,GAAG,EAAE,KAAK,CAAC,QAAQ;4BACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;qBACF,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,aAAa,CAAC,MAAM,wBAAwB,SAAS,EAAE,CAAC,CAAC;gBACxF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,+BAA+B,CAAC,MAAW;QAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAE7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,8CAA8C,CAAC,CAAC;YAE9F,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtE,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;YAEF,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAChE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,wEAAwE;gBACxE,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACnB,SAAS,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBAC3E,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,+CAA+C;oBAC/C,MAAM,WAAW,GAAG,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC;oBACnD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,qCAAqC,CAAC,CAAC;wBACzE,SAAS;oBACX,CAAC;oBAED,2DAA2D;oBAC3D,IAAI,aAAa,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,aAAa,CAAC,MAAM,iBAAiB,CAAC,CAAC;wBACtF,SAAS;oBACX,CAAC;oBAED,0CAA0C;oBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,aAAa,CAAC,MAAM,QAAQ,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;oBAE1F,MAAM,iBAAiB,GAAG;;cAEtB,IAAI,CAAC,WAAW;;kBAEZ,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,IAAI,KAAK;;;;;;;;;oDASF,CAAC;oBAE3C,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;oBACjE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,YAAY,CAAC,MAAM,wBAAwB,SAAS,EAAE,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,MAAM,GAA4C;YACtD,OAAO,EAAE,KAAK;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;YAE7E,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,KAAK,CAAC;YACjF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;YAErE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACrE,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;gBACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;gBACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBAC1E,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAChC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBACxE,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;gBACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAE/E,0DAA0D;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;gBAC7E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YACpF,IAAI,CAAC;gBACH,MAAM,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAwB;QAClD,8CAA8C;QAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;QAE5H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,MAAM,GAAe;YACzB,OAAO,EAAE,KAAK;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,WAAW,8BAA8B,CAAC,CAAC;YAE1F,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,wEAAwE;YACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC;YAChF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;gBAC3G,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,KAAK,CAAC;YACjF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;gBAC7G,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;gBACrC,wDAAwD;gBACxD,+DAA+D;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YAED,+EAA+E;YAC/E,uDAAuD;YACvD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;oBACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;oBAC1F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;oBAC1F,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;oBAChC,uDAAuD;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;oBAEjF,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;oBAC5D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;wBACpE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;wBACnE,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;wBACtD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;4BAC7E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;4BAClD,kDAAkD;wBACpD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACxE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;wBAC7F,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAE7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAChE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAErE,6BAA6B;YAC7B,MAAM,WAAW,GAAG,IAAI,6BAA6B,CACnD;gBACE,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,KAAK;gBAC9E,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,IAAI,KAAK;aACjE,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;YAEF,0BAA0B;YAC1B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBACtD,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC1B,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,kBAAkB,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,iBAAiB,IAAI,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,MAAwB,EACxB,WAA0C,EAC1C,MAAW;QAEX,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,KAAK,MAAM,GAAG,CAAC,CAAC;QAEnD,uBAAuB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE7D,4CAA4C;QAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,oBAAoB;QAE/E,gDAAgD;QAChD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,oDAAoD;YACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACzE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAAwB;QACvD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEtD,0DAA0D;YAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC;YAEjF,6EAA6E;YAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBAC7C,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;QAEF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,YAAY;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;YAEpE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjB,WAAW,EAAE,gBAAgB;oBAC7B,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,kBAAkB,GAAG,UAAU,GAAG,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;YACjD,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,KAAK;YACL,kBAAkB,EAAE,GAAG;YACvB,kBAAkB;YAClB,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,mCAAmC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG;SACpG,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,2BAA2B;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAErD,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC;QAEpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oEAAoE;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,WAAW,EAChB,gCAAgC,EAChC,IAAI,CAAC,SAAS,EACd,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oBAAoB;QACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEzD,oBAAoB;gBACpB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,mBAAmB,EAAE,EAAE,CAAC,mBAAmB;wBAC3C,cAAc,EAAE,EAAE,CAAC,cAAc;wBACjC,eAAe,EAAE,EAAE,CAAC,eAAe;wBACnC,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,cAAc,EAAE,EAAE,CAAC,cAAc,CAAE,8CAA8C;qBAClF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,YAAiB;QAC9C,qBAAqB;QACrB,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;gBACnD,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,uFAAuF;YACvF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"sync-coordinator.js","sourceRoot":"","sources":["../../../src/sync/sync-coordinator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.28.11",
3
+ "version": "0.28.13",
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",
@@ -439,7 +439,41 @@ graph TD
439
439
 
440
440
  ## 🔀 Multi-Repo Project-Scoped User Stories (v0.28.8+)
441
441
 
442
- **CRITICAL**: When user describes a multi-repo architecture, you MUST generate **project-scoped user stories** with prefixes!
442
+ **⚠️ CRITICAL - MANDATORY CHECK BEFORE GENERATING ANY SPEC.MD!**
443
+
444
+ ### STEP 0: Multi-Project Detection (RUN FIRST!)
445
+
446
+ **YOU MUST CHECK THIS BEFORE WRITING ANY USER STORIES:**
447
+
448
+ ```bash
449
+ # 1. Check config.json for umbrella mode
450
+ cat .specweave/config.json | jq '.umbrella.enabled'
451
+
452
+ # 2. Check for childRepos
453
+ cat .specweave/config.json | jq '.umbrella.childRepos[]'
454
+
455
+ # 3. Check for project folders
456
+ ls -la .specweave/docs/internal/specs/
457
+ ```
458
+
459
+ **Decision Flow:**
460
+ ```
461
+ Is umbrella.enabled: true?
462
+ → YES → MUST use project-scoped user stories (US-FE-001, US-BE-001)
463
+ → NO → Check for multiple project folders in specs/
464
+ → YES → MUST use project-scoped user stories
465
+ → NO → Use standard user stories (US-001, US-002)
466
+ ```
467
+
468
+ **If multi-project detected, NEVER generate:**
469
+ - ❌ `US-001`, `US-002` (generic format)
470
+ - ❌ `AC-US1-01`, `AC-US2-01` (generic AC format)
471
+
472
+ **ALWAYS generate:**
473
+ - ✅ `US-FE-001`, `US-BE-001`, `US-SHARED-001` (project-scoped)
474
+ - ✅ `AC-FE-US1-01`, `AC-BE-US1-01` (project-scoped ACs)
475
+
476
+ ---
443
477
 
444
478
  ### Detection Patterns
445
479
 
@@ -552,14 +586,17 @@ If `.specweave/config.json` has umbrella config:
552
586
  "umbrella": {
553
587
  "enabled": true,
554
588
  "childRepos": [
555
- { "id": "fe", "prefix": "FE" },
556
- { "id": "be", "prefix": "BE" },
557
- { "id": "shared", "prefix": "SHARED" }
589
+ { "id": "sw-app-fe", "prefix": "FE" },
590
+ { "id": "sw-app-be", "prefix": "BE" },
591
+ { "id": "sw-app-shared", "prefix": "SHARED" }
558
592
  ]
559
593
  }
560
594
  }
561
595
  ```
562
596
 
597
+ **ID Strategy**: `id` MUST match repo name (e.g., `sw-app-fe`), NOT arbitrary abbreviations (`fe`).
598
+ The `prefix` (for user stories like `US-FE-001`) can be short.
599
+
563
600
  Use these prefixes for user stories. If no config, infer from user prompt.
564
601
 
565
602
  ### Why This Matters
@@ -125,6 +125,60 @@ The test-aware-planner agent is responsible for generating `tasks.md` with **emb
125
125
 
126
126
  **CRITICAL**: v0.23.0+ requires hierarchical structure grouped by User Story.
127
127
 
128
+ ### ⚠️ Multi-Project Mode Detection (v0.29.0+)
129
+
130
+ **BEFORE generating tasks, check for multi-project mode:**
131
+
132
+ ```bash
133
+ # Check if multi-project mode is active
134
+ cat .specweave/config.json | jq '.umbrella.enabled'
135
+ ```
136
+
137
+ **If multi-project detected:**
138
+ - User stories will have prefixes: `US-FE-001`, `US-BE-001`, `US-SHARED-001`
139
+ - AC-IDs will have prefixes: `AC-FE-US1-01`, `AC-BE-US1-01`
140
+ - **Match the format from spec.md exactly!**
141
+
142
+ ### Single-Project Format (umbrella.enabled: false)
143
+
144
+ ```markdown
145
+ ## User Story: US-001 - User Story Title
146
+
147
+ **Linked ACs**: AC-US1-01, AC-US1-02, AC-US1-03
148
+ **Tasks**: X total, 0 completed
149
+ ```
150
+
151
+ ### Multi-Project Format (umbrella.enabled: true)
152
+
153
+ ```markdown
154
+ ## Phase 1: Shared Library (sw-app-shared)
155
+
156
+ ### User Story: US-SHARED-001 - Common Types & Validators
157
+
158
+ **Linked ACs**: AC-SHARED-US1-01, AC-SHARED-US1-02
159
+ **Tasks**: X total, 0 completed
160
+
161
+ ---
162
+
163
+ ## Phase 2: Backend (sw-app-be)
164
+
165
+ ### User Story: US-BE-001 - API Endpoints
166
+
167
+ **Linked ACs**: AC-BE-US1-01, AC-BE-US1-02
168
+ **Tasks**: X total, 0 completed
169
+
170
+ ---
171
+
172
+ ## Phase 3: Frontend (sw-app-fe)
173
+
174
+ ### User Story: US-FE-001 - UI Components
175
+
176
+ **Linked ACs**: AC-FE-US1-01, AC-FE-US1-02
177
+ **Tasks**: X total, 0 completed
178
+ ```
179
+
180
+ ---
181
+
128
182
  Each task in `tasks.md` follows this format:
129
183
 
130
184
  ```markdown
@@ -372,6 +372,36 @@ Proceeding with hotfix 0006...
372
372
  - Find highest number across both directories (e.g., 032)
373
373
  - Next increment: 033
374
374
 
375
+ ### Step 1.5: Detect Multi-Project Mode (CRITICAL!)
376
+
377
+ **⚠️ MANDATORY CHECK before generating spec.md:**
378
+
379
+ ```bash
380
+ # Check for umbrella configuration
381
+ UMBRELLA_ENABLED=$(cat .specweave/config.json 2>/dev/null | jq -r '.umbrella.enabled // false')
382
+ CHILD_REPOS=$(cat .specweave/config.json 2>/dev/null | jq -r '.umbrella.childRepos[]?.id // empty' | tr '\n' ',')
383
+ PROJECT_FOLDERS=$(ls -1 .specweave/docs/internal/specs/ 2>/dev/null | grep -v "^_" | head -5)
384
+ ```
385
+
386
+ **If multi-project detected:**
387
+ ```
388
+ 📁 Multi-Project Mode Detected!
389
+
390
+ Child Repos:
391
+ • FE: sw-thumbnail-ab-fe
392
+ • BE: sw-thumbnail-ab-be
393
+ • SHARED: sw-thumbnail-ab-shared
394
+
395
+ User stories will be generated with project prefixes:
396
+ • US-FE-001, US-FE-002 (Frontend stories)
397
+ • US-BE-001, US-BE-002 (Backend stories)
398
+ • US-SHARED-001 (Shared library stories)
399
+
400
+ Each story will include "Related Repo" field for clarity.
401
+ ```
402
+
403
+ **Pass this context to increment-planner skill!**
404
+
375
405
  ### Step 2: Detect tech stack (CRITICAL - framework-agnostic)
376
406
  - Settings auto-detected
377
407
  - If not found, detect from project files: