specweave 0.32.3 → 0.32.6

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 (102) hide show
  1. package/CLAUDE.md +12 -9
  2. package/bin/specweave.js +78 -0
  3. package/dist/src/cli/commands/docs.d.ts +45 -0
  4. package/dist/src/cli/commands/docs.d.ts.map +1 -0
  5. package/dist/src/cli/commands/docs.js +307 -0
  6. package/dist/src/cli/commands/docs.js.map +1 -0
  7. package/dist/src/cli/commands/init-multiproject.js +1 -1
  8. package/dist/src/cli/commands/init-multiproject.js.map +1 -1
  9. package/dist/src/cli/commands/migrate-to-multiproject.js +2 -2
  10. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
  11. package/dist/src/cli/helpers/init/repository-setup.d.ts +14 -2
  12. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  13. package/dist/src/cli/helpers/init/repository-setup.js +292 -188
  14. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  15. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  16. package/dist/src/cli/helpers/issue-tracker/index.js +9 -3
  17. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  18. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +18 -2
  19. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  20. package/dist/src/cli/helpers/issue-tracker/jira.js +325 -25
  21. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
  22. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
  23. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +61 -1
  24. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
  25. package/dist/src/cli/helpers/issue-tracker/types.d.ts +25 -0
  26. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  27. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
  28. package/dist/src/core/living-docs/cross-project-sync.d.ts +97 -0
  29. package/dist/src/core/living-docs/cross-project-sync.d.ts.map +1 -0
  30. package/dist/src/core/living-docs/cross-project-sync.js +135 -0
  31. package/dist/src/core/living-docs/cross-project-sync.js.map +1 -0
  32. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts +106 -0
  33. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts.map +1 -0
  34. package/dist/src/core/living-docs/external-sync-orchestrator.js +146 -0
  35. package/dist/src/core/living-docs/external-sync-orchestrator.js.map +1 -0
  36. package/dist/src/core/living-docs/intelligent-analyzer/organization-synthesizer.js +1 -1
  37. package/dist/src/core/living-docs/living-docs-sync.d.ts +1 -0
  38. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  39. package/dist/src/core/living-docs/living-docs-sync.js +77 -2
  40. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  41. package/dist/src/core/living-docs/sync-helpers/generators.d.ts +8 -1
  42. package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -1
  43. package/dist/src/core/living-docs/sync-helpers/generators.js +18 -1
  44. package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -1
  45. package/dist/src/core/living-docs/sync-helpers/index.d.ts +1 -1
  46. package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -1
  47. package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -1
  48. package/dist/src/core/living-docs/sync-helpers/parsers.d.ts +3 -1
  49. package/dist/src/core/living-docs/sync-helpers/parsers.d.ts.map +1 -1
  50. package/dist/src/core/living-docs/sync-helpers/parsers.js +24 -2
  51. package/dist/src/core/living-docs/sync-helpers/parsers.js.map +1 -1
  52. package/dist/src/core/living-docs/types.d.ts +6 -0
  53. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  54. package/dist/src/core/living-docs/validators/index.d.ts +7 -0
  55. package/dist/src/core/living-docs/validators/index.d.ts.map +1 -0
  56. package/dist/src/core/living-docs/validators/index.js +7 -0
  57. package/dist/src/core/living-docs/validators/index.js.map +1 -0
  58. package/dist/src/core/living-docs/validators/project-validator.d.ts +92 -0
  59. package/dist/src/core/living-docs/validators/project-validator.d.ts.map +1 -0
  60. package/dist/src/core/living-docs/validators/project-validator.js +142 -0
  61. package/dist/src/core/living-docs/validators/project-validator.js.map +1 -0
  62. package/dist/src/core/project/project-manager.d.ts.map +1 -1
  63. package/dist/src/core/project/project-manager.js +19 -17
  64. package/dist/src/core/project/project-manager.js.map +1 -1
  65. package/dist/src/core/types/config.d.ts +4 -2
  66. package/dist/src/core/types/config.d.ts.map +1 -1
  67. package/dist/src/core/types/config.js.map +1 -1
  68. package/dist/src/core/types/increment-metadata.d.ts +34 -0
  69. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  70. package/dist/src/utils/cross-cutting-detector.d.ts +66 -0
  71. package/dist/src/utils/cross-cutting-detector.d.ts.map +1 -0
  72. package/dist/src/utils/cross-cutting-detector.js +179 -0
  73. package/dist/src/utils/cross-cutting-detector.js.map +1 -0
  74. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -1
  75. package/dist/src/utils/docs-preview/config-generator.js +12 -16
  76. package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
  77. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -1
  78. package/dist/src/utils/docs-preview/docusaurus-setup.js +24 -5
  79. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
  80. package/dist/src/utils/docs-preview/package-installer.d.ts +3 -0
  81. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -1
  82. package/dist/src/utils/docs-preview/package-installer.js +18 -9
  83. package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
  84. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -1
  85. package/dist/src/utils/docs-preview/server-manager.js +2 -1
  86. package/dist/src/utils/docs-preview/server-manager.js.map +1 -1
  87. package/dist/src/utils/project-detection.d.ts +12 -8
  88. package/dist/src/utils/project-detection.d.ts.map +1 -1
  89. package/dist/src/utils/project-detection.js +13 -19
  90. package/dist/src/utils/project-detection.js.map +1 -1
  91. package/dist/src/utils/validators/jira-validator.d.ts +25 -1
  92. package/dist/src/utils/validators/jira-validator.d.ts.map +1 -1
  93. package/dist/src/utils/validators/jira-validator.js +254 -172
  94. package/dist/src/utils/validators/jira-validator.js.map +1 -1
  95. package/package.json +1 -1
  96. package/plugins/specweave/commands/specweave-status.md +64 -0
  97. package/plugins/specweave/hooks/hooks.json +1 -1
  98. package/plugins/specweave/hooks/spec-project-validator.sh +2 -1
  99. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +34 -0
  100. package/plugins/specweave/skills/increment-planner/SKILL.md +77 -2
  101. package/plugins/specweave/skills/spec-generator/SKILL.md +78 -7
  102. package/plugins/specweave/commands/specweave-switch-project.md +0 -168
@@ -1 +1 @@
1
- {"version":3,"file":"jira-validator.js","sourceRoot":"","sources":["../../../../src/utils/validators/jira-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jira-validator.js","sourceRoot":"","sources":["../../../../src/utils/validators/jira-validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.32.3",
3
+ "version": "0.32.6",
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",
@@ -262,6 +262,70 @@ Experiments inactive >14 days → warning:
262
262
 
263
263
  ---
264
264
 
265
+ ## Cross-Project View (v0.33.0+)
266
+
267
+ When an increment has user stories targeting multiple projects, show grouped view:
268
+
269
+ ```bash
270
+ /specweave:status 0125
271
+
272
+ 📊 Increment Status: 0125-cross-project-targeting
273
+
274
+ 🔀 Cross-Project Increment (spans 3 projects):
275
+
276
+ ┌───────────────┬────────────┬──────────┬────────────────┬─────────────────────┐
277
+ │ Project │ Provider │ USs │ Status │ External Issues │
278
+ ├───────────────┼────────────┼──────────┼────────────────┼─────────────────────┤
279
+ │ frontend-app │ github │ US-001, │ ✅ Synced │ #45, #46 │
280
+ │ │ │ US-003 │ │ github.com/org/fe │
281
+ ├───────────────┼────────────┼──────────┼────────────────┼─────────────────────┤
282
+ │ backend-api │ jira │ US-002 │ ✅ Synced │ SEC-123 │
283
+ │ │ │ │ │ jira.com/browse │
284
+ ├───────────────┼────────────┼──────────┼────────────────┼─────────────────────┤
285
+ │ shared-lib │ ⚠️ None │ US-004 │ Not mapped │ — │
286
+ │ │ │ │ │ │
287
+ └───────────────┴────────────┴──────────┴────────────────┴─────────────────────┘
288
+
289
+ 📋 Progress by Project:
290
+ frontend-app: 75% (3/4 tasks)
291
+ backend-api: 50% (2/4 tasks)
292
+ shared-lib: 100% (2/2 tasks)
293
+
294
+ 💡 Unmapped project 'shared-lib':
295
+ Add to .specweave/config.json projectMappings or create issues manually
296
+ ```
297
+
298
+ ### Cross-Project Implementation
299
+
300
+ ```typescript
301
+ import { CrossProjectSync } from '../src/core/living-docs/cross-project-sync';
302
+ import { ExternalSyncOrchestrator } from '../src/core/living-docs/external-sync-orchestrator';
303
+
304
+ // Detect cross-project
305
+ const crossProjectSync = new CrossProjectSync(projectRoot);
306
+ const userStories = parseUserStories(specContent);
307
+ const isCrossProject = crossProjectSync.isCrossProject(userStories, defaultProject);
308
+
309
+ if (isCrossProject) {
310
+ // Group by project
311
+ const groups = crossProjectSync.groupByProject(userStories, defaultProject);
312
+
313
+ // Load project mappings
314
+ const orchestrator = new ExternalSyncOrchestrator(projectRoot);
315
+ await orchestrator.loadProjectMappings();
316
+
317
+ // Display per-project status
318
+ for (const [projectId, stories] of groups) {
319
+ const mapping = orchestrator.getProjectMapping(projectId);
320
+ const provider = mapping?.github ? 'github' : mapping?.jira ? 'jira' : mapping?.ado ? 'ado' : null;
321
+
322
+ console.log(`│ ${projectId.padEnd(13)} │ ${(provider || '⚠️ None').padEnd(10)} │ ...`);
323
+ }
324
+ }
325
+ ```
326
+
327
+ ---
328
+
265
329
  ## Filters
266
330
 
267
331
  ### --active
@@ -42,7 +42,7 @@
42
42
  },
43
43
  {
44
44
  "matcher": "Write",
45
- "matcher_content": "\\.specweave/increments/\\d{4}-[^/]+/spec\\.md",
45
+ "matcher_content": "\\.specweave/increments/\\d{3,4}E?-[^/]+/spec\\.md",
46
46
  "hooks": [
47
47
  {
48
48
  "type": "command",
@@ -43,7 +43,8 @@ fi
43
43
  FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // ""')
44
44
 
45
45
  # Only validate spec.md files in increments folder
46
- if [[ ! "$FILE_PATH" =~ \.specweave/increments/[0-9]{4}E?-[^/]+/spec\.md$ ]]; then
46
+ # Match: 3-4 digits, optional E suffix, kebab-case name, spec.md
47
+ if [[ ! "$FILE_PATH" =~ \.specweave/increments/[0-9]{3,4}E?-[^/]+/spec\.md$ ]]; then
47
48
  echo '{"decision": "allow"}'
48
49
  exit 0
49
50
  fi
@@ -245,6 +245,34 @@ export interface ExternalContainerContext {
245
245
  /** Area path (ADO only) */
246
246
  areaPath?: string;
247
247
  }
248
+ /**
249
+ * External reference for a single US in a single external tool
250
+ * @since v0.33.0
251
+ */
252
+ export interface USExternalRef {
253
+ /** External tool type */
254
+ provider: 'github' | 'jira' | 'ado';
255
+ /** Issue/work item number */
256
+ issueNumber: number | string;
257
+ /** Issue URL */
258
+ url: string;
259
+ /** Target project/repo for this US (from projectMappings) */
260
+ targetProject: string;
261
+ /** Last sync timestamp */
262
+ lastSynced?: string;
263
+ }
264
+ /**
265
+ * Per-US external references map
266
+ * Maps US-ID → provider → reference
267
+ * @since v0.33.0
268
+ */
269
+ export interface USExternalRefsMap {
270
+ [usId: string]: {
271
+ github?: USExternalRef;
272
+ jira?: USExternalRef;
273
+ ado?: USExternalRef;
274
+ };
275
+ }
248
276
  /**
249
277
  * Extended increment metadata with multi-project support (v0.29.0+)
250
278
  *
@@ -262,5 +290,11 @@ export interface IncrementMetadataV2 extends IncrementMetadata {
262
290
  externalContainer?: ExternalContainerContext;
263
291
  /** Epic ID if part of an epic */
264
292
  epicId?: string;
293
+ /**
294
+ * Per-US external references (v0.33.0+)
295
+ * Replaces the single external_ref for cross-project increments
296
+ * Maps: US-001 → { github: {...}, jira: {...} }
297
+ */
298
+ externalRefs?: USExternalRefsMap;
265
299
  }
266
300
  //# sourceMappingURL=increment-metadata.d.ts.map
@@ -246,6 +246,70 @@ specweave context boards --project=acme-corp
246
246
 
247
247
  ---
248
248
 
249
+ ### RULE 0: LEVERAGE ALL AVAILABLE CONTEXT (v0.33.0+ CRITICAL!)
250
+
251
+ **🧠 YOU ARE AN LLM WITH FULL CONTEXT ACCESS - USE IT!**
252
+
253
+ Before asking the user ANYTHING about project/board, you MUST analyze:
254
+
255
+ **1. Living Docs Structure** (`.specweave/docs/internal/specs/`):
256
+ ```bash
257
+ # List existing project folders
258
+ ls -la .specweave/docs/internal/specs/
259
+ # Example output: frontend-app/, backend-api/, mobile-app/, shared-lib/
260
+ ```
261
+ → These ARE the actual project IDs! Use them directly.
262
+
263
+ **2. Existing Increment Patterns** (`.specweave/increments/`):
264
+ ```bash
265
+ # Read recent increments to see project assignments
266
+ grep -r "^\*\*Project\*\*:" .specweave/increments/*/spec.md | tail -20
267
+ ```
268
+ → Learn from how past USs were assigned to projects.
269
+
270
+ **3. Config projectMappings** (`.specweave/config.json`):
271
+ ```bash
272
+ cat .specweave/config.json | jq '.projectMappings'
273
+ ```
274
+ → Use ACTUAL project IDs from config, not generic keywords.
275
+
276
+ **4. Git Remotes** (for repo-based projects):
277
+ ```bash
278
+ git remote -v | head -2
279
+ ```
280
+ → If repo is `myorg/frontend-app`, that's likely the project.
281
+
282
+ **5. Feature Description + US Content**:
283
+ - Analyze the feature user is describing
284
+ - Match against project patterns from above sources
285
+ - Map generic terms to actual project IDs
286
+
287
+ **MAPPING EXAMPLE:**
288
+ ```
289
+ User says: "Add login form to the frontend"
290
+ You detect: "frontend" keyword
291
+
292
+ WRONG: Assign project = "frontend" (generic, may not exist!)
293
+ RIGHT: Check living docs → find "frontend-app" folder → Assign project = "frontend-app"
294
+ ```
295
+
296
+ **RESOLUTION PRIORITY:**
297
+ ```
298
+ 1. Exact match in projectMappings keys → USE IT
299
+ 2. Exact match in living docs folders → USE IT
300
+ 3. Pattern match in recent increment specs → USE SAME PROJECT
301
+ 4. Keyword → Map to closest projectMappings/folder
302
+ 5. ONLY IF ALL ABOVE FAIL → Ask user with dropdown of valid options
303
+ ```
304
+
305
+ **FORBIDDEN:**
306
+ - ❌ Inventing project names not in config/folders
307
+ - ❌ Using generic keywords ("frontend") when actual ID exists ("frontend-app")
308
+ - ❌ Asking user when context provides clear answer
309
+ - ❌ Assigning `{{PROJECT_ID}}` placeholder
310
+
311
+ ---
312
+
249
313
  ### SMART SELECTION DECISION TREE
250
314
 
251
315
  **RULE 1: NO QUESTION IF ONLY 1 OPTION**
@@ -254,9 +318,20 @@ IF 1-level AND only 1 project → AUTO-SELECT silently
254
318
  IF 2-level AND only 1 project AND only 1 board → AUTO-SELECT silently
255
319
  ```
256
320
 
257
- **RULE 2: KEYWORD-BASED AUTO-DETECTION**
321
+ **RULE 2: KEYWORD-BASED AUTO-DETECTION (v0.33.0+)**
322
+
323
+ Use `CrossCuttingDetector` utility for programmatic detection:
324
+
325
+ ```typescript
326
+ import { detectCrossCutting } from 'src/utils/cross-cutting-detector.js';
327
+
328
+ const result = detectCrossCutting("OAuth with React frontend and Node backend");
329
+ // result.isCrossCutting = true
330
+ // result.suggestedProjects = ["frontend", "backend"]
331
+ // result.confidence = "high"
332
+ ```
258
333
 
259
- Analyze feature description and US content for keywords:
334
+ Or analyze feature description and US content for keywords:
260
335
 
261
336
  **Project-Level Keywords (1-level and 2-level):**
262
337
  ```
@@ -66,18 +66,53 @@ board: my-board # REQUIRED for 2-level structures (ADO area paths,
66
66
  ## User Stories & Acceptance Criteria
67
67
 
68
68
  <!--
69
- ⚠️ MULTI-PROJECT MODE: If umbrella.enabled=true in config.json,
70
- user stories MUST be project-scoped! See section below.
69
+ ⚠️ PER-US PROJECT TARGETING (v0.33.0+):
70
+ Each user story MUST have **Project**: (and **Board**: for 2-level) fields.
71
+ The LLM MUST resolve these from context - see RULE 0 in increment-planner.
71
72
  -->
72
73
 
73
74
  ### US-001: [Title]
75
+ **Project**: [resolved-from-context] <!-- REQUIRED - actual project ID from config/folders -->
76
+ **Board**: [resolved-from-context] <!-- REQUIRED for 2-level structures -->
77
+
74
78
  **As a** [user type]
75
79
  **I want** [goal]
76
80
  **So that** [benefit]
77
81
 
78
82
  **Acceptance Criteria**:
79
- - [Criterion 1]
80
- - [Criterion 2]
83
+ - [ ] **AC-US1-01**: [Criterion 1]
84
+ - [ ] **AC-US1-02**: [Criterion 2]
85
+
86
+ ---
87
+
88
+ ### Per-US Project Resolution (v0.33.0+ MANDATORY)
89
+
90
+ **🧠 USE ALL AVAILABLE CONTEXT TO RESOLVE PROJECT/BOARD:**
91
+
92
+ Before generating spec.md, analyze:
93
+ 1. **Living docs folders**: `ls .specweave/docs/internal/specs/` → actual project IDs
94
+ 2. **Recent increment patterns**: `grep "**Project**:" .specweave/increments/*/spec.md`
95
+ 3. **Config projectMappings**: Exact project IDs from config
96
+ 4. **Feature keywords**: Map to actual projects (not generic terms)
97
+
98
+ **Resolution Example:**
99
+ ```
100
+ Feature: "Add OAuth login to React frontend"
101
+ Detected: "React", "frontend", "login"
102
+
103
+ Step 1: Check living docs → folders: frontend-app/, backend-api/, shared/
104
+ Step 2: "frontend" keyword → matches "frontend-app" folder
105
+ Step 3: Assign **Project**: frontend-app (NOT "frontend"!)
106
+
107
+ If cross-cutting ("OAuth" = both frontend + backend):
108
+ US-001 (Login UI) → **Project**: frontend-app
109
+ US-002 (Auth API) → **Project**: backend-api
110
+ ```
111
+
112
+ **NEVER:**
113
+ - ❌ Use generic keywords as project names ("frontend", "backend")
114
+ - ❌ Ask user when context provides the answer
115
+ - ❌ Leave `{{PROJECT_ID}}` placeholders
81
116
 
82
117
  ## Success Metrics
83
118
  [How we'll measure success]
@@ -392,9 +427,45 @@ spec_generator:
392
427
  - Multiple project folders exist in `specs/` (e.g., `sw-app-fe/`, `sw-app-be/`, `sw-app-shared/`)
393
428
  - User prompt mentions: "3 repos", "frontend repo", "backend API", "shared library"
394
429
 
395
- ### Project-Scoped User Story Format (MANDATORY in Multi-Project Mode)
430
+ ### Per-User-Story Project Targeting (v0.33.0+ PREFERRED)
431
+
432
+ **v0.33.0+ introduces per-US project targeting** - each user story specifies its target project inline:
433
+
434
+ ```markdown
435
+ ## User Stories
436
+
437
+ ### US-001: Thumbnail Upload & Comparison (P1)
438
+ **Project**: frontend-app
439
+ **Board**: ui-team <!-- 2-level structures only -->
440
+ **As a** content creator
441
+ **I want** to upload multiple thumbnail variants
442
+ **So that** I can visually evaluate my options
443
+
444
+ **Acceptance Criteria**:
445
+ - [ ] **AC-US1-01**: User can drag-and-drop up to 5 images
446
+
447
+ ---
448
+
449
+ ### US-002: CTR Prediction API (P1)
450
+ **Project**: backend-api
451
+ **Board**: ml-team <!-- 2-level structures only -->
452
+ **As a** frontend application
453
+ **I want** to call POST /predict-ctr endpoint
454
+ **So that** I can get AI-powered predictions
455
+
456
+ **Acceptance Criteria**:
457
+ - [ ] **AC-US2-01**: POST /predict-ctr accepts thumbnail image
458
+ ```
459
+
460
+ **Benefits of per-US targeting:**
461
+ - Each US syncs to correct project/repo
462
+ - Single increment can span multiple projects
463
+ - Living docs auto-grouped by project
464
+ - External tools (GitHub/JIRA/ADO) receive issues in correct project
465
+
466
+ ### Legacy Project-Scoped User Story Format (Pre-v0.33.0)
396
467
 
397
- **❌ WRONG (Single-Project Format - DO NOT USE in multi-project!):**
468
+ **❌ LEGACY (Project prefixes - still works but per-US targeting preferred):**
398
469
  ```markdown
399
470
  ## User Stories
400
471
 
@@ -405,7 +476,7 @@ As a content creator, I want to upload thumbnails...
405
476
  As a system, I want to predict click-through rates...
406
477
  ```
407
478
 
408
- **✅ CORRECT (Multi-Project Format - ALWAYS USE when umbrella detected!):**
479
+ **✅ LEGACY (Multi-Project Format with prefixes - use per-US targeting instead):**
409
480
  ```markdown
410
481
  ## User Stories by Project
411
482
 
@@ -1,168 +0,0 @@
1
- ---
2
- name: specweave:switch-project
3
- description: Switch active project for increment planning. Future increments will use the selected project's specs, modules, and team folders.
4
- ---
5
-
6
- # Switch Active Project
7
-
8
- Switch the active project. Future increments will use the selected project's specs folder.
9
-
10
- ## Usage
11
-
12
- ```bash
13
- /specweave:switch-project <project-id>
14
- ```
15
-
16
- ## Examples
17
-
18
- ### Example 1: Switch to Specific Project
19
-
20
- ```bash
21
- /specweave:switch-project web-app
22
-
23
- # Result:
24
- # ✅ Switched to project: Web Application (web-app)
25
- # ℹ️ Future increments will use:
26
- # - projects/web-app/specs/
27
- # - projects/web-app/modules/
28
- # - projects/web-app/team/
29
- ```
30
-
31
- ### Example 2: List Available Projects
32
-
33
- ```bash
34
- /specweave:switch-project
35
-
36
- # If no project ID provided, shows list of projects:
37
- #
38
- # 📋 Available Projects:
39
- #
40
- # default - Default Project
41
- # Team: Engineering Team
42
- #
43
- # → web-app - Web Application
44
- # Team: Frontend Team
45
- # Tech: React, TypeScript, Node.js
46
- #
47
- # mobile-app - Mobile Application
48
- # Team: Mobile Team
49
- # Tech: React Native, Firebase
50
- #
51
- # Active project: web-app (→)
52
- #
53
- # Usage: /specweave:switch-project <project-id>
54
- ```
55
-
56
- ## What Happens
57
-
58
- 1. **Updates config** - Sets `multiProject.activeProject` in `.specweave/config.json`
59
- 2. **Clears cache** - Forces reload of project context
60
- 3. **Future operations** use new project:
61
- - `/specweave:increment` creates specs in new project's `specs/` folder
62
- - Module docs go to new project's `modules/` folder
63
- - Team docs go to new project's `team/` folder
64
-
65
- ## Requirements
66
-
67
- - Multi-project mode must be enabled
68
- - Project ID must exist in config
69
-
70
- ## Error Cases
71
-
72
- ### Multi-Project Not Enabled
73
-
74
- ```bash
75
- /specweave:switch-project web-app
76
-
77
- # Error:
78
- # ❌ Multi-project mode not enabled
79
- # Run /specweave:init-multiproject first
80
- ```
81
-
82
- ### Project Not Found
83
-
84
- ```bash
85
- /specweave:switch-project nonexistent
86
-
87
- # Error:
88
- # ❌ Project 'nonexistent' not found
89
- # Available projects: default, web-app, mobile-app
90
- ```
91
-
92
- ## Integration with Increments
93
-
94
- When you create an increment, it uses the active project:
95
-
96
- ```bash
97
- # Switch to web-app
98
- /specweave:switch-project web-app
99
-
100
- # Create increment
101
- /specweave:increment "Add user authentication"
102
-
103
- # Result:
104
- # Spec created in: projects/web-app/specs/spec-001-user-auth.md
105
- # Increment: .specweave/increments/0013-user-auth/
106
- # Linked to project: web-app
107
- ```
108
-
109
- ## Integration with External Sync
110
-
111
- Each project can have its own sync profiles:
112
-
113
- ```json
114
- {
115
- "multiProject": {
116
- "projects": [{
117
- "id": "web-app",
118
- "syncProfiles": ["web-app-github", "web-app-jira"]
119
- }]
120
- }
121
- }
122
- ```
123
-
124
- When you switch projects, the relevant sync profiles become active.
125
-
126
- ## Checking Current Project
127
-
128
- ```bash
129
- # List all projects (shows active with →)
130
- /specweave:switch-project
131
-
132
- # Or check config directly
133
- cat .specweave/config.json | grep activeProject
134
- ```
135
-
136
- ## Use Cases
137
-
138
- ### Multi-Team Organization
139
- ```bash
140
- # Morning: Work on web app
141
- /specweave:switch-project web-app
142
- /specweave:increment "Add payment integration"
143
-
144
- # Afternoon: Work on mobile app
145
- /specweave:switch-project mobile-app
146
- /specweave:increment "Add push notifications"
147
- ```
148
-
149
- ### Platform Engineering
150
- ```bash
151
- # Manage infrastructure project
152
- /specweave:switch-project platform-infra
153
- /specweave:increment "Upgrade Kubernetes cluster"
154
-
155
- # Then switch to application project
156
- /specweave:switch-project backend-api
157
- /specweave:increment "Add rate limiting"
158
- ```
159
-
160
- ## See Also
161
-
162
- - `/specweave:init-multiproject` - Enable multi-project mode
163
- - `/specweave:increment` - Create increments (uses active project)
164
- - [Multi-Project Guide](https://docs.spec-weave.com/guides/multi-project-setup)
165
-
166
- ---
167
-
168
- **Implementation**: `src/cli/commands/switch-project.ts`