specweave 0.14.0 β†’ 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +58 -9
  2. package/bin/specweave.js +65 -0
  3. package/dist/cli/commands/migrate-to-profiles.d.ts.map +1 -1
  4. package/dist/cli/commands/migrate-to-profiles.js +0 -2
  5. package/dist/cli/commands/migrate-to-profiles.js.map +1 -1
  6. package/dist/core/sync/folder-mapper.d.ts.map +1 -1
  7. package/dist/core/sync/folder-mapper.js +70 -35
  8. package/dist/core/sync/folder-mapper.js.map +1 -1
  9. package/dist/core/sync/profile-validator.d.ts.map +1 -1
  10. package/dist/core/sync/profile-validator.js +35 -90
  11. package/dist/core/sync/profile-validator.js.map +1 -1
  12. package/dist/core/types/sync-profile.d.ts +101 -155
  13. package/dist/core/types/sync-profile.d.ts.map +1 -1
  14. package/dist/core/types/sync-profile.js +46 -22
  15. package/dist/core/types/sync-profile.js.map +1 -1
  16. package/dist/utils/env-multi-project-parser.d.ts.map +1 -1
  17. package/dist/utils/env-multi-project-parser.js +0 -2
  18. package/dist/utils/env-multi-project-parser.js.map +1 -1
  19. package/dist/utils/project-mapper.d.ts +19 -1
  20. package/dist/utils/project-mapper.d.ts.map +1 -1
  21. package/dist/utils/project-mapper.js +7 -4
  22. package/dist/utils/project-mapper.js.map +1 -1
  23. package/dist/utils/spec-splitter.d.ts +7 -0
  24. package/dist/utils/spec-splitter.d.ts.map +1 -1
  25. package/dist/utils/spec-splitter.js +20 -2
  26. package/dist/utils/spec-splitter.js.map +1 -1
  27. package/package.json +1 -1
  28. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +40 -7
  29. package/plugins/specweave-ado/lib/ado-multi-project-sync.ts +49 -7
  30. package/plugins/specweave-github/hooks/hooks.json +0 -11
  31. package/plugins/specweave-github/lib/github-multi-project-sync.js +58 -5
  32. package/plugins/specweave-github/lib/github-multi-project-sync.ts +80 -4
  33. package/plugins/specweave-jira/lib/jira-multi-project-sync.js +30 -5
  34. package/plugins/specweave-jira/lib/jira-multi-project-sync.ts +34 -5
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # SpecWeave
2
2
 
3
- > **AI made us fast. SpecWeave makes us sustainable.**
3
+ > **1 Senior Developer = Full Engineering Team**
4
+
5
+ The framework that turns solo builders into unicorn-level engineering teams.
4
6
 
