specweave 0.28.15 → 0.28.19

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 (146) hide show
  1. package/bin/specweave.js +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  3. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  4. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  5. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  6. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +6 -11
  7. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  8. package/dist/plugins/specweave-github/lib/github-feature-sync.js +6 -11
  9. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  10. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +19 -0
  11. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -0
  12. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +380 -0
  13. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -0
  14. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +92 -0
  15. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -0
  16. package/dist/plugins/specweave-github/lib/increment-issue-builder.js +349 -0
  17. package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -0
  18. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  19. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  20. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  21. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  22. package/dist/src/cli/commands/import-external.d.ts.map +1 -1
  23. package/dist/src/cli/commands/import-external.js +12 -7
  24. package/dist/src/cli/commands/import-external.js.map +1 -1
  25. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  26. package/dist/src/cli/helpers/init/external-import.js +138 -23
  27. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  28. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts +65 -0
  29. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts.map +1 -0
  30. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +278 -0
  31. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -0
  32. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts +64 -0
  33. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts.map +1 -0
  34. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js +251 -0
  35. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js.map +1 -0
  36. package/dist/src/core/ac-test-validator-cli.js +4 -1
  37. package/dist/src/core/ac-test-validator-cli.js.map +1 -1
  38. package/dist/src/core/ac-test-validator.d.ts.map +1 -1
  39. package/dist/src/core/ac-test-validator.js +4 -1
  40. package/dist/src/core/ac-test-validator.js.map +1 -1
  41. package/dist/src/core/qa/qa-runner.js +7 -10
  42. package/dist/src/core/qa/qa-runner.js.map +1 -1
  43. package/dist/src/core/types/increment-metadata.d.ts +75 -0
  44. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  45. package/dist/src/core/types/sync-profile.d.ts +137 -5
  46. package/dist/src/core/types/sync-profile.d.ts.map +1 -1
  47. package/dist/src/core/types/sync-profile.js +63 -0
  48. package/dist/src/core/types/sync-profile.js.map +1 -1
  49. package/dist/src/importers/external-importer.d.ts +25 -0
  50. package/dist/src/importers/external-importer.d.ts.map +1 -1
  51. package/dist/src/importers/github-importer.d.ts.map +1 -1
  52. package/dist/src/importers/github-importer.js +5 -3
  53. package/dist/src/importers/github-importer.js.map +1 -1
  54. package/dist/src/importers/item-converter.d.ts +51 -0
  55. package/dist/src/importers/item-converter.d.ts.map +1 -1
  56. package/dist/src/importers/item-converter.js +39 -12
  57. package/dist/src/importers/item-converter.js.map +1 -1
  58. package/dist/src/init/repo/types.d.ts +1 -1
  59. package/dist/src/living-docs/fs-id-allocator.d.ts +72 -3
  60. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  61. package/dist/src/living-docs/fs-id-allocator.js +142 -16
  62. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  63. package/dist/src/locales/de/cli.json +14 -0
  64. package/dist/src/locales/es/cli.json +14 -0
  65. package/dist/src/locales/fr/cli.json +14 -0
  66. package/dist/src/locales/ja/cli.json +14 -0
  67. package/dist/src/locales/ko/cli.json +14 -0
  68. package/dist/src/locales/pt/cli.json +14 -0
  69. package/dist/src/locales/ru/cli.json +14 -0
  70. package/dist/src/locales/zh/cli.json +14 -0
  71. package/dist/src/utils/chalk-fallback.d.ts +38 -0
  72. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  73. package/dist/src/utils/chalk-fallback.js +118 -0
  74. package/dist/src/utils/chalk-fallback.js.map +1 -0
  75. package/dist/src/utils/project-id-generator.d.ts +127 -0
  76. package/dist/src/utils/project-id-generator.d.ts.map +1 -0
  77. package/dist/src/utils/project-id-generator.js +228 -0
  78. package/dist/src/utils/project-id-generator.js.map +1 -0
  79. package/package.json +1 -1
  80. package/plugins/specweave/agents/AGENTS-INDEX.md +9 -7
  81. package/plugins/specweave/agents/pm/AGENT.md +202 -0
  82. package/plugins/specweave/commands/specweave-import-external.md +5 -3
  83. package/plugins/specweave/commands/specweave-qa.md +9 -9
  84. package/plugins/specweave/commands/specweave-save.md +531 -193
  85. package/plugins/specweave/commands/specweave-sync-docs.md +6 -2
  86. package/plugins/specweave/commands/specweave-validate.md +8 -7
  87. package/plugins/specweave/hooks/pre-task-completion.sh +35 -17
  88. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.d.ts +16 -0
  89. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js +121 -0
  90. package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js.map +1 -0
  91. package/plugins/specweave/lib/vendor/core/ac-test-validator.d.ts +111 -0
  92. package/plugins/specweave/lib/vendor/core/ac-test-validator.js +295 -0
  93. package/plugins/specweave/lib/vendor/core/ac-test-validator.js.map +1 -0
  94. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +75 -0
  95. package/plugins/specweave/lib/vendor/utils/chalk-fallback.d.ts +38 -0
  96. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js +118 -0
  97. package/plugins/specweave/lib/vendor/utils/chalk-fallback.js.map +1 -0
  98. package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +179 -0
  99. package/plugins/specweave/lib/vendor/utils/fs-native.js +319 -0
  100. package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -0
  101. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
  102. package/plugins/specweave/skills/docs-updater/SKILL.md +61 -0
  103. package/plugins/specweave/skills/increment-planner/SKILL.md +10 -335
  104. package/plugins/specweave/skills/increment-planner/templates/metadata.json +13 -0
  105. package/plugins/specweave/skills/increment-planner/templates/plan.md +50 -0
  106. package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +86 -0
  107. package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +50 -0
  108. package/plugins/specweave/skills/increment-planner/templates/tasks-multi-project.md +86 -0
  109. package/plugins/specweave/skills/increment-planner/templates/tasks-single-project.md +48 -0
  110. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +18 -0
  111. package/plugins/specweave-ado/commands/specweave-ado-import-areas.md +358 -0
  112. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +1 -0
  113. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +1 -0
  114. package/plugins/specweave-core/skills/code-quality/SKILL.md +1 -0
  115. package/plugins/specweave-core/skills/design-patterns/SKILL.md +1 -0
  116. package/plugins/specweave-core/skills/software-architecture/SKILL.md +1 -0
  117. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +14 -10
  118. package/plugins/specweave-github/commands/specweave-github-sync.md +57 -0
  119. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +86 -0
  120. package/plugins/specweave-github/lib/github-feature-sync.ts +6 -11
  121. package/plugins/specweave-github/lib/github-increment-sync-cli.js +343 -0
  122. package/plugins/specweave-github/lib/github-increment-sync-cli.ts +484 -0
  123. package/plugins/specweave-github/lib/increment-issue-builder.js +368 -0
  124. package/plugins/specweave-github/lib/increment-issue-builder.ts +471 -0
  125. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +19 -24
  126. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +15 -23
  127. package/plugins/specweave-jira/commands/specweave-jira-import-boards.md +331 -0
  128. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +16 -20
  129. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +18 -19
  130. package/plugins/specweave-ml/skills/{ml-pipeline-workflow → mlops-dag-builder}/SKILL.md +18 -14
  131. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +129 -0
  132. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +1 -1
  133. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +10 -122
  134. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +0 -70
  135. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +0 -1
  136. package/dist/plugins/specweave-github/lib/epic-content-builder.js +0 -258
  137. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +0 -1
  138. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +0 -83
  139. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +0 -1
  140. package/dist/plugins/specweave-github/lib/github-epic-sync.js +0 -466
  141. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +0 -1
  142. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +0 -705
  143. package/plugins/specweave-github/lib/epic-content-builder.js +0 -265
  144. package/plugins/specweave-github/lib/epic-content-builder.ts +0 -376
  145. package/plugins/specweave-github/lib/github-epic-sync.js +0 -488
  146. package/plugins/specweave-github/lib/github-epic-sync.ts +0 -715
@@ -218,155 +218,15 @@ Create `.specweave/increments/0021-feature-name/spec.md`:
218
218
 
219
219
  #### 4A: Single-Project Template (umbrella.enabled: false)
220
220
 
221
- ```markdown
222
- ---
223
- increment: 0021-feature-name
224
- title: "Feature Name"
225
- type: feature
226
- priority: P1
227
- status: planned
228
- created: 2025-11-24
229
- structure: user-stories
230
- test_mode: <VALUE FROM config.testing.defaultTestMode OR 'TDD'>
231
- coverage_target: <VALUE FROM config.testing.defaultCoverageTarget OR 95>
232
- ---
233
-
234
- # Feature: [Title]
235
-
236
- ## Overview
237
-
238
- [High-level description - WHAT this feature does and WHY it's needed]
239
-
240
- ## User Stories
241
-
242
- ### US-001: [Story Title] (P1)
243
-
244
- **As a** [user type]
245
- **I want** [goal]
246
- **So that** [benefit]
247
-
248
- **Acceptance Criteria**:
249
- - [ ] **AC-US1-01**: [Specific, testable criterion]
250
- - [ ] **AC-US1-02**: [Another criterion]
251
-
252
- ### US-002: [Story Title] (P2)
253
-
254
- [Repeat structure]
255
-
256
- ## Functional Requirements
257
-
258
- ### FR-001: [Requirement]
259
- [Detailed description]
260
-
261
- ## Success Criteria
221
+ **Template File**: `templates/spec-single-project.md`
262
222
 
263
- [Measurable outcomes - metrics, KPIs]
264
-
265
- ## Out of Scope
266
-
267
- [What this explicitly does NOT include]
268
-
269
- ## Dependencies
270
-
271
- [Other features or systems this depends on]
272
- ```
223
+ Replace placeholders: `{{INCREMENT_ID}}`, `{{FEATURE_TITLE}}`, `{{TYPE}}`, `{{PRIORITY}}`, `{{DATE}}`, `{{TEST_MODE}}`, `{{COVERAGE_TARGET}}`
273
224
 
274
225
  #### 4B: Multi-Project Template (umbrella.enabled: true) - USE THIS!
275
226
 
276
- ```markdown
277
- ---
278
- increment: 0021-feature-name
279
- title: "Feature Name"
280
- type: feature
281
- priority: P1
282
- status: planned
283
- created: 2025-11-24
284
- structure: user-stories
285
- test_mode: <VALUE FROM config.testing.defaultTestMode OR 'TDD'>
286
- coverage_target: <VALUE FROM config.testing.defaultCoverageTarget OR 95>
287
- multi_project: true
288
- projects:
289
- - id: sw-app-fe
290
- prefix: FE
291
- - id: sw-app-be
292
- prefix: BE
293
- - id: sw-app-shared
294
- prefix: SHARED
295
- ---
296
-
297
- # Feature: [Title]
298
-
299
- ## Overview
300
-
301
- [High-level description - WHAT this feature does and WHY it's needed]
302
-
303
- ## User Stories by Project
304
-
305
- ### Frontend ([repo-name-fe])
306
-
307
- #### US-FE-001: [Story Title] (P1)
308
- **Related Repo**: [repo-name-fe]
309
- **As a** [user type]
310
- **I want** [goal]
311
- **So that** [benefit]
312
-
313
- **Acceptance Criteria**:
314
- - [ ] **AC-FE-US1-01**: [Specific, testable criterion]
315
- - [ ] **AC-FE-US1-02**: [Another criterion]
227
+ **Template File**: `templates/spec-multi-project.md`
316
228
 
317
- #### US-FE-002: [Story Title] (P2)
318
- [Repeat structure with FE prefix]
319
-
320
- ---
321
-
322
- ### Backend ([repo-name-be])
323
-
324
- #### US-BE-001: [Story Title] (P1)
325
- **Related Repo**: [repo-name-be]
326
- **As a** [system/frontend application]
327
- **I want** [API endpoint/service goal]
328
- **So that** [benefit]
329
-
330
- **Acceptance Criteria**:
331
- - [ ] **AC-BE-US1-01**: [API endpoint specification]
332
- - [ ] **AC-BE-US1-02**: [Data validation rule]
333
-
334
- #### US-BE-002: [Story Title] (P2)
335
- [Repeat structure with BE prefix]
336
-
337
- ---
338
-
339
- ### Shared Library ([repo-name-shared])
340
-
341
- #### US-SHARED-001: [Story Title] (P1)
342
- **Related Repo**: [repo-name-shared]
343
- **As a** developer in FE or BE repos
344
- **I want** [shared types/utilities/validators]
345
- **So that** [consistency across projects]
346
-
347
- **Acceptance Criteria**:
348
- - [ ] **AC-SHARED-US1-01**: [Type definition]
349
- - [ ] **AC-SHARED-US1-02**: [Validator/utility function]
350
-
351
- ---
352
-
353
- ## Functional Requirements
354
-
355
- ### FR-001: [Requirement]
356
- [Detailed description]
357
-
358
- ## Success Criteria
359
-
360
- [Measurable outcomes - metrics, KPIs]
361
-
362
- ## Out of Scope
363
-
364
- [What this explicitly does NOT include]
365
-
366
- ## Dependencies
367
-
368
- [Other features or systems this depends on]
369
- ```
229
+ Replace placeholders: `{{INCREMENT_ID}}`, `{{FEATURE_TITLE}}`, `{{PROJECT_FE_ID}}`, `{{PROJECT_BE_ID}}`, `{{PROJECT_SHARED_ID}}`, etc.
370
230
 
371
231
  **Key Rules for Multi-Project spec.md:**
372
232
  1. **User stories MUST be grouped by project** (Frontend, Backend, Shared, etc.)
@@ -379,58 +239,9 @@ projects:
379
239
 
380
240
  Create `.specweave/increments/0021-feature-name/plan.md`:
381
241
 
382
- ```markdown
383
- # Implementation Plan: [Feature Title]
384
-
385
- ## Overview
386
-
387
- [Technical summary of implementation approach]
388
-
389
- ## Architecture
390
-
391
- ### Components
392
- - [Component 1]: [Purpose]
393
- - [Component 2]: [Purpose]
394
-
395
- ### Data Model
396
- - [Entity 1]: [Fields, relationships]
397
- - [Entity 2]: [Fields, relationships]
242
+ **Template File**: `templates/plan.md`
398
243
 
399
- ### API Contracts
400
- - `POST /api/resource`: [Purpose, request/response]
401
- - `GET /api/resource/:id`: [Purpose, request/response]
402
-
403
- ## Technology Stack
404
-
405
- - **Language/Framework**: [Choice]
406
- - **Libraries**: [List]
407
- - **Tools**: [List]
408
-
409
- **Architecture Decisions**:
410
- - [Decision 1]: [Why this choice? Alternatives considered?]
411
- - [Decision 2]: [Rationale]
412
-
413
- ## Implementation Phases
414
-
415
- ### Phase 1: Foundation
416
- - [Setup, infrastructure, base components]
417
-
418
- ### Phase 2: Core Functionality
419
- - [Primary features from P1 user stories]
420
-
421
- ### Phase 3: Enhancement
422
- - [P2 features and optimizations]
423
-
424
- ## Testing Strategy
425
-
426
- [High-level testing approach - details in tasks.md]
427
-
428
- ## Technical Challenges
429
-
430
- ### Challenge 1: [Description]
431
- **Solution**: [Approach]
432
- **Risk**: [Mitigation]
433
- ```
244
+ Replace `{{FEATURE_TITLE}}` placeholder. plan.md is OPTIONAL - create only for complex features with architecture decisions.
434
245
 
435
246
  ### STEP 6: Create tasks.md Template
436
247
 
@@ -440,151 +251,15 @@ Create `.specweave/increments/0021-feature-name/tasks.md`:
440
251
 
441
252
  #### 6A: Single-Project Template
442
253
 
443
- ```markdown
444
- # Tasks: [Feature Title]
445
-
446
- ## Task Notation
447
-
448
- - `[T###]`: Task ID
449
- - `[P]`: Parallelizable
450
- - `[ ]`: Not started
451
- - `[x]`: Completed
452
- - Model hints: ⚡ haiku, 🧠 sonnet, 💎 opus
254
+ **Template File**: `templates/tasks-single-project.md`
453
255
 
454
- ## Phase 1: Setup
455
-
456
- - [ ] [T001] [P] ⚡ haiku - Initialize project structure
457
- - [ ] [T002] ⚡ haiku - Setup testing framework
458
-
459
- ## Phase 2: Core Implementation
460
-
461
- ### US-001: [User Story Title] (P1)
462
-
463
- #### T-003: Implement [component]
464
-
465
- **Description**: [What needs to be done]
466
-
467
- **References**: AC-US1-01, AC-US1-02
468
-
469
- **Implementation Details**:
470
- - [Step 1]
471
- - [Step 2]
472
-
473
- **Test Plan**:
474
- - **File**: `tests/unit/component.test.ts`
475
- - **Tests**:
476
- - **TC-001**: [Test name]
477
- - Given [precondition]
478
- - When [action]
479
- - Then [expected result]
480
- - **TC-002**: [Test name]
481
- - Given [precondition]
482
- - When [action]
483
- - Then [expected result]
484
-
485
- **Dependencies**: None
486
- **Status**: [ ] Not Started
487
-
488
- ## Phase 3: Testing
489
-
490
- - [ ] [T050] Run integration tests
491
- - [ ] [T051] Verify all acceptance criteria
492
- ```
256
+ Replace `{{FEATURE_TITLE}}` placeholder.
493
257
 
494
258
  #### 6B: Multi-Project Template (umbrella.enabled: true) - USE THIS!
495
259
 
496
- ```markdown
497
- # Tasks: [Feature Title]
498
-
499
- ## Task Notation
260
+ **Template File**: `templates/tasks-multi-project.md`
500
261
 
501
- - `[T###]`: Task ID
502
- - `[P]`: Parallelizable
503
- - `[ ]`: Not started
504
- - `[x]`: Completed
505
- - Model hints: ⚡ haiku, 🧠 sonnet, 💎 opus
506
-
507
- ## Phase 1: Foundation & Setup
508
-
509
- ### T-001: Initialize Shared Library (sw-app-shared)
510
- **User Story**: US-SHARED-001
511
- **Satisfies ACs**: AC-SHARED-US1-01, AC-SHARED-US1-02
512
- **Status**: [ ] Not Started
513
-
514
- **Description**: Set up shared TypeScript types and validators
515
-
516
- **Implementation**:
517
- - Create shared types package
518
- - Export common interfaces and types
519
- - Add validation schemas
520
-
521
- **Test Plan**:
522
- - **File**: `sw-app-shared/tests/types.test.ts`
523
- - **Tests**:
524
- - **TC-001**: Type exports compile correctly
525
-
526
- ---
527
-
528
- ## Phase 2: Backend Implementation (sw-app-be)
529
-
530
- ### T-002: Database Schema & Models
531
- **User Story**: US-BE-001
532
- **Satisfies ACs**: AC-BE-US1-01, AC-BE-US1-02
533
- **Status**: [ ] Not Started
534
-
535
- **Description**: Create database schema for backend service
536
-
537
- **Implementation**:
538
- - Define Prisma/TypeORM models
539
- - Run migrations
540
- - Seed initial data
541
-
542
- **Test Plan**:
543
- - **File**: `sw-app-be/tests/models.test.ts`
544
- - **Tests**:
545
- - **TC-002**: Models create correctly
546
- - **TC-003**: Relationships work
547
-
548
- ### T-003: API Endpoints
549
- **User Story**: US-BE-001, US-BE-002
550
- **Satisfies ACs**: AC-BE-US1-01, AC-BE-US2-01
551
- **Status**: [ ] Not Started
552
-
553
- **Description**: Implement REST API endpoints
554
-
555
- ---
556
-
557
- ## Phase 3: Frontend Implementation (sw-app-fe)
558
-
559
- ### T-004: UI Components
560
- **User Story**: US-FE-001
561
- **Satisfies ACs**: AC-FE-US1-01, AC-FE-US1-02
562
- **Status**: [ ] Not Started
563
-
564
- **Description**: Build frontend components
565
-
566
- **Implementation**:
567
- - Create upload component
568
- - Add comparison view
569
- - Wire up to backend API
570
-
571
- **Test Plan**:
572
- - **File**: `sw-app-fe/tests/components.test.tsx`
573
- - **Tests**:
574
- - **TC-004**: Component renders correctly
575
- - **TC-005**: Upload triggers validation
576
-
577
- ---
578
-
579
- ## Phase 4: Integration & Testing
580
-
581
- ### T-005: End-to-End Tests
582
- **User Story**: US-FE-001, US-BE-001
583
- **Satisfies ACs**: (all FE and BE ACs)
584
- **Status**: [ ] Not Started
585
-
586
- **Description**: E2E tests across all projects
587
- ```
262
+ Replace placeholders: `{{FEATURE_TITLE}}`, `{{PROJECT_FE_ID}}`, `{{PROJECT_BE_ID}}`, `{{PROJECT_SHARED_ID}}`
588
263
 
589
264
  **Key Rules for Multi-Project tasks.md:**
590
265
  1. **Tasks MUST reference project-scoped user stories**: `US-FE-001`, `US-BE-001`
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "{{INCREMENT_ID}}",
3
+ "status": "planned",
4
+ "type": "{{TYPE}}",
5
+ "priority": "{{PRIORITY}}",
6
+ "created": "{{ISO_DATE}}",
7
+ "lastActivity": "{{ISO_DATE}}",
8
+ "testMode": "{{TEST_MODE}}",
9
+ "coverageTarget": {{COVERAGE_TARGET}},
10
+ "feature_id": null,
11
+ "epic_id": null,
12
+ "externalLinks": {}
13
+ }
@@ -0,0 +1,50 @@
1
+ # Implementation Plan: {{FEATURE_TITLE}}
2
+
3
+ ## Overview
4
+
5
+ [Technical summary of implementation approach]
6
+
7
+ ## Architecture
8
+
9
+ ### Components
10
+ - [Component 1]: [Purpose]
11
+ - [Component 2]: [Purpose]
12
+
13
+ ### Data Model
14
+ - [Entity 1]: [Fields, relationships]
15
+ - [Entity 2]: [Fields, relationships]
16
+
17
+ ### API Contracts
18
+ - `POST /api/resource`: [Purpose, request/response]
19
+ - `GET /api/resource/:id`: [Purpose, request/response]
20
+
21
+ ## Technology Stack
22
+
23
+ - **Language/Framework**: [Choice]
24
+ - **Libraries**: [List]
25
+ - **Tools**: [List]
26
+
27
+ **Architecture Decisions**:
28
+ - [Decision 1]: [Why this choice? Alternatives considered?]
29
+ - [Decision 2]: [Rationale]
30
+
31
+ ## Implementation Phases
32
+
33
+ ### Phase 1: Foundation
34
+ - [Setup, infrastructure, base components]
35
+
36
+ ### Phase 2: Core Functionality
37
+ - [Primary features from P1 user stories]
38
+
39
+ ### Phase 3: Enhancement
40
+ - [P2 features and optimizations]
41
+
42
+ ## Testing Strategy
43
+
44
+ [High-level testing approach - details in tasks.md]
45
+
46
+ ## Technical Challenges
47
+
48
+ ### Challenge 1: [Description]
49
+ **Solution**: [Approach]
50
+ **Risk**: [Mitigation]
@@ -0,0 +1,86 @@
1
+ ---
2
+ increment: {{INCREMENT_ID}}
3
+ title: "{{FEATURE_TITLE}}"
4
+ type: {{TYPE}}
5
+ priority: {{PRIORITY}}
6
+ status: planned
7
+ created: {{DATE}}
8
+ structure: user-stories
9
+ test_mode: {{TEST_MODE}}
10
+ coverage_target: {{COVERAGE_TARGET}}
11
+ multi_project: true
12
+ projects:
13
+ - id: {{PROJECT_FE_ID}}
14
+ prefix: FE
15
+ - id: {{PROJECT_BE_ID}}
16
+ prefix: BE
17
+ - id: {{PROJECT_SHARED_ID}}
18
+ prefix: SHARED
19
+ ---
20
+
21
+ # Feature: {{FEATURE_TITLE}}
22
+
23
+ ## Overview
24
+
25
+ [High-level description - WHAT this feature does and WHY it's needed]
26
+
27
+ ## User Stories by Project
28
+
29
+ ### Frontend ({{PROJECT_FE_ID}})
30
+
31
+ #### US-FE-001: [Story Title] (P1)
32
+ **Related Repo**: {{PROJECT_FE_ID}}
33
+ **As a** [user type]
34
+ **I want** [goal]
35
+ **So that** [benefit]
36
+
37
+ **Acceptance Criteria**:
38
+ - [ ] **AC-FE-US1-01**: [Specific, testable criterion]
39
+ - [ ] **AC-FE-US1-02**: [Another criterion]
40
+
41
+ ---
42
+
43
+ ### Backend ({{PROJECT_BE_ID}})
44
+
45
+ #### US-BE-001: [Story Title] (P1)
46
+ **Related Repo**: {{PROJECT_BE_ID}}
47
+ **As a** [system/frontend application]
48
+ **I want** [API endpoint/service goal]
49
+ **So that** [benefit]
50
+
51
+ **Acceptance Criteria**:
52
+ - [ ] **AC-BE-US1-01**: [API endpoint specification]
53
+ - [ ] **AC-BE-US1-02**: [Data validation rule]
54
+
55
+ ---
56
+
57
+ ### Shared Library ({{PROJECT_SHARED_ID}})
58
+
59
+ #### US-SHARED-001: [Story Title] (P1)
60
+ **Related Repo**: {{PROJECT_SHARED_ID}}
61
+ **As a** developer in FE or BE repos
62
+ **I want** [shared types/utilities/validators]
63
+ **So that** [consistency across projects]
64
+
65
+ **Acceptance Criteria**:
66
+ - [ ] **AC-SHARED-US1-01**: [Type definition]
67
+ - [ ] **AC-SHARED-US1-02**: [Validator/utility function]
68
+
69
+ ---
70
+
71
+ ## Functional Requirements
72
+
73
+ ### FR-001: [Requirement]
74
+ [Detailed description]
75
+
76
+ ## Success Criteria
77
+
78
+ [Measurable outcomes - metrics, KPIs]
79
+
80
+ ## Out of Scope
81
+
82
+ [What this explicitly does NOT include]
83
+
84
+ ## Dependencies
85
+
86
+ [Other features or systems this depends on]
@@ -0,0 +1,50 @@
1
+ ---
2
+ increment: {{INCREMENT_ID}}
3
+ title: "{{FEATURE_TITLE}}"
4
+ type: {{TYPE}}
5
+ priority: {{PRIORITY}}
6
+ status: planned
7
+ created: {{DATE}}
8
+ structure: user-stories
9
+ test_mode: {{TEST_MODE}}
10
+ coverage_target: {{COVERAGE_TARGET}}
11
+ ---
12
+
13
+ # Feature: {{FEATURE_TITLE}}
14
+
15
+ ## Overview
16
+
17
+ [High-level description - WHAT this feature does and WHY it's needed]
18
+
19
+ ## User Stories
20
+
21
+ ### US-001: [Story Title] (P1)
22
+
23
+ **As a** [user type]
24
+ **I want** [goal]
25
+ **So that** [benefit]
26
+
27
+ **Acceptance Criteria**:
28
+ - [ ] **AC-US1-01**: [Specific, testable criterion]
29
+ - [ ] **AC-US1-02**: [Another criterion]
30
+
31
+ ### US-002: [Story Title] (P2)
32
+
33
+ [Repeat structure]
34
+
35
+ ## Functional Requirements
36
+
37
+ ### FR-001: [Requirement]
38
+ [Detailed description]
39
+
40
+ ## Success Criteria
41
+
42
+ [Measurable outcomes - metrics, KPIs]
43
+
44
+ ## Out of Scope
45
+
46
+ [What this explicitly does NOT include]
47
+
48
+ ## Dependencies
49
+
50
+ [Other features or systems this depends on]
@@ -0,0 +1,86 @@
1
+ # Tasks: {{FEATURE_TITLE}}
2
+
3
+ ## Task Notation
4
+
5
+ - `[T###]`: Task ID
6
+ - `[P]`: Parallelizable
7
+ - `[ ]`: Not started
8
+ - `[x]`: Completed
9
+ - Model hints: ⚡ haiku, 🧠 sonnet, 💎 opus
10
+
11
+ ## Phase 1: Foundation & Setup
12
+
13
+ ### T-001: Initialize Shared Library ({{PROJECT_SHARED_ID}})
14
+ **User Story**: US-SHARED-001
15
+ **Satisfies ACs**: AC-SHARED-US1-01, AC-SHARED-US1-02
16
+ **Status**: [ ] Not Started
17
+
18
+ **Description**: Set up shared TypeScript types and validators
19
+
20
+ **Implementation**:
21
+ - Create shared types package
22
+ - Export common interfaces and types
23
+ - Add validation schemas
24
+
25
+ **Test Plan**:
26
+ - **File**: `{{PROJECT_SHARED_ID}}/tests/types.test.ts`
27
+ - **Tests**:
28
+ - **TC-001**: Type exports compile correctly
29
+
30
+ ---
31
+
32
+ ## Phase 2: Backend Implementation ({{PROJECT_BE_ID}})
33
+
34
+ ### T-002: Database Schema & Models
35
+ **User Story**: US-BE-001
36
+ **Satisfies ACs**: AC-BE-US1-01, AC-BE-US1-02
37
+ **Status**: [ ] Not Started
38
+
39
+ **Description**: Create database schema for backend service
40
+
41
+ **Implementation**:
42
+ - Define Prisma/TypeORM models
43
+ - Run migrations
44
+ - Seed initial data
45
+
46
+ **Test Plan**:
47
+ - **File**: `{{PROJECT_BE_ID}}/tests/models.test.ts`
48
+ - **Tests**:
49
+ - **TC-002**: Models create correctly
50
+ - **TC-003**: Relationships work
51
+
52
+ ### T-003: API Endpoints
53
+ **User Story**: US-BE-001, US-BE-002
54
+ **Satisfies ACs**: AC-BE-US1-01, AC-BE-US2-01
55
+ **Status**: [ ] Not Started
56
+
57
+ **Description**: Implement REST API endpoints
58
+
59
+ ---
60
+
61
+ ## Phase 3: Frontend Implementation ({{PROJECT_FE_ID}})
62
+
63
+ ### T-004: UI Components
64
+ **User Story**: US-FE-001
65
+ **Satisfies ACs**: AC-FE-US1-01, AC-FE-US1-02
66
+ **Status**: [ ] Not Started
67
+
68
+ **Description**: Build frontend components
69
+
70
+ **Implementation**:
71
+ - Create upload component
72
+ - Add comparison view
73
+ - Wire up to backend API
74
+
75
+ **Test Plan**:
76
+ - **File**: `{{PROJECT_FE_ID}}/tests/components.test.tsx`
77
+ - **Tests**:
78
+ - **TC-004**: Component renders correctly
79
+ - **TC-005**: Upload triggers validation
80
+
81
+ ---
82
+
83
+ ## Phase 4: Integration & Testing
84
+
85
+ - [ ] [T050] Run cross-repo integration tests
86
+ - [ ] [T051] Verify all acceptance criteria across projects
@@ -0,0 +1,48 @@
1
+ # Tasks: {{FEATURE_TITLE}}
2
+
3
+ ## Task Notation
4
+
5
+ - `[T###]`: Task ID
6
+ - `[P]`: Parallelizable
7
+ - `[ ]`: Not started
8
+ - `[x]`: Completed
9
+ - Model hints: ⚡ haiku, 🧠 sonnet, 💎 opus
10
+
11
+ ## Phase 1: Setup
12
+
13
+ - [ ] [T001] [P] ⚡ haiku - Initialize project structure
14
+ - [ ] [T002] ⚡ haiku - Setup testing framework
15
+
16
+ ## Phase 2: Core Implementation
17
+
18
+ ### US-001: [User Story Title] (P1)
19
+
20
+ #### T-003: Implement [component]
21
+
22
+ **Description**: [What needs to be done]
23
+
24
+ **References**: AC-US1-01, AC-US1-02
25
+
26
+ **Implementation Details**:
27
+ - [Step 1]
28
+ - [Step 2]
29
+
30
+ **Test Plan**:
31
+ - **File**: `tests/unit/component.test.ts`
32
+ - **Tests**:
33
+ - **TC-001**: [Test name]
34
+ - Given [precondition]
35
+ - When [action]
36
+ - Then [expected result]
37
+ - **TC-002**: [Test name]
38
+ - Given [precondition]
39
+ - When [action]
40
+ - Then [expected result]
41
+
42
+ **Dependencies**: None
43
+ **Status**: [ ] Not Started
44
+
45
+ ## Phase 3: Testing
46
+
47
+ - [ ] [T050] Run integration tests
48
+ - [ ] [T051] Verify all acceptance criteria