5
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
8
  [![Build](https://img.shields.io/github/actions/workflow/status/anton-abyzov/specweave/test.yml?branch=develop&label=Tests)](https://github.com/anton-abyzov/specweave/actions/workflows/test.yml)
@@ -23,6 +25,42 @@
23
25
 
24
26
  ---
25
27
 
28
+ ## πŸ¦„ The Solo Builder Revolution
29
+
30
+ **The Truth Nobody Talks About:**
31
+ - **Stripe:** Started with 2 engineers
32
+ - **Instagram:** 1 engineer (Kevin Systrom) until 100M users
33
+ - **WhatsApp:** 32 engineers serving 450M users (14M users per engineer!)
34
+ - **Plaid:** 3 founding engineers built a $13B company
35
+
36
+ **What they had that you don't:**
37
+ - Enterprise-grade documentation processes
38
+ - Architecture decision records (ADRs)
39
+ - Living runbooks and operational docs
40
+ - Spec-driven development discipline
41
+
42
+ **With SpecWeave:**
43
+ - βœ… **You get ALL of that** - automatically
44
+ - βœ… **You ARE the full team** - PM + Architect + QA + DevOps + Tech Writer
45
+ - βœ… **You CAN build unicorns** - solo, with enterprise-grade quality
46
+
47
+ ### What This Replaces:
48
+
49
+ | Role | Annual Cost | SpecWeave Replacement |
50
+ |------|-------------|----------------------|
51
+ | Product Manager | $150K | Auto-generated PRDs + User Stories |
52
+ | System Architect | $180K | Auto-generated ADRs + HLD |
53
+ | Tech Writer | $100K | Living docs auto-sync |
54
+ | QA Lead | $130K | BDD tests embedded |
55
+ | DevOps Engineer | $150K | Production runbooks included |
56
+ | **Total Team Cost** | **$710K/year** | **$0** (free framework) |
57
+
58
+ **ROI:** ♾️ (infinite)
59
+
60
+ **You're not hiring a team. You're automating one.** πŸš€
61
+
62
+ ---
63
+
26
64
  ## If You Get Hit By A Bus
27
65
 
28
66
  Your startup dies with you.
@@ -53,21 +91,32 @@ But for solo devs and small teams? Impossible to maintain manually.
53
91
 
54
92
  ---
55
93
 
56
- ## SpecWeave: Enterprise Standards, Zero Overhead
94
+ ## SpecWeave: Enterprise Standards, Solo Builder Capability
57
95
 
58
- Living documentation that updates automatically after every task.
96
+ **The Power Formula:**
97
+ ```
98
+ 1 Senior + SpecWeave + Claude Code = Full Engineering Team
99
+ ```
59
100
 
101
+ Living documentation that updates automatically after every task.
60
102
  The same processes Fortune 500 uses. Without the team. Without the manual work.
61
103
 
62
- βœ… **Architecture decisions documented** - Pass audits, land enterprise deals
63
-
64
- βœ… **Onboarding automated** - New devs productive in 1 hour, not 1 week
104
+ ### For Juniors:
105
+ - βœ… **Code like seniors** - Enterprise patterns from day one
106
+ - βœ… **Think like architects** - ADRs teach you system design
107
+ - βœ… **Test like QA leads** - BDD embedded in every task
65
108
 
66
- βœ… **Knowledge preserved** - Sell your startup, someone can actually run it
109
+ ### For Seniors:
110
+ - βœ… **Build like unicorns** - Solo founder β†’ Unicorn-level product
111
+ - βœ… **Ship enterprise-grade** - Pass SOC2, land Fortune 500 deals
112
+ - βœ… **Replace entire teams** - PM + Architect + QA + DevOps + Tech Writer
67
113
 
68
- βœ… **Standards enforced** - SOC2, ISO, compliance requirements met
114
+ ### For CTOs:
115
+ - βœ… **Manage without meetings** - Docs are source of truth
116
+ - βœ… **Scale without chaos** - Standards enforced automatically
117
+ - βœ… **Audit-ready always** - ISO, SOC2, compliance built-in
69
118
 
70
- **AI speed + Enterprise reliability = You can finally scale.**
119
+ **AI speed + Enterprise reliability + Solo capability = Infinite leverage** πŸš€
71
120
 
72
121
  ---
73
122
 
package/bin/specweave.js CHANGED
@@ -113,6 +113,69 @@ program
113
113
  await statusCommand(options);
114
114
  });
115
115
 
116
+ // Status line command - Display current increment progress
117
+ program
118
+ .command('status-line')
119
+ .description('Display current increment status line')
120
+ .option('--json', 'Output JSON format')
121
+ .option('--clear', 'Clear status line cache')
122
+ .option('--config <path>', 'Path to config file')
123
+ .action(async (options) => {
124
+ const { registerStatusLineCommand } = await import('../dist/cli/commands/status-line.js');
125
+ const tempProgram = new Command();
126
+ registerStatusLineCommand(tempProgram);
127
+ // Execute action manually since we need the temp program
128
+ const manager = await import('../dist/core/status-line/status-line-manager.js').then(m => m.StatusLineManager);
129
+ const StatusLineManager = manager;
130
+ const path = await import('path');
131
+ const fs = await import('fs');
132
+
133
+ const rootDir = process.cwd();
134
+ let config = {};
135
+
136
+ if (options.config) {
137
+ const configPath = path.resolve(options.config);
138
+ if (fs.existsSync(configPath)) {
139
+ const configContent = fs.readFileSync(configPath, 'utf8');
140
+ const fullConfig = JSON.parse(configContent);
141
+ config = fullConfig.statusLine || {};
142
+ }
143
+ } else {
144
+ const defaultConfigPath = path.join(rootDir, '.specweave/config.json');
145
+ if (fs.existsSync(defaultConfigPath)) {
146
+ const configContent = fs.readFileSync(defaultConfigPath, 'utf8');
147
+ const fullConfig = JSON.parse(configContent);
148
+ config = fullConfig.statusLine || {};
149
+ }
150
+ }
151
+
152
+ const statusManager = new StatusLineManager(rootDir, config);
153
+
154
+ if (options.clear) {
155
+ statusManager.clearCache();
156
+ console.log('βœ… Status line cache cleared');
157
+ return;
158
+ }
159
+
160
+ if (options.json) {
161
+ const cache = statusManager.getCacheData();
162
+ if (!cache) {
163
+ console.log(JSON.stringify({ error: 'No active increment' }, null, 2));
164
+ process.exit(1);
165
+ }
166
+ console.log(JSON.stringify(cache, null, 2));
167
+ return;
168
+ }
169
+
170
+ const statusLine = statusManager.render();
171
+ if (!statusLine) {
172
+ console.log('No active increment');
173
+ process.exit(1);
174
+ }
175
+
176
+ console.log(statusLine);
177
+ });
178
+
116
179
  // Check discipline command - Validate increment discipline
117
180
  program
118
181
  .command('check-discipline')
@@ -184,6 +247,8 @@ program.on('--help', () => {
184
247
  console.log(' $ specweave list --installed # Show installed components');
185
248
  console.log(' $ specweave status # Show all increments status');
186
249
  console.log(' $ specweave status --verbose # Show detailed increment info');
250
+ console.log(' $ specweave status-line # Display current increment progress');
251
+ console.log(' $ specweave status-line --json # Output progress as JSON');
187
252
  console.log(' $ specweave pause 0007 --reason "blocked" # Pause increment 0007');
188
253
  console.log(' $ specweave resume 0007 # Resume increment 0007');
189
254
  console.log(' $ specweave abandon 0007 --reason "obsolete" # Abandon increment 0007');
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-to-profiles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA0K1B;AA6ND,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"migrate-to-profiles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA0K1B;AA2ND,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
@@ -300,7 +300,6 @@ function createJiraProfile(config) {
300
300
  config: {
301
301
  domain: config.domain,
302
302
  projectKey: config.projectKey,
303
- issueType: 'Epic',
304
303
  },
305
304
  timeRange: {
306
305
  default: '1M',
@@ -320,7 +319,6 @@ function createAdoProfile(config) {
320
319
  config: {
321
320
  organization: config.organization,
322
321
  project: config.project,
323
- workItemType: 'Epic',
324
322
  },
325
323
  timeRange: {
326
324
  default: '1M',
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-to-profiles.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-to-profiles.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,UAA4B,EAAE;IAE9B,MAAM,EACJ,eAAe,GAAG,IAAI,EACtB,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,GAChB,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAoB;QAC9B,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,EAAE;QACnB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC/E,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,mCAAmC;QACnC,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAExB,iCAAiC;QACjC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAE9C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAE5C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,UAAU,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAE3C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,SAAS,CAAC;gBAC5B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAEzD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE;wBACxC,IAAI,EAAE,WAAW;wBACjB,WAAW,EAAE,iCAAiC;wBAC9C,QAAQ,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC;wBAChD,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,4BAA4B;wBAC3E,WAAW,EAAE,kCAAkC,SAAS,EAAE;qBAC3D,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEvC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAE5C,gBAAgB;QAChB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,KAAK,UAAU,sBAAsB,CACnC,WAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAqB;QAC/B,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAErC,8BAA8B;QAC9B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,GAAG;oBACZ,MAAM,EAAE,OAAO,CAAC,WAAW;oBAC3B,UAAU,EAAE,OAAO,CAAC,gBAAgB;iBACrC,CAAC;gBACF,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC7D,MAAM,CAAC,GAAG,GAAG;oBACX,YAAY,EAAE,OAAO,CAAC,gBAAgB;oBACtC,OAAO,EAAE,OAAO,CAAC,oBAAoB;iBACtC,CAAC;gBACF,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mCAAmC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YAC3E,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,gCAAgC;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,mBAAmB,CAAC,MAAuC;IAClE,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;QAC7C,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;SACV;QACD,UAAU,EAAE;YACV,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,GAAG;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAG1B;IACC,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,GAAG;QACtD,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;SACV;QACD,UAAU,EAAE;YACV,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,EAAE;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAGzB;IACC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE;QACvD,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE;YACN,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;SACV;QACD,UAAU,EAAE;YACV,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,GAAG;SACnB;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAE9E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACjD,0EAA0E;IAC1E,+DAA+D;IAC/D,6DAA6D;AAC/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"folder-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EAIZ,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CA4CxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CA+Bf"}
1
+ {"version":3,"file":"folder-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EAIZ,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAyDxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoDf"}
@@ -20,45 +20,58 @@ export function getSpecsFoldersForProfile(profile) {
20
20
  const folders = [];
21
21
  if (profile.provider === 'ado') {
22
22
  const config = profile.config;
23
- if (config.teams && config.teams.length > 0) {
24
- // Multiple teams β†’ multiple folders
25
- for (const team of config.teams) {
26
- const folderName = slugify(team); // "Platform Engineering Team" β†’ "platform-engineering-team"
23
+ // v0.13.0+ architecture
24
+ if (config.projects && config.projects.length > 0) {
25
+ // Multiple projects β†’ multiple folders
26
+ for (const project of config.projects) {
27
+ const folderName = slugify(project);
28
+ folders.push(`.specweave/docs/internal/specs/${folderName}`);
29
+ }
30
+ }
31
+ else if (config.areaPaths && config.areaPaths.length > 0) {
32
+ // Single project + area paths β†’ multiple folders
33
+ for (const areaPath of config.areaPaths) {
34
+ const folderName = slugify(areaPath);
27
35
  folders.push(`.specweave/docs/internal/specs/${folderName}`);
28
36
  }
29
37
  }
30
38
  else {
31
- // Single project, no teams specified β†’ default folder
32
- const folderName = slugify(config.project);
39
+ // Single project β†’ default folder
40
+ const folderName = slugify(config.project || 'default');
33
41
  folders.push(`.specweave/docs/internal/specs/${folderName}`);
34
42
  }
35
43
  }
36
44
  else if (profile.provider === 'jira') {
37
45
  const config = profile.config;
38
- if (config.strategy === 'project-per-team') {
46
+ // v0.13.0+ architecture
47
+ if (config.projects && config.projects.length > 0) {
39
48
  // Multiple projects β†’ multiple folders
40
- for (const projectKey of config.projects || []) {
41
- const folderName = slugify(projectKey); // "FRONTEND" β†’ "frontend"
42
- folders.push(`.specweave/docs/internal/specs/${folderName}`);
43
- }
44
- }
45
- else if (config.strategy === 'shared-project-with-components') {
46
- // Components β†’ multiple folders
47
- for (const component of config.components || []) {
48
- const folderName = slugify(component); // "Frontend" β†’ "frontend"
49
+ for (const projectKey of config.projects) {
50
+ const folderName = slugify(projectKey);
49
51
  folders.push(`.specweave/docs/internal/specs/${folderName}`);
50
52
  }
51
53
  }
52
54
  else {
53
- // Fallback: single project β†’ single folder
55
+ // Single project β†’ single folder
54
56
  const folderName = slugify(config.projectKey || 'default');
55
57
  folders.push(`.specweave/docs/internal/specs/${folderName}`);
56
58
  }
57
59
  }
58
60
  else if (profile.provider === 'github') {
59
61
  const config = profile.config;
60
- const folderName = slugify(config.repo); // "specweave" β†’ "specweave"
61
- folders.push(`.specweave/docs/internal/specs/${folderName}`);
62
+ // v0.13.0+ architecture
63
+ if (config.repos && config.repos.length > 0) {
64
+ // Multiple repos β†’ multiple folders
65
+ for (const repo of config.repos) {
66
+ const folderName = slugify(repo);
67
+ folders.push(`.specweave/docs/internal/specs/${folderName}`);
68
+ }
69
+ }
70
+ else {
71
+ // Single repo β†’ single folder
72
+ const folderName = slugify(config.repo || 'default');
73
+ folders.push(`.specweave/docs/internal/specs/${folderName}`);
74
+ }
62
75
  }
63
76
  return folders;
64
77
  }
@@ -137,32 +150,54 @@ export function getFolderNameFromAreaPath(areaPath) {
137
150
  export function getTeamFromFolder(profile, folderName) {
138
151
  if (profile.provider === 'ado') {
139
152
  const config = profile.config;
140
- const teams = config.teams || [];
141
- for (const team of teams) {
142
- if (slugify(team) === folderName) {
143
- return team;
153
+ // v0.13.0+: Check projects[]
154
+ const projects = config.projects || [];
155
+ for (const project of projects) {
156
+ if (slugify(project) === folderName) {
157
+ return project;
158
+ }
159
+ }
160
+ // v0.13.0+: Check areaPaths[]
161
+ const areaPaths = config.areaPaths || [];
162
+ for (const areaPath of areaPaths) {
163
+ if (slugify(areaPath) === folderName) {
164
+ return areaPath;
144
165
  }
145
166
  }
146
167
  }
147
168
  else if (profile.provider === 'jira') {
148
169
  const config = profile.config;
149
- if (config.strategy === 'project-per-team') {
150
- const projects = config.projects || [];
151
- for (const projectKey of projects) {
152
- if (slugify(projectKey) === folderName) {
153
- return projectKey;
154
- }
170
+ // v0.13.0+: Check projects[]
171
+ const projects = config.projects || [];
172
+ for (const projectKey of projects) {
173
+ if (slugify(projectKey) === folderName) {
174
+ return projectKey;
155
175
  }
156
176
  }
157
- else if (config.strategy === 'shared-project-with-components') {
158
- const components = config.components || [];
159
- for (const component of components) {
160
- if (slugify(component) === folderName) {
161
- return component;
162
- }
177
+ // Fallback to projectKey
178
+ if (config.projectKey && slugify(config.projectKey) === folderName) {
179
+ return config.projectKey;
180
+ }
181
+ }
182
+ else if (profile.provider === 'github') {
183
+ const config = profile.config;
184
+ // v0.13.0+: Check repos[]
185
+ const repos = config.repos || [];
186
+ for (const repo of repos) {
187
+ if (slugify(repo) === folderName) {
188
+ return repo;
163
189
  }
164
190
  }
191
+ // Fallback to single repo
192
+ if (config.repo && slugify(config.repo) === folderName) {
193
+ return config.repo;
194
+ }
165
195
  }
166
196
  return null;
167
197
  }
198
+ // NOTE: The following was removed in v0.13.0+ migration:
199
+ // - config.teams (ADO): Use projects[] or areaPaths[] instead
200
+ // - config.strategy (Jira): Removed, use intelligent mapping
201
+ // - config.components (Jira): Use projects[] instead
202
+ // Please update any code that still references these fields.
168
203
  //# sourceMappingURL=folder-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAoB;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmB,CAAC;QAE3C,wBAAwB;QACxB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,uCAAuC;YACvC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,iDAAiD;YACjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAoB,CAAC;QAE5C,wBAAwB;QACxB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,uCAAuC;YACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAsB,CAAC;QAE9C,wBAAwB;QACxB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,oCAAoC;YACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,IAAY;IAC9D,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,CAAC;QAC/F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gCAAgC;IAChC,OAAO,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,KAAe;IAEf,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,SAAS,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,8CAA8C;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,UAAkB;IAElB,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmB,CAAC;QAE3C,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAoB,CAAC;QAE5C,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;YACnE,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAsB,CAAC;QAE9C,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yDAAyD;AACzD,8DAA8D;AAC9D,6DAA6D;AAC7D,qDAAqD;AACrD,6DAA6D"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile-validator.d.ts","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,CA0F9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,uBAAuB,CAuE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB,CAiBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,uBAAuB,CAwCjF"}
1
+ {"version":3,"file":"profile-validator.d.ts","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,CAyC9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,uBAAuB,CAmD5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB,CAiBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,uBAAuB,CAwCjF"}
@@ -22,61 +22,22 @@ export function validateJiraConfig(config) {
22
22
  if (!config.domain || config.domain.trim().length === 0) {
23
23
  errors.push('Jira domain is required');
24
24
  }
25
- // Strategy is optional for backward compatibility
26
- // If not provided, assume single project mode
27
- if (!config.strategy) {
28
- // Legacy mode: single projectKey
29
- if (!config.projectKey) {
30
- errors.push('Either strategy (with projects/components) or projectKey (legacy) is required');
25
+ // NOTE: Strategy-based validation temporarily disabled (v0.13.0+ migration in progress)
26
+ // TODO: Update validation to match new v0.13.0 architecture (intelligent/custom strategies)
27
+ // Basic validation: domain + either projectKey or projects[]
28
+ if (!config.projectKey && (!config.projects || config.projects.length === 0)) {
29
+ errors.push('Either projectKey (single project) or projects[] (multiple projects) is required');
30
+ }
31
+ // Validate project keys if provided
32
+ if (config.projects && config.projects.length > 0) {
33
+ const invalidProjects = config.projects.filter((p) => !/^[A-Z][A-Z0-9]*$/.test(p));
34
+ if (invalidProjects.length > 0) {
35
+ errors.push(`Invalid Jira project keys: ${invalidProjects.join(', ')} (must be uppercase alphanumeric, e.g., FRONTEND, QA)`);
31
36
  }
32
- return { valid: errors.length === 0, errors, warnings };
33
37
  }
34
- // Validate project-per-team strategy
35
- if (config.strategy === 'project-per-team') {
36
- if (!config.projects || config.projects.length === 0) {
37
- errors.push('projects[] is required for project-per-team strategy');
38
- }
39
- else {
40
- // Validate project keys (must be uppercase alphanumeric)
41
- const invalidProjects = config.projects.filter((p) => !/^[A-Z][A-Z0-9]*$/.test(p));
42
- if (invalidProjects.length > 0) {
43
- errors.push(`Invalid Jira project keys: ${invalidProjects.join(', ')} (must be uppercase alphanumeric, e.g., FRONTEND, QA)`);
44
- }
45
- }
46
- // Cannot have projectKey or components with this strategy
47
- if (config.projectKey) {
48
- errors.push('projectKey is not allowed with project-per-team strategy (use projects[] instead)');
49
- }
50
- if (config.components) {
51
- errors.push('components[] is not allowed with project-per-team strategy');
52
- }
53
- }
54
- // Validate shared-project-with-components strategy
55
- if (config.strategy === 'shared-project-with-components') {
56
- if (!config.projectKey || config.projectKey.trim().length === 0) {
57
- errors.push('projectKey is required for shared-project-with-components strategy');
58
- }
59
- else if (!/^[A-Z][A-Z0-9]*$/.test(config.projectKey)) {
60
- errors.push(`Invalid Jira project key: ${config.projectKey} (must be uppercase alphanumeric, e.g., PRODUCT)`);
61
- }
62
- if (!config.components || config.components.length === 0) {
63
- errors.push('components[] is required for shared-project-with-components strategy');
64
- }
65
- else {
66
- // Validate component names (no empty strings)
67
- const emptyComponents = config.components.filter((c) => !c.trim());
68
- if (emptyComponents.length > 0) {
69
- errors.push('Component names cannot be empty');
70
- }
71
- }
72
- // Cannot have projects[] with this strategy
73
- if (config.projects) {
74
- errors.push('projects[] is not allowed with shared-project-with-components strategy (use components[] instead)');
75
- }
76
- }
77
- // Warnings
78
- if (config.strategy === 'project-per-team' && config.projects && config.projects.length > 10) {
79
- warnings.push(`Large number of projects (${config.projects.length}). Consider using shared-project-with-components strategy for better manageability.`);
38
+ // Validate single projectKey if provided
39
+ if (config.projectKey && !/^[A-Z][A-Z0-9]*$/.test(config.projectKey)) {
40
+ errors.push(`Invalid Jira project key: ${config.projectKey} (must be uppercase alphanumeric, e.g., PRODUCT)`);
80
41
  }
81
42
  return {
82
43
  valid: errors.length === 0,
@@ -103,49 +64,33 @@ export function validateAdoConfig(config) {
103
64
  if (!config.organization || config.organization.trim().length === 0) {
104
65
  errors.push('ADO organization is required');
105
66
  }
106
- // Validate project
107
- if (!config.project || config.project.trim().length === 0) {
108
- errors.push('ADO project is required');
109
- }
110
- // Validate teams (optional)
111
- if (config.teams) {
112
- if (config.teams.length === 0) {
113
- warnings.push('teams[] is empty. Remove it to use single-project mode.');
67
+ // NOTE: teams[] validation removed in v0.13.0 (deprecated field)
68
+ // TODO: Update validation to match new v0.13.0 architecture (projects[], areaPaths[])
69
+ // Validate project (optional in v0.13.0+ - can have projects[] instead)
70
+ if (!config.project && (!config.projects || config.projects.length === 0)) {
71
+ errors.push('Either project (single) or projects[] (multiple) is required');
72
+ }
73
+ // Validate projects[] if provided
74
+ if (config.projects && config.projects.length > 0) {
75
+ const emptyProjects = config.projects.filter((p) => !p.trim());
76
+ if (emptyProjects.length > 0) {
77
+ errors.push('Project names cannot be empty');
114
78
  }
115
- else {
116
- // Validate team names (no empty strings)
117
- const emptyTeams = config.teams.filter((t) => !t.trim());
118
- if (emptyTeams.length > 0) {
119
- errors.push('Team names cannot be empty');
120
- }
121
- // Check for duplicate team names
122
- const uniqueTeams = new Set(config.teams);
123
- if (uniqueTeams.size !== config.teams.length) {
124
- errors.push('Duplicate team names detected');
125
- }
79
+ if (config.projects.length > 10) {
80
+ warnings.push(`Large number of projects (${config.projects.length}). Consider using custom query for complex filtering.`);
126
81
  }
127
82
  }
128
- // Validate areaPaths (optional, must match teams if both provided)
129
- if (config.areaPaths && config.teams) {
130
- const teamFolders = new Set(config.teams.map((t) => t.toLowerCase().replace(/\s+/g, '-')));
131
- const areaPathFolders = new Set(Object.keys(config.areaPaths));
132
- // Check if all team folders have area paths
133
- for (const folder of teamFolders) {
134
- if (!areaPathFolders.has(folder)) {
135
- warnings.push(`Missing Area Path for team folder "${folder}". It will be auto-generated.`);
136
- }
83
+ // Validate areaPaths[] if provided (Pattern 3: Single project + area paths)
84
+ if (config.areaPaths && config.areaPaths.length > 0) {
85
+ const emptyPaths = config.areaPaths.filter((p) => !p.trim());
86
+ if (emptyPaths.length > 0) {
87
+ errors.push('Area path names cannot be empty');
137
88
  }
138
- // Check for extra area paths (not matching any team)
139
- for (const folder of areaPathFolders) {
140
- if (!teamFolders.has(folder)) {
141
- warnings.push(`Area Path for "${folder}" does not match any team. It will be ignored.`);
142
- }
89
+ // areaPaths should only be used with single project (not projects[])
90
+ if (config.projects && config.projects.length > 0) {
91
+ warnings.push('areaPaths[] should be used with single project, not projects[]. Use projects[] for multiple projects.');
143
92
  }
144
93
  }
145
- // Warnings
146
- if (config.teams && config.teams.length > 20) {
147
- warnings.push(`Large number of teams (${config.teams.length}). Consider splitting into multiple ADO projects.`);
148
- }
149
94
  return {
150
95
  valid: errors.length === 0,
151
96
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":"profile-validator.js","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-validator.js","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"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"}