whiteport-design-studio 0.2.2 → 0.3.0

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 (582) hide show
  1. package/README.md +51 -67
  2. package/docs/getting-started/agent-activation/activation/step-01-load-agent-definition.md +0 -1
  3. package/docs/getting-started/agent-activation/activation/step-04-handoff-presentation.md +0 -1
  4. package/docs/getting-started/installation.md +1 -1
  5. package/docs/getting-started/quick-start.md +1 -1
  6. package/docs/getting-started/where-to-go-next.md +8 -8
  7. package/docs/learn/00-course-overview/00-course-overview.md +239 -0
  8. package/docs/{learn-wds → learn}/00-course-overview/00-getting-started-overview.md +1 -1
  9. package/docs/{learn-wds → learn}/00-course-overview/01-prerequisites.md +2 -2
  10. package/docs/{learn-wds → learn}/00-course-overview/02-learning-paths.md +6 -6
  11. package/docs/{learn-wds → learn}/00-course-overview/03-support.md +1 -1
  12. package/docs/{learn-wds → learn}/Webinars/2024-12-22-WDS-Sessions-1-Say-Hello-to-WDS.md +2 -2
  13. package/docs/{learn-wds → learn}/Webinars/2025-10-22-Webinar-WDS-v4.md +1 -1
  14. package/docs/{learn-wds → learn}/Webinars/2026-01-15-WDS-Sessions-2-Strategy-in-Practice.md +2 -2
  15. package/docs/{learn-wds → learn}/module-01-why-wds-matters/lesson-01-the-problem.md +4 -2
  16. package/docs/learn/module-01-why-wds-matters/lesson-02-designer-as-strategic-thinker.md +483 -0
  17. package/docs/{learn-wds/module-01-why-wds-matters/lesson-02-the-solution.md → learn/module-01-why-wds-matters/lesson-03-the-solution.md} +5 -3
  18. package/docs/{learn-wds/module-01-why-wds-matters/lesson-03-the-path-forward.md → learn/module-01-why-wds-matters/lesson-04-the-path-forward.md} +9 -6
  19. package/docs/{learn-wds → learn}/module-01-why-wds-matters/module-01-overview.md +22 -4
  20. package/docs/{learn-wds/module-02-installation-setup/lesson-01-git-setup/01-lesson.md → learn/module-02-installation-setup/lesson-01-git-setup.md} +12 -11
  21. package/docs/{learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-lesson.md → learn/module-02-installation-setup/lesson-02-ide-installation.md} +8 -7
  22. package/docs/{learn-wds/module-02-installation-setup/lesson-03-git-cloning/02-full-lesson.md → learn/module-02-installation-setup/lesson-03-git-cloning.md} +10 -9
  23. package/docs/learn/module-02-installation-setup/lesson-04-wds-initialization.md +133 -0
  24. package/docs/learn/module-02-installation-setup/module-02-overview.md +59 -0
  25. package/docs/learn/module-02-installation-setup/tutorial-02.md +158 -0
  26. package/docs/{learn-wds → learn}/module-03-alignment-signoff/lesson-01-understanding-alignment.md +6 -2
  27. package/docs/{learn-wds → learn}/module-03-alignment-signoff/lesson-02-creating-alignment-document.md +5 -1
  28. package/docs/{learn-wds → learn}/module-03-alignment-signoff/lesson-03-negotiation-acceptance.md +6 -2
  29. package/docs/{learn-wds → learn}/module-03-alignment-signoff/lesson-04-external-contracts.md +7 -3
  30. package/docs/{learn-wds → learn}/module-03-alignment-signoff/lesson-05-internal-signoff.md +7 -3
  31. package/docs/{learn-wds → learn}/module-03-alignment-signoff/module-03-overview.md +4 -4
  32. package/docs/{learn-wds → learn}/module-03-alignment-signoff/tutorial-03.md +7 -7
  33. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-01-chaos-problem.md +2 -0
  34. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-02-five-questions.md +2 -0
  35. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-03-document-structure.md +3 -1
  36. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-04-wds-advantage.md +4 -2
  37. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-05-using-brief.md +2 -0
  38. package/docs/{learn-wds → learn}/module-04-product-brief/lesson-06-additional-documents.md +3 -1
  39. package/docs/{learn-wds → learn}/module-04-product-brief/module-04-overview.md +4 -4
  40. package/docs/{learn-wds → learn}/module-04-product-brief/tutorial-04.md +10 -8
  41. package/docs/learn/module-05-platform-requirements/lesson-01-why-boundaries-matter.md +232 -0
  42. package/docs/learn/module-05-platform-requirements/lesson-02-defining-platform-requirements.md +416 -0
  43. package/docs/learn/module-05-platform-requirements/module-05-platform-requirements-overview.md +186 -0
  44. package/docs/learn/module-05-platform-requirements/tutorial-05.md +377 -0
  45. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-01-missing-link.md +7 -4
  46. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-02-heritage-evolution.md +20 -42
  47. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-03-five-workshops-overview.md +7 -5
  48. package/docs/learn/module-06-trigger-mapping/lesson-04-workshop-1-business-goals.md +319 -0
  49. package/docs/learn/module-06-trigger-mapping/lesson-05-workshop-2-target-groups.md +557 -0
  50. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-06-workshop-3-driving-forces.md +120 -83
  51. package/docs/learn/module-06-trigger-mapping/lesson-07-workshop-4-prioritization.md +373 -0
  52. package/docs/learn/module-06-trigger-mapping/lesson-08-workshop-5-feature-impact.md +543 -0
  53. package/docs/learn/module-06-trigger-mapping/lesson-09-positive-negative-drivers.md +507 -0
  54. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-10-visual-trigger-map.md +6 -4
  55. package/docs/{learn-wds/module-05-trigger-mapping → learn/module-06-trigger-mapping}/lesson-11-feature-impact-scoring.md +5 -3
  56. package/docs/{learn-wds/module-05-trigger-mapping/module-05-overview.md → learn/module-06-trigger-mapping/module-06-overview.md} +8 -20
  57. package/docs/{learn-wds/module-05-trigger-mapping/tutorial-05.md → learn/module-06-trigger-mapping/tutorial-06.md} +14 -12
  58. package/docs/{learn-wds/module-05-trigger-mapping/tutorial-05c-documentation-synthesis.md → learn/module-06-trigger-mapping/tutorial-06c-documentation-synthesis.md} +11 -9
  59. package/docs/learn/module-07-design-phase/lesson-01-entering-design.md +251 -0
  60. package/docs/learn/module-07-design-phase/lesson-02-why-specifications-matter.md +836 -0
  61. package/docs/learn/module-07-design-phase/lesson-03-meet-freya.md +200 -0
  62. package/docs/learn/module-07-design-phase/module-07-design-phase-overview.md +148 -0
  63. package/docs/learn/module-08-outline-scenarios/lesson-01-design-experiences-not-screens.md +559 -0
  64. package/docs/learn/module-08-outline-scenarios/lesson-02-from-trigger-map-to-scenarios.md +667 -0
  65. package/docs/learn/module-08-outline-scenarios/lesson-03-mapping-the-journey.md +347 -0
  66. package/docs/learn/module-08-outline-scenarios/module-08-outline-scenarios-overview.md +298 -0
  67. package/docs/learn/module-08-outline-scenarios/tutorial-08.md +397 -0
  68. package/docs/learn/module-09-conceptual-sketching/lesson-01-visualize-first.md +286 -0
  69. package/docs/learn/module-09-conceptual-sketching/lesson-02-sketching-techniques.md +270 -0
  70. package/docs/learn/module-09-conceptual-sketching/lesson-03-why-hand-sketching.md +250 -0
  71. package/docs/learn/module-09-conceptual-sketching/lesson-04-image-sketching-best-practices.md +272 -0
  72. package/docs/learn/module-09-conceptual-sketching/lesson-05-sketch-text-strategy.md +509 -0
  73. package/docs/learn/module-09-conceptual-sketching/lesson-06-ai-wireframe-generation.md +211 -0
  74. package/docs/learn/module-09-conceptual-sketching/module-09-conceptual-sketching-overview.md +243 -0
  75. package/docs/learn/module-09-conceptual-sketching/tutorial-09.md +381 -0
  76. package/docs/learn/module-10-storyboarding/lesson-01-transformations.md +392 -0
  77. package/docs/learn/module-10-storyboarding/lesson-02-storyboard-format.md +410 -0
  78. package/docs/learn/module-10-storyboarding/module-10-storyboarding-overview.md +290 -0
  79. package/docs/learn/module-10-storyboarding/tutorial-10.md +405 -0
  80. package/docs/learn/module-11-conceptual-specifications/lesson-01-design-is-specification.md +593 -0
  81. package/docs/learn/module-11-conceptual-specifications/lesson-02-section-widget-specifications.md +704 -0
  82. package/docs/learn/module-11-conceptual-specifications/lesson-03-element-state-specifications.md +950 -0
  83. package/docs/learn/module-11-conceptual-specifications/lesson-04-spacing-objects.md +192 -0
  84. package/docs/learn/module-11-conceptual-specifications/lesson-05-typography-tokens.md +157 -0
  85. package/docs/learn/module-11-conceptual-specifications/module-11-conceptual-specifications-overview.md +497 -0
  86. package/docs/learn/module-11-conceptual-specifications/storyboards/password-field.md +32 -0
  87. package/docs/learn/module-11-conceptual-specifications/storyboards/submit-button.md +26 -0
  88. package/docs/learn/module-11-conceptual-specifications/tutorial-11.md +509 -0
  89. package/docs/learn/module-12-functional-components/components/button.md +41 -0
  90. package/docs/learn/module-12-functional-components/components/card.md +40 -0
  91. package/docs/learn/module-12-functional-components/components/input.md +42 -0
  92. package/docs/learn/module-12-functional-components/lesson-01-patterns-emerge.md +263 -0
  93. package/docs/learn/module-12-functional-components/lesson-02-component-anatomy.md +332 -0
  94. package/docs/learn/module-12-functional-components/module-12-functional-components-overview.md +384 -0
  95. package/docs/learn/module-12-functional-components/tutorial-12.md +405 -0
  96. package/docs/learn/module-13-design-system/lesson-01-understanding-modes.md +274 -0
  97. package/docs/learn/module-13-design-system/module-13-design-system-overview.md +157 -0
  98. package/docs/learn/module-13-design-system/tutorial-13.md +344 -0
  99. package/docs/learn/module-14-agentic-development/lesson-01-iterative-building.md +182 -0
  100. package/docs/learn/module-14-agentic-development/lesson-02-documenting-decisions.md +188 -0
  101. package/docs/learn/module-14-agentic-development/lesson-03-when-you-get-stuck.md +213 -0
  102. package/docs/learn/module-14-agentic-development/lesson-04-working-with-code.md +304 -0
  103. package/docs/learn/module-14-agentic-development/lesson-05-git-discipline.md +349 -0
  104. package/docs/learn/module-14-agentic-development/module-14-agentic-development-overview.md +249 -0
  105. package/docs/learn/module-14-agentic-development/tutorial-14.md +339 -0
  106. package/docs/learn/module-15-visual-design/lesson-01-making-it-visible.md +216 -0
  107. package/docs/learn/module-15-visual-design/lesson-02-visual-techniques.md +334 -0
  108. package/docs/learn/module-15-visual-design/module-15-visual-design-overview.md +338 -0
  109. package/docs/learn/module-15-visual-design/tutorial-15.md +377 -0
  110. package/docs/learn/module-16-design-delivery/lesson-01-validation-packaging.md +340 -0
  111. package/docs/learn/module-16-design-delivery/module-16-design-delivery-overview.md +178 -0
  112. package/docs/learn/module-16-design-delivery/tutorial-16.md +411 -0
  113. package/docs/learn/module-17-usability-testing/lesson-01-spec-verification.md +243 -0
  114. package/docs/learn/module-17-usability-testing/lesson-02-test-results.md +240 -0
  115. package/docs/learn/module-17-usability-testing/lesson-03-acting-on-findings.md +253 -0
  116. package/docs/learn/module-17-usability-testing/module-17-usability-testing-overview.md +231 -0
  117. package/docs/learn/module-17-usability-testing/tutorial-17.md +301 -0
  118. package/docs/learn/module-18-product-evolution/lesson-01-continuous-improvement.md +255 -0
  119. package/docs/learn/module-18-product-evolution/lesson-02-update-spec-project-code.md +229 -0
  120. package/docs/learn/module-18-product-evolution/module-18-product-evolution-overview.md +253 -0
  121. package/docs/learn/module-18-product-evolution/tutorial-18.md +293 -0
  122. package/docs/learn/widgets/W01-task-list.md +31 -0
  123. package/docs/learn/widgets/W02-calendar.md +31 -0
  124. package/docs/learn/widgets/W02-product-card.md +31 -0
  125. package/docs/learn/widgets/W03-quick-add.md +31 -0
  126. package/docs/method/content-creation-philosophy.md +3 -3
  127. package/docs/method/content-purpose-guide.md +4 -4
  128. package/docs/method/phase-1-product-exploration-guide.md +36 -9
  129. package/docs/method/phase-2-trigger-mapping-guide.md +44 -2
  130. package/docs/method/phase-3-prd-platform-guide.md +3 -282
  131. package/docs/method/phase-3-ux-scenarios-guide.md +193 -0
  132. package/docs/method/phase-4-ux-design-guide.md +146 -158
  133. package/docs/method/value-trigger-chain-guide.md +6 -469
  134. package/docs/method/wds-method-guide.md +139 -129
  135. package/docs/models/action-mapping.md +1 -1
  136. package/docs/models/customer-awareness-cycle.md +1 -15
  137. package/docs/models/golden-circle.md +2 -3
  138. package/docs/models/impact-effect-mapping.md +5 -6
  139. package/docs/models/kathy-sierra-badass-users.md +1 -1
  140. package/docs/models/models-guide.md +1 -2
  141. package/docs/models/smart-goals-model.md +2 -2
  142. package/docs/tools/excalidraw.md +384 -0
  143. package/docs/tools/wds-tools-guide.md +16 -8
  144. package/package.json +2 -2
  145. package/src/agents/freya-ux.agent.yaml +16 -15
  146. package/src/agents/saga-analyst.agent.yaml +11 -0
  147. package/src/data/agent-guides/freya/agentic-development.md +26 -27
  148. package/src/data/agent-guides/freya/content-creation.md +7 -7
  149. package/src/data/agent-guides/freya/strategic-design.md +4 -6
  150. package/src/data/agent-guides/saga/discovery-conversation.md +20 -0
  151. package/src/data/agent-guides/saga/dream-up-approach.md +132 -7
  152. package/src/data/agent-guides/saga/strategic-documentation.md +4 -6
  153. package/src/data/agent-guides/saga/trigger-mapping.md +7 -7
  154. package/src/data/presentations/freya-presentation.md +1 -1
  155. package/src/data/presentations/freya-workflows-guide.md +1 -1
  156. package/src/data/presentations/idunn-presentation.md +1 -1
  157. package/src/data/presentations/saga-presentation.md +1 -1
  158. package/src/module-help.csv +3 -3
  159. package/src/skills/freya.activation.md +14 -15
  160. package/src/skills/idunn.activation.md +12 -13
  161. package/src/skills/saga.activation.md +13 -14
  162. package/src/workflows/0-alignment-signoff/data/02-explore-sections-routing.md +12 -12
  163. package/src/workflows/0-alignment-signoff/data/03-synthesize-present-routing.md +2 -3
  164. package/src/workflows/0-alignment-signoff/steps-c/step-01a-understand-situation.md +1 -1
  165. package/src/workflows/0-alignment-signoff/steps-c/step-01b-determine-if-needed.md +1 -1
  166. package/src/workflows/0-alignment-signoff/steps-c/step-01c-offer-extract.md +1 -1
  167. package/src/workflows/0-alignment-signoff/steps-c/step-01d-extract-info.md +1 -1
  168. package/src/workflows/0-alignment-signoff/steps-c/step-01e-detect-starting-point.md +1 -1
  169. package/src/workflows/0-alignment-signoff/steps-c/step-02a-explore-realization.md +1 -1
  170. package/src/workflows/0-alignment-signoff/steps-c/step-02b-explore-solution.md +1 -1
  171. package/src/workflows/0-alignment-signoff/steps-c/step-02c-explore-why-it-matters.md +1 -1
  172. package/src/workflows/0-alignment-signoff/steps-c/step-02d-explore-how-we-see-it-working.md +1 -1
  173. package/src/workflows/0-alignment-signoff/steps-c/step-02e-explore-paths-we-explored.md +1 -1
  174. package/src/workflows/0-alignment-signoff/steps-c/step-02f-explore-recommended-solution.md +1 -1
  175. package/src/workflows/0-alignment-signoff/steps-c/step-02g-explore-path-forward.md +1 -1
  176. package/src/workflows/0-alignment-signoff/steps-c/step-02h-explore-value-we-create.md +1 -1
  177. package/src/workflows/0-alignment-signoff/steps-c/step-02i-explore-cost-of-inaction.md +1 -1
  178. package/src/workflows/0-alignment-signoff/steps-c/step-02j-explore-our-commitment.md +1 -1
  179. package/src/workflows/0-alignment-signoff/steps-c/step-02k-explore-summary.md +1 -1
  180. package/src/workflows/0-alignment-signoff/steps-c/step-03a-reflect-back.md +1 -1
  181. package/src/workflows/0-alignment-signoff/steps-c/step-03b-synthesize-document.md +3 -3
  182. package/src/workflows/0-alignment-signoff/steps-c/step-03d-present-approval.md +2 -2
  183. package/src/workflows/0-alignment-signoff/steps-c/step-04a-offer-signoff.md +1 -1
  184. package/src/workflows/0-alignment-signoff/steps-c/step-04b-determine-business-model.md +1 -1
  185. package/src/workflows/0-alignment-signoff/steps-c/step-05a-contract-overview.md +1 -1
  186. package/src/workflows/0-alignment-signoff/steps-c/step-05b-contract-business-model.md +1 -1
  187. package/src/workflows/0-alignment-signoff/steps-c/step-05c-contract-scope.md +1 -1
  188. package/src/workflows/0-alignment-signoff/steps-c/step-05d-contract-payment.md +1 -1
  189. package/src/workflows/0-alignment-signoff/steps-c/step-05e-contract-timeline.md +1 -1
  190. package/src/workflows/0-alignment-signoff/steps-c/step-05f-contract-availability.md +1 -1
  191. package/src/workflows/0-alignment-signoff/steps-c/step-05g-contract-confidentiality.md +1 -1
  192. package/src/workflows/0-alignment-signoff/steps-c/step-05h-contract-not-to-exceed.md +1 -1
  193. package/src/workflows/0-alignment-signoff/steps-c/step-05i-contract-work-initiation.md +1 -1
  194. package/src/workflows/0-alignment-signoff/steps-c/step-05j-contract-terms.md +1 -1
  195. package/src/workflows/0-alignment-signoff/steps-c/step-05k-contract-approval.md +1 -1
  196. package/src/workflows/0-alignment-signoff/steps-c/step-05l-finalize-contract.md +1 -1
  197. package/src/workflows/0-alignment-signoff/steps-c/step-06a-build-internal-signoff.md +1 -1
  198. package/src/workflows/0-alignment-signoff/workflow.md +2 -6
  199. package/src/workflows/0-project-setup/steps/step-01-welcome.md +1 -1
  200. package/src/workflows/0-project-setup/steps/step-02-structure.md +3 -3
  201. package/src/workflows/0-project-setup/templates/folder-guides/00-design-log.template.md +59 -0
  202. package/src/workflows/0-project-setup/templates/folder-guides/00-design-system.template.md +150 -1
  203. package/src/workflows/0-project-setup/templates/folder-guides/00-trigger-map.template.md +0 -1
  204. package/src/workflows/0-project-setup/workflow.md +2 -2
  205. package/src/workflows/1-project-brief/data/positioning-reflect-confirm.md +2 -2
  206. package/src/workflows/1-project-brief/data/positioning-synthesize.md +3 -3
  207. package/src/workflows/1-project-brief/data/vision-synthesize.md +1 -1
  208. package/src/workflows/1-project-brief/steps-c/step-00-simplified-brief.md +1 -1
  209. package/src/workflows/1-project-brief/steps-c/step-01-init.md +4 -4
  210. package/src/workflows/1-project-brief/steps-c/step-02-vision.md +1 -1
  211. package/src/workflows/1-project-brief/steps-c/step-03-positioning.md +5 -5
  212. package/src/workflows/1-project-brief/steps-c/step-05-business-model.md +4 -4
  213. package/src/workflows/1-project-brief/steps-c/step-06-business-customers.md +8 -2
  214. package/src/workflows/1-project-brief/steps-c/step-07-target-users.md +10 -4
  215. package/src/workflows/1-project-brief/steps-c/step-07a-product-concept.md +9 -3
  216. package/src/workflows/1-project-brief/steps-c/step-08-success-criteria.md +3 -3
  217. package/src/workflows/1-project-brief/steps-c/step-09-competitive-landscape.md +3 -3
  218. package/src/workflows/1-project-brief/steps-c/step-10-constraints.md +1 -1
  219. package/src/workflows/1-project-brief/steps-c/step-10a-platform-strategy.md +3 -3
  220. package/src/workflows/1-project-brief/steps-c/step-11-tone-of-voice.md +4 -4
  221. package/src/workflows/1-project-brief/steps-c/{step-12-synthesize.md → step-12-create-product-brief.md} +6 -6
  222. package/src/workflows/1-project-brief/steps-c/step-13-content-init.md +3 -3
  223. package/src/workflows/1-project-brief/steps-c/step-14-personality.md +3 -3
  224. package/src/workflows/1-project-brief/steps-c/step-15-tone.md +3 -3
  225. package/src/workflows/1-project-brief/steps-c/step-16-languages.md +3 -3
  226. package/src/workflows/1-project-brief/steps-c/step-17-seo-keywords.md +3 -3
  227. package/src/workflows/1-project-brief/steps-c/step-17a-content-structure.md +2 -2
  228. package/src/workflows/1-project-brief/steps-c/{step-18-content-synthesize.md → step-18-create-content-document.md} +7 -7
  229. package/src/workflows/1-project-brief/steps-c/step-19-inspiration-workshop.md +3 -3
  230. package/src/workflows/1-project-brief/steps-c/step-20-visual-init.md +3 -3
  231. package/src/workflows/1-project-brief/steps-c/step-21-existing-brand.md +3 -3
  232. package/src/workflows/1-project-brief/steps-c/step-22-references.md +3 -3
  233. package/src/workflows/1-project-brief/steps-c/step-23-design-style.md +3 -3
  234. package/src/workflows/1-project-brief/steps-c/step-24-layout-effects.md +3 -3
  235. package/src/workflows/1-project-brief/steps-c/step-25-imagery.md +4 -4
  236. package/src/workflows/1-project-brief/steps-c/{step-26-visual-synthesize.md → step-26-create-visual-document.md} +3 -3
  237. package/src/workflows/1-project-brief/steps-c/step-27-platform-init.md +3 -3
  238. package/src/workflows/1-project-brief/steps-c/step-28-tech-stack.md +3 -3
  239. package/src/workflows/1-project-brief/steps-c/step-29-integrations.md +3 -3
  240. package/src/workflows/1-project-brief/steps-c/step-30-contact-strategy.md +3 -3
  241. package/src/workflows/1-project-brief/steps-c/step-31-multilingual.md +4 -4
  242. package/src/workflows/1-project-brief/steps-c/{step-32-platform-synthesize.md → step-32-create-platform-document.md} +3 -3
  243. package/src/workflows/1-project-brief/steps-c/step-33-analyze-brief.md +1 -1
  244. package/src/workflows/1-project-brief/steps-c/step-34-create-summary.md +1 -1
  245. package/src/workflows/1-project-brief/steps-c/step-35-update-design-log.md +4 -4
  246. package/src/workflows/1-project-brief/steps-v/step-01-brief-completeness.md +2 -2
  247. package/src/workflows/1-project-brief/steps-v/{step-02-vtc-consistency.md → step-02-trigger-map-consistency.md} +27 -27
  248. package/src/workflows/1-project-brief/steps-v/step-03-seo-strategy.md +2 -2
  249. package/src/workflows/1-project-brief/steps-v/step-04-content-language.md +1 -1
  250. package/src/workflows/1-project-brief/steps-v/step-05-visual-direction.md +1 -1
  251. package/src/workflows/1-project-brief/steps-v/step-06-platform-requirements.md +1 -1
  252. package/src/workflows/1-project-brief/templates/00-project-info.template.md +1 -2
  253. package/src/workflows/1-project-brief/templates/pitch.template.md +5 -13
  254. package/src/workflows/1-project-brief/templates/project-brief-dialog/USAGE.md +7 -92
  255. package/src/workflows/1-project-brief/templates/project-brief.template.md +5 -11
  256. package/src/workflows/1-project-brief/workflow-validate.md +3 -5
  257. package/src/workflows/1-project-brief/workflow.md +6 -10
  258. package/src/workflows/2-trigger-mapping/steps-c/step-01-overview.md +10 -10
  259. package/src/workflows/2-trigger-mapping/steps-c/step-07a-generate-hub.md +36 -0
  260. package/src/workflows/2-trigger-mapping/steps-c/step-09a-finalize-hub.md +18 -2
  261. package/src/workflows/2-trigger-mapping/steps-c/step-09e-update-design-log.md +3 -3
  262. package/src/workflows/2-trigger-mapping/workflow-validate.md +2 -5
  263. package/src/workflows/2-trigger-mapping/workflow.md +2 -4
  264. package/src/workflows/3-scenarios/data/quality-checklist.md +10 -6
  265. package/src/workflows/3-scenarios/data/scenario-outline-template.md +45 -32
  266. package/src/workflows/3-scenarios/steps-c/step-01-load-context.md +2 -2
  267. package/src/workflows/3-scenarios/steps-c/step-02-analyze-scope.md +5 -5
  268. package/src/workflows/3-scenarios/steps-c/{step-03-build-vtcs.md → step-03-build-strategic-context.md} +32 -32
  269. package/src/workflows/3-scenarios/steps-c/step-04-suggest-scenarios.md +4 -4
  270. package/src/workflows/3-scenarios/steps-c/step-05-outline-scenario.md +177 -64
  271. package/src/workflows/3-scenarios/steps-c/step-06-generate-overview.md +1 -1
  272. package/src/workflows/3-scenarios/steps-c/step-07-quality-review.md +1 -1
  273. package/src/workflows/3-scenarios/steps-c/step-08-update-design-log.md +2 -2
  274. package/src/workflows/3-scenarios/steps-c/step-09-handover.md +8 -8
  275. package/src/workflows/3-scenarios/steps-v/step-01-scenario-coverage.md +23 -23
  276. package/src/workflows/3-scenarios/workflow-validate.md +2 -5
  277. package/src/workflows/3-scenarios/workflow.md +4 -6
  278. package/src/workflows/4-ux-design/data/guides/DESIGN-LOOP-GUIDE.md +179 -0
  279. package/src/workflows/4-ux-design/data/guides/NANO-BANANA-PROMPT-GUIDE.md +1 -1
  280. package/src/workflows/4-ux-design/data/page-creation-flows/flow-b-verbal.md +1 -1
  281. package/src/workflows/4-ux-design/data/page-creation-flows/flow-e-html.md +2 -2
  282. package/src/workflows/4-ux-design/data/page-creation-flows/lightweight-page-template.md +1 -1
  283. package/src/workflows/4-ux-design/data/page-creation-flows/page-init-lightweight.md +1 -1
  284. package/src/workflows/4-ux-design/data/page-creation-flows/placeholder-templates.md +3 -3
  285. package/src/workflows/4-ux-design/data/quality-guide.md +1 -1
  286. package/src/workflows/4-ux-design/data/scenario-init/06-shortest-path.md +2 -2
  287. package/src/workflows/4-ux-design/data/scenario-init/07-reference-trigger-map.md +80 -0
  288. package/src/workflows/4-ux-design/data/scenario-init/scenario-init-guide.md +4 -4
  289. package/src/workflows/4-ux-design/data/specification-audit-workflow.md +29 -4
  290. package/src/workflows/4-ux-design/steps-c/step-01-exploration.md +230 -98
  291. package/src/workflows/4-ux-design/steps-m/step-01-review-current.md +2 -2
  292. package/src/workflows/4-ux-design/steps-m/step-02-define-component.md +1 -1
  293. package/src/workflows/4-ux-design/steps-m/step-03-validate-usage.md +2 -2
  294. package/src/workflows/4-ux-design/steps-p/step-07-validation.md +3 -3
  295. package/src/workflows/4-ux-design/steps-p/step-08-spacing-typography.md +210 -0
  296. package/src/workflows/4-ux-design/steps-p/{step-08-generate-spec.md → step-09-generate-spec.md} +19 -25
  297. package/src/workflows/4-ux-design/steps-s/step-01-core-feature.md +3 -2
  298. package/src/workflows/4-ux-design/steps-s/step-02-entry-point.md +3 -2
  299. package/src/workflows/4-ux-design/steps-s/step-03-mental-state.md +3 -2
  300. package/src/workflows/4-ux-design/steps-s/step-04-mutual-success.md +3 -2
  301. package/src/workflows/4-ux-design/steps-s/step-05-shortest-path.md +3 -2
  302. package/src/workflows/4-ux-design/steps-s/step-06-scenario-name.md +3 -2
  303. package/src/workflows/4-ux-design/steps-s/step-07-create-scenario-folder.md +8 -7
  304. package/src/workflows/4-ux-design/steps-s/step-08-page-context.md +3 -2
  305. package/src/workflows/4-ux-design/steps-s/step-09-page-name.md +3 -2
  306. package/src/workflows/4-ux-design/steps-s/step-10-page-purpose.md +3 -2
  307. package/src/workflows/4-ux-design/steps-s/step-11-entry-point.md +3 -2
  308. package/src/workflows/4-ux-design/steps-s/step-12-mental-state.md +3 -2
  309. package/src/workflows/4-ux-design/steps-s/step-13-desired-outcome.md +3 -2
  310. package/src/workflows/4-ux-design/steps-s/step-14-variants.md +3 -2
  311. package/src/workflows/4-ux-design/steps-s/step-15-create-page-structure.md +32 -13
  312. package/src/workflows/4-ux-design/steps-v/step-03-page-overview.md +1 -1
  313. package/src/workflows/4-ux-design/steps-w/step-01-visual-approach.md +1 -2
  314. package/src/workflows/4-ux-design/steps-w/step-02-generate-visual.md +1 -1
  315. package/src/workflows/4-ux-design/steps-w/step-02w-nb-compose-prompt.md +13 -22
  316. package/src/workflows/4-ux-design/steps-w/step-03-review-integrate.md +4 -4
  317. package/src/workflows/4-ux-design/templates/audit-report.template.md +2 -2
  318. package/src/workflows/4-ux-design/templates/page-specification.template.md +86 -0
  319. package/src/workflows/4-ux-design/workflow-conceptualize.md +9 -15
  320. package/src/workflows/4-ux-design/workflow-design-system.md +20 -8
  321. package/src/workflows/4-ux-design/workflow-dream.md +104 -13
  322. package/src/workflows/4-ux-design/workflow-handover.md +4 -8
  323. package/src/workflows/4-ux-design/workflow-sketch.md +2 -9
  324. package/src/workflows/4-ux-design/workflow-specify.md +6 -11
  325. package/src/workflows/4-ux-design/workflow-suggest.md +70 -21
  326. package/src/workflows/4-ux-design/workflow-validate.md +6 -10
  327. package/src/workflows/4-ux-design/workflow-visual.md +5 -10
  328. package/src/workflows/4-ux-design/workflow.md +110 -39
  329. package/src/workflows/5-agentic-development/data/guides/FILE-INDEX.md +1 -1
  330. package/src/workflows/5-agentic-development/steps-a/step-01-define-question.md +1 -1
  331. package/src/workflows/5-agentic-development/steps-a/step-02-scan-codebase.md +1 -1
  332. package/src/workflows/5-agentic-development/steps-a/step-03-map-architecture.md +1 -1
  333. package/src/workflows/5-agentic-development/steps-a/step-04-document-findings.md +2 -2
  334. package/src/workflows/5-agentic-development/steps-d/step-01-scope-and-plan.md +1 -1
  335. package/src/workflows/5-agentic-development/steps-d/step-02-setup-environment.md +1 -1
  336. package/src/workflows/5-agentic-development/steps-d/step-03-implement.md +1 -1
  337. package/src/workflows/5-agentic-development/steps-d/step-04-verify.md +1 -1
  338. package/src/workflows/5-agentic-development/steps-d/step-05-finalize.md +1 -1
  339. package/src/workflows/5-agentic-development/steps-e/step-01-scope-change.md +1 -1
  340. package/src/workflows/5-agentic-development/steps-e/step-02-analyze-impact.md +1 -1
  341. package/src/workflows/5-agentic-development/steps-e/step-03-plan-implementation.md +1 -1
  342. package/src/workflows/5-agentic-development/steps-e/step-04-implement.md +1 -1
  343. package/src/workflows/5-agentic-development/steps-e/step-05-verify-and-document.md +1 -1
  344. package/src/workflows/5-agentic-development/steps-f/step-01-reproduce.md +1 -1
  345. package/src/workflows/5-agentic-development/steps-f/step-02-investigate.md +1 -1
  346. package/src/workflows/5-agentic-development/steps-f/step-03-fix.md +1 -1
  347. package/src/workflows/5-agentic-development/steps-f/step-04-verify.md +1 -1
  348. package/src/workflows/5-agentic-development/steps-f/step-05-document.md +1 -1
  349. package/src/workflows/5-agentic-development/steps-p/1-prototype-setup.md +1 -1
  350. package/src/workflows/5-agentic-development/steps-p/2-scenario-analysis.md +1 -1
  351. package/src/workflows/5-agentic-development/steps-p/3-logical-view-breakdown.md +1 -1
  352. package/src/workflows/5-agentic-development/steps-p/4a-announce-and-gather.md +1 -1
  353. package/src/workflows/5-agentic-development/steps-p/4b-create-story-file.md +1 -1
  354. package/src/workflows/5-agentic-development/steps-p/4c-implement-section.md +1 -1
  355. package/src/workflows/5-agentic-development/steps-p/4d-present-for-testing.md +1 -1
  356. package/src/workflows/5-agentic-development/steps-p/4e-handle-issue.md +1 -1
  357. package/src/workflows/5-agentic-development/steps-p/4f-handle-improvement.md +1 -1
  358. package/src/workflows/5-agentic-development/steps-p/4g-section-approved.md +2 -2
  359. package/src/workflows/5-agentic-development/steps-p/5-finalization.md +1 -1
  360. package/src/workflows/5-agentic-development/steps-r/step-01-identify-target.md +1 -1
  361. package/src/workflows/5-agentic-development/steps-r/step-02-explore-and-capture.md +1 -1
  362. package/src/workflows/5-agentic-development/steps-r/step-03-generate-specs.md +1 -1
  363. package/src/workflows/5-agentic-development/steps-r/step-04-extract-design-system.md +1 -1
  364. package/src/workflows/5-agentic-development/steps-t/step-01-prepare.md +1 -1
  365. package/src/workflows/5-agentic-development/steps-t/step-02-execute.md +1 -1
  366. package/src/workflows/5-agentic-development/steps-t/step-03-document-issues.md +1 -1
  367. package/src/workflows/5-agentic-development/steps-t/step-04-report.md +1 -1
  368. package/src/workflows/5-agentic-development/steps-t/step-05-iterate.md +1 -1
  369. package/src/workflows/5-agentic-development/workflow-acceptance-testing.md +33 -8
  370. package/src/workflows/5-agentic-development/workflow-analysis.md +5 -8
  371. package/src/workflows/5-agentic-development/workflow-bugfixing.md +5 -8
  372. package/src/workflows/5-agentic-development/workflow-development.md +17 -8
  373. package/src/workflows/5-agentic-development/workflow-evolution.md +5 -8
  374. package/src/workflows/5-agentic-development/workflow-prototyping.md +26 -8
  375. package/src/workflows/5-agentic-development/workflow-reverse-engineering.md +5 -8
  376. package/src/workflows/5-agentic-development/workflow.md +5 -8
  377. package/src/workflows/6-asset-generation/data/00-purpose-examples.md +4 -4
  378. package/src/workflows/6-asset-generation/data/03-action-filter-example.md +1 -1
  379. package/src/workflows/6-asset-generation/data/04-example-empowerment-frame.md +1 -1
  380. package/src/workflows/6-asset-generation/data/05-example-golden-circle.md +1 -1
  381. package/src/workflows/6-asset-generation/data/05-golden-circle-guide.md +1 -1
  382. package/src/workflows/6-asset-generation/data/06-example-hairdresser-newsletter.md +1 -1
  383. package/src/workflows/6-asset-generation/data/06-generation-instructions.md +1 -1
  384. package/src/workflows/6-asset-generation/data/content-creation-workshop-guide.md +9 -10
  385. package/src/workflows/6-asset-generation/steps-c/step-00-define-purpose.md +3 -3
  386. package/src/workflows/6-asset-generation/steps-c/step-01-load-trigger-map-context.md +147 -0
  387. package/src/workflows/6-asset-generation/steps-c/step-02-awareness-strategy.md +5 -5
  388. package/src/workflows/6-asset-generation/steps-c/step-03-action-filter.md +7 -7
  389. package/src/workflows/6-asset-generation/steps-c/step-04-empowerment-frame.md +1 -1
  390. package/src/workflows/6-asset-generation/steps-c/step-05-structural-order.md +2 -2
  391. package/src/workflows/6-asset-generation/steps-c/step-06-generate-content.md +3 -3
  392. package/src/workflows/6-asset-generation/templates/content-output.template.md +5 -5
  393. package/src/workflows/6-asset-generation/workflow-content.md +4 -7
  394. package/src/workflows/6-asset-generation/workflow-figma.md +2 -5
  395. package/src/workflows/6-asset-generation/workflow-icons.md +2 -5
  396. package/src/workflows/6-asset-generation/workflow-images.md +2 -5
  397. package/src/workflows/6-asset-generation/workflow-page-designs.md +2 -5
  398. package/src/workflows/6-asset-generation/workflow-stitch.md +5 -9
  399. package/src/workflows/6-asset-generation/workflow-ui-elements.md +2 -5
  400. package/src/workflows/6-asset-generation/workflow-videos.md +2 -5
  401. package/src/workflows/6-asset-generation/workflow-wireframes.md +2 -5
  402. package/src/workflows/6-asset-generation/workflow.md +3 -5
  403. package/src/workflows/7-design-system/steps-c/step-01-scan-existing.md +2 -2
  404. package/src/workflows/7-design-system/steps-c/step-02-compare-attributes.md +2 -2
  405. package/src/workflows/7-design-system/steps-c/step-03-calculate-similarity.md +2 -2
  406. package/src/workflows/7-design-system/steps-c/step-04-identify-opportunities.md +2 -2
  407. package/src/workflows/7-design-system/steps-c/step-05-identify-risks.md +2 -2
  408. package/src/workflows/7-design-system/steps-c/step-06-present-decision.md +2 -2
  409. package/src/workflows/7-design-system/steps-c/step-07-execute-decision.md +2 -2
  410. package/src/workflows/7-design-system/steps-c/step-08a-initialize-design-system.md +2 -2
  411. package/src/workflows/7-design-system/steps-c/step-08b-create-new-component.md +2 -2
  412. package/src/workflows/7-design-system/steps-c/step-08c-update-component.md +2 -2
  413. package/src/workflows/7-design-system/steps-c/step-08d-add-variant.md +2 -2
  414. package/src/workflows/7-design-system/steps-c/step-08e-generate-catalog.md +1 -1
  415. package/src/workflows/7-design-system/workflow-browse.md +2 -5
  416. package/src/workflows/7-design-system/workflow-create.md +2 -5
  417. package/src/workflows/7-design-system/workflow-edit.md +2 -5
  418. package/src/workflows/7-design-system/workflow-import.md +2 -5
  419. package/src/workflows/7-design-system/workflow-view.md +2 -5
  420. package/src/workflows/7-design-system/workflow.md +9 -11
  421. package/src/workflows/8-product-evolution/steps-a/step-01-identify.md +4 -4
  422. package/src/workflows/8-product-evolution/steps-p/step-01-create-delivery.md +1 -1
  423. package/src/workflows/8-product-evolution/workflow-analyze.md +2 -5
  424. package/src/workflows/8-product-evolution/workflow-deploy.md +3 -6
  425. package/src/workflows/8-product-evolution/workflow-design.md +2 -5
  426. package/src/workflows/8-product-evolution/workflow-implement.md +2 -5
  427. package/src/workflows/8-product-evolution/workflow-scope.md +2 -5
  428. package/src/workflows/8-product-evolution/workflow-test.md +2 -5
  429. package/src/workflows/8-product-evolution/workflow.md +7 -9
  430. package/tools/cli/commands/install.js +1 -1
  431. package/tools/cli/installers/lib/ide/_base-ide.js +263 -0
  432. package/tools/cli/installers/lib/ide/antigravity.js +34 -0
  433. package/tools/cli/installers/lib/ide/auggie.js +42 -0
  434. package/tools/cli/installers/lib/ide/claude-code.js +114 -0
  435. package/tools/cli/installers/lib/ide/cline.js +116 -0
  436. package/tools/cli/installers/lib/ide/codex.js +43 -0
  437. package/tools/cli/installers/lib/ide/crush.js +42 -0
  438. package/tools/cli/installers/lib/ide/cursor.js +116 -0
  439. package/tools/cli/installers/lib/ide/gemini.js +50 -0
  440. package/tools/cli/installers/lib/ide/github-copilot.js +106 -0
  441. package/tools/cli/installers/lib/ide/iflow.js +42 -0
  442. package/tools/cli/installers/lib/ide/kilo.js +55 -0
  443. package/tools/cli/installers/lib/ide/kiro-cli.js +44 -0
  444. package/tools/cli/installers/lib/ide/manager.js +218 -0
  445. package/tools/cli/installers/lib/ide/opencode.js +44 -0
  446. package/tools/cli/installers/lib/ide/qwen.js +50 -0
  447. package/tools/cli/installers/lib/ide/roo.js +43 -0
  448. package/tools/cli/installers/lib/ide/rovo-dev.js +43 -0
  449. package/tools/cli/installers/lib/ide/trae.js +42 -0
  450. package/tools/cli/installers/lib/ide/windsurf.js +106 -0
  451. package/tools/cli/lib/compiler.js +10 -2
  452. package/tools/cli/lib/ide-configs.js +2 -4
  453. package/tools/cli/lib/installer.js +115 -206
  454. package/tools/cli/lib/ui.js +191 -54
  455. package/docs/getting-started/agent-activation/wds-mimir.md +0 -78
  456. package/docs/learn-wds/00-course-overview.md +0 -211
  457. package/docs/learn-wds/Webinars/2024-12-22-WDS-Jam-1-Say-Hello-to-AI-Agent-Framework.md +0 -0
  458. package/docs/learn-wds/course-explainers/Module 00-transcript.srt +0 -635
  459. package/docs/learn-wds/course-explainers/Module 02-transcript.srt +0 -807
  460. package/docs/learn-wds/course-explainers/Module-00-notebook-lm-prompt.md +0 -250
  461. package/docs/learn-wds/course-explainers/Module-00-thumbnail-prompt.md +0 -33
  462. package/docs/learn-wds/course-explainers/Module-00-youtube-show-notes.md +0 -78
  463. package/docs/learn-wds/course-explainers/Module-01-notebook-lm-prompt.md +0 -418
  464. package/docs/learn-wds/course-explainers/Module-01-thumbnail-prompt.md +0 -33
  465. package/docs/learn-wds/course-explainers/Module-01-transcript.srt +0 -731
  466. package/docs/learn-wds/course-explainers/Module-02-notebook-lm-prompt.md +0 -342
  467. package/docs/learn-wds/course-explainers/Module-02-thumbnail-prompt.md +0 -34
  468. package/docs/learn-wds/course-explainers/Module-03-notebook-lm-prompt.md +0 -745
  469. package/docs/learn-wds/course-explainers/Module-03-thumbnail-prompt.md +0 -33
  470. package/docs/learn-wds/course-explainers/Module-03-transcript.srt +0 -595
  471. package/docs/learn-wds/course-explainers/Module-04-notebook-lm-prompt.md +0 -163
  472. package/docs/learn-wds/course-explainers/Module-04-thumbnail-prompt.md +0 -36
  473. package/docs/learn-wds/course-explainers/Module-04-youtube-show-notes.md +0 -95
  474. package/docs/learn-wds/course-explainers/Module-05-notebook-lm-prompt.md +0 -274
  475. package/docs/learn-wds/course-explainers/Module-05-thumbnail-prompt.md +0 -40
  476. package/docs/learn-wds/course-explainers/Module-05-youtube-show-notes.md +0 -65
  477. package/docs/learn-wds/course-explainers/module-01-YOUTUBE-SHOW-NOTES.md +0 -75
  478. package/docs/learn-wds/course-explainers/module-02-YOUTUBE-SHOW-NOTES.md +0 -86
  479. package/docs/learn-wds/course-explainers/module-03-YOUTUBE-SHOW-NOTES.md +0 -82
  480. package/docs/learn-wds/course-explainers/trigger-map-example.jpg +0 -0
  481. package/docs/learn-wds/module-02-installation-setup/lesson-01-git-setup/01-quick-checklist.md +0 -63
  482. package/docs/learn-wds/module-02-installation-setup/lesson-01-git-setup/02-full-lesson.md +0 -124
  483. package/docs/learn-wds/module-02-installation-setup/lesson-01-github-and-ide-setup/checklist.md +0 -87
  484. package/docs/learn-wds/module-02-installation-setup/lesson-01-github-and-ide-setup/lesson.md +0 -203
  485. package/docs/learn-wds/module-02-installation-setup/lesson-01-setting-up-github/checklist.md +0 -70
  486. package/docs/learn-wds/module-02-installation-setup/lesson-02-git-configuration/checklist.md +0 -40
  487. package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/01-quick-checklist.md +0 -48
  488. package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-full-lesson.md +0 -88
  489. package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-quick-checklist.md +0 -48
  490. package/docs/learn-wds/module-02-installation-setup/lesson-02-install-ide/checklist.md +0 -48
  491. package/docs/learn-wds/module-02-installation-setup/lesson-02-install-ide/tutorial.md +0 -149
  492. package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/01-quick-checklist.md +0 -51
  493. package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/03-lesson.md +0 -111
  494. package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/03-quick-checklist.md +0 -51
  495. package/docs/learn-wds/module-02-installation-setup/lesson-03-git-setup/checklist.md +0 -41
  496. package/docs/learn-wds/module-02-installation-setup/lesson-03-git-setup/tutorial.md +0 -159
  497. package/docs/learn-wds/module-02-installation-setup/lesson-04-clone-and-wds/checklist.md +0 -93
  498. package/docs/learn-wds/module-02-installation-setup/lesson-04-clone-and-wds/tutorial.md +0 -217
  499. package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/01-quick-checklist.md +0 -73
  500. package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/02-full-lesson.md +0 -206
  501. package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/04-lesson.md +0 -206
  502. package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/04-quick-checklist.md +0 -73
  503. package/docs/learn-wds/module-02-installation-setup/lesson-05-initiate-mimir/checklist.md +0 -79
  504. package/docs/learn-wds/module-02-installation-setup/lesson-05-initiate-mimir/tutorial.md +0 -244
  505. package/docs/learn-wds/module-02-installation-setup/module-02-overview.md +0 -77
  506. package/docs/learn-wds/module-05-map-triggers-outcomes/tutorial-04.md +0 -460
  507. package/docs/learn-wds/module-05-trigger-mapping/lesson-04-workshop-1-business-goals.md +0 -274
  508. package/docs/learn-wds/module-05-trigger-mapping/lesson-05-workshop-2-target-groups.md +0 -504
  509. package/docs/learn-wds/module-05-trigger-mapping/lesson-07-workshop-4-prioritization.md +0 -313
  510. package/docs/learn-wds/module-05-trigger-mapping/lesson-08-workshop-5-feature-impact.md +0 -474
  511. package/docs/learn-wds/module-05-trigger-mapping/lesson-09-positive-negative-drivers.md +0 -348
  512. package/docs/learn-wds/module-05-trigger-mapping/tutorial-05b-value-trigger-chain.md +0 -393
  513. package/docs/learn-wds/module-06-platform-architecture/tutorial-06.md +0 -358
  514. package/docs/learn-wds/module-08-initialize-scenario/tutorial-08.md +0 -521
  515. package/docs/learn-wds/module-09-design-system/tutorial-09.md +0 -515
  516. package/docs/learn-wds/module-10-design-delivery/tutorial-10.md +0 -604
  517. package/docs/learn-wds/module-12-conceptual-specs/tutorial-12.md +0 -734
  518. package/src/agents/mimir-orchestrator.agent.yaml +0 -45
  519. package/src/data/agent-guides/mimir/emotional-intelligence.md +0 -295
  520. package/src/data/agent-guides/mimir/teaching-styles.md +0 -286
  521. package/src/data/agent-guides/mimir/wds-overview.md +0 -377
  522. package/src/data/presentations/mimir-getting-started.md +0 -52
  523. package/src/data/presentations/mimir-presentation.md +0 -123
  524. package/src/gems/eira-visual-designer.md +0 -571
  525. package/src/workflows/0-alignment-signoff/steps-c/step-03c-create-vtc.md +0 -148
  526. package/src/workflows/0-project-setup/templates/folder-guides/00-progress.template.md +0 -56
  527. package/src/workflows/1-project-brief/steps-c/step-04-create-vtc.md +0 -120
  528. package/src/workflows/1-project-brief/steps-c/step-11a-create-vtc.md +0 -181
  529. package/src/workflows/1-project-brief/templates/vtc-template.yaml +0 -210
  530. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-01a-define-business-goal.md +0 -137
  531. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-01b-load-trigger-map.md +0 -127
  532. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-02a-identify-solution.md +0 -133
  533. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-02b-select-business-goal.md +0 -138
  534. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-03a-describe-user.md +0 -147
  535. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-03b-select-user.md +0 -142
  536. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-04a-positive-driving-forces.md +0 -163
  537. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-04b-select-driving-forces.md +0 -154
  538. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-05a-negative-driving-forces.md +0 -195
  539. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-05b-define-solution.md +0 -117
  540. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-06a-customer-awareness.md +0 -216
  541. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-06b-customer-awareness.md +0 -123
  542. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-07a-review-and-save.md +0 -250
  543. package/src/workflows/1-project-brief/vtc-workshop/steps-c/step-07b-review-and-save.md +0 -191
  544. package/src/workflows/1-project-brief/vtc-workshop/workflow.md +0 -209
  545. package/src/workflows/4-ux-design/data/scenario-init/07-create-vtc.md +0 -132
  546. package/src/workflows/6-asset-generation/steps-c/step-01-load-vtc-context.md +0 -150
  547. package/src/workflows/_agent-dialogs/conversation-persistence/check-conversations.md +0 -162
  548. package/src/workflows/_agent-dialogs/conversation-persistence/conversation-template.md +0 -70
  549. package/src/workflows/_agent-dialogs/conversation-persistence/persistence-guide.md +0 -81
  550. package/src/workflows/_agent-dialogs/conversation-persistence/save-conversation.md +0 -146
  551. package/src/workflows/_agent-dialogs/project-analysis/01-instructions.md +0 -79
  552. package/src/workflows/_agent-dialogs/project-analysis/02-project-analysis-router.md +0 -99
  553. package/src/workflows/_agent-dialogs/project-analysis/03-context-aware-activation.md +0 -99
  554. package/src/workflows/_agent-dialogs/project-analysis/04-task-reflection.md +0 -303
  555. package/src/workflows/_agent-dialogs/project-analysis/05-agent-handoff-guide.md +0 -233
  556. package/src/workflows/_agent-dialogs/project-analysis/agent-domains/freya-domain.md +0 -144
  557. package/src/workflows/_agent-dialogs/project-analysis/agent-domains/idunn-domain.md +0 -112
  558. package/src/workflows/_agent-dialogs/project-analysis/agent-domains/saga-domain.md +0 -132
  559. package/src/workflows/_agent-dialogs/project-analysis/analysis-types/empty-project-response.md +0 -207
  560. package/src/workflows/_agent-dialogs/project-analysis/analysis-types/folder-based-analysis.md +0 -135
  561. package/src/workflows/_agent-dialogs/project-analysis/analysis-types/new-project-response.md +0 -235
  562. package/src/workflows/_agent-dialogs/project-analysis/analysis-types/outline-based-analysis.md +0 -238
  563. package/src/workflows/_agent-dialogs/project-analysis/analysis-types/unknown-structure-response.md +0 -216
  564. package/src/workflows/_agent-dialogs/project-analysis/validation/deep-validation-before-work.md +0 -235
  565. package/src/workflows/_agent-dialogs/project-analysis/work-types/strategy-work.md +0 -88
  566. package/src/workflows/_agent-dialogs/step-completion-protocol.md +0 -175
  567. package/src/workflows/_agent-dialogs/steps/step-01-initialize-dialog.md +0 -244
  568. package/src/workflows/_agent-dialogs/steps/step-02-analyze-scope.md +0 -195
  569. package/src/workflows/_agent-dialogs/steps/step-03-create-steps.md +0 -186
  570. package/src/workflows/_agent-dialogs/steps/step-04-execute-steps.md +0 -250
  571. package/src/workflows/_agent-dialogs/steps/step-05-complete-dialog.md +0 -177
  572. package/src/workflows/_agent-dialogs/templates/agent-dialog.template.md +0 -115
  573. package/src/workflows/_agent-dialogs/templates/dialog-capture.template.md +0 -75
  574. package/src/workflows/_agent-dialogs/templates/dialog-types/INDEX.md +0 -142
  575. package/src/workflows/_agent-dialogs/templates/dialog-types/bug-fix.template.md +0 -164
  576. package/src/workflows/_agent-dialogs/templates/dialog-types/design-exploration.template.md +0 -180
  577. package/src/workflows/_agent-dialogs/templates/dialog-types/prototype-implementation.template.md +0 -292
  578. package/src/workflows/_agent-dialogs/templates/dialog-types/stitch-generation.template.md +0 -311
  579. package/src/workflows/_agent-dialogs/templates/dialog.template.md +0 -200
  580. package/src/workflows/_agent-dialogs/templates/dream-up-agent-dialog.template.md +0 -271
  581. package/src/workflows/_agent-dialogs/templates/step.template.md +0 -138
  582. package/src/workflows/_agent-dialogs/workflow.md +0 -193
@@ -0,0 +1,116 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+ const chalk = require('chalk');
4
+
5
+ /**
6
+ * Cursor IDE setup handler for WDS
7
+ */
8
+ class CursorSetup extends BaseIdeSetup {
9
+ constructor() {
10
+ super('cursor', 'Cursor', true); // preferred IDE
11
+ this.configDir = '.cursor/rules/wds';
12
+ }
13
+
14
+ /**
15
+ * Setup Cursor IDE configuration
16
+ * @param {string} projectDir - Project directory
17
+ * @param {string} wdsDir - WDS installation directory
18
+ * @param {Object} options - Setup options
19
+ */
20
+ async setup(projectDir, wdsDir, options = {}) {
21
+ // Create .cursor/rules/wds directory
22
+ const targetDir = path.join(projectDir, this.configDir);
23
+ await this.ensureDir(targetDir);
24
+
25
+ // Get all WDS agents
26
+ const agents = await this.getAgents(wdsDir);
27
+
28
+ if (agents.length === 0) {
29
+ throw new Error('No agents found in WDS installation');
30
+ }
31
+
32
+ // Create launcher file for each agent
33
+ let agentCount = 0;
34
+ for (const agent of agents) {
35
+ // Create launcher content that references the compiled agent
36
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
37
+
38
+ // Add Cursor-specific MDC frontmatter
39
+ const content = this.processContent(launcher, agent.metadata);
40
+
41
+ // Write launcher file with .mdc extension
42
+ const filePath = path.join(targetDir, `${agent.slug}.mdc`);
43
+ await this.writeFile(filePath, content);
44
+ agentCount++;
45
+ }
46
+
47
+ if (options.logger) {
48
+ options.logger.log(chalk.dim(` - ${agentCount} agent(s) configured for Cursor`));
49
+ }
50
+
51
+ return {
52
+ success: true,
53
+ agents: agentCount,
54
+ };
55
+ }
56
+
57
+ /**
58
+ * Process content with Cursor-specific MDC frontmatter
59
+ * @param {string} content - Launcher content
60
+ * @param {Object} metadata - Agent metadata
61
+ * @returns {string} Processed content with Cursor MDC frontmatter
62
+ */
63
+ processContent(content, metadata = {}) {
64
+ // Strip any existing frontmatter from launcher
65
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
66
+ const contentWithoutFrontmatter = content.replace(frontmatterRegex, '');
67
+
68
+ const description = metadata.name
69
+ ? `WDS Agent: ${metadata.name} - ${metadata.description}`
70
+ : `WDS Agent: ${metadata.description || 'Agent'}`;
71
+
72
+ // Create Cursor MDC metadata header
73
+ const mdcHeader = `---
74
+ description: ${description}
75
+ globs:
76
+ alwaysApply: false
77
+ ---
78
+
79
+ `;
80
+
81
+ return mdcHeader + contentWithoutFrontmatter;
82
+ }
83
+
84
+ /**
85
+ * Cleanup Cursor WDS configuration
86
+ * @param {string} projectDir - Project directory
87
+ */
88
+ async cleanup(projectDir) {
89
+ const wdsPath = path.join(projectDir, this.configDir);
90
+
91
+ if (await this.exists(wdsPath)) {
92
+ await this.remove(wdsPath);
93
+ console.log(chalk.dim(`Removed Cursor WDS configuration`));
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Detect if Cursor is configured in project
99
+ * @param {string} projectDir - Project directory
100
+ * @returns {boolean}
101
+ */
102
+ async detect(projectDir) {
103
+ return await this.exists(path.join(projectDir, '.cursor'));
104
+ }
105
+
106
+ /**
107
+ * Remove directory helper
108
+ * @param {string} dirPath - Directory to remove
109
+ */
110
+ async remove(dirPath) {
111
+ const fs = require('fs-extra');
112
+ await fs.remove(dirPath);
113
+ }
114
+ }
115
+
116
+ module.exports = { CursorSetup };
@@ -0,0 +1,50 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+
4
+ /**
5
+ * Gemini CLI setup handler for WDS
6
+ * Uses TOML format for commands
7
+ */
8
+ class GeminiSetup extends BaseIdeSetup {
9
+ constructor() {
10
+ super('gemini', 'Gemini CLI', false);
11
+ this.configDir = '.gemini/commands/wds';
12
+ }
13
+
14
+ async setup(projectDir, wdsDir, options = {}) {
15
+ const targetDir = path.join(projectDir, this.configDir);
16
+ await this.ensureDir(targetDir);
17
+
18
+ const agents = await this.getAgents(wdsDir);
19
+ if (agents.length === 0) throw new Error('No agents found in WDS installation');
20
+
21
+ for (const agent of agents) {
22
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
23
+ const content = this.processContent(launcher, agent.metadata);
24
+ await this.writeFile(path.join(targetDir, `${agent.slug}.toml`), content);
25
+ }
26
+
27
+ return { success: true, agents: agents.length };
28
+ }
29
+
30
+ processContent(content, metadata = {}) {
31
+ const description = metadata.name ? `${metadata.name} - ${metadata.description}` : metadata.description || 'WDS Agent';
32
+
33
+ // Escape content for TOML multi-line string
34
+ const escapedContent = content.replaceAll('"""', String.raw`\"\"\"`);
35
+
36
+ return `description = "${description}"
37
+
38
+ [prompt]
39
+ text = """
40
+ ${escapedContent}
41
+ """
42
+ `;
43
+ }
44
+
45
+ async detect(projectDir) {
46
+ return await this.exists(path.join(projectDir, '.gemini'));
47
+ }
48
+ }
49
+
50
+ module.exports = { GeminiSetup };
@@ -0,0 +1,106 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+ const chalk = require('chalk');
4
+
5
+ /**
6
+ * GitHub Copilot IDE setup handler for WDS
7
+ * Note: GitHub Copilot doesn't support includes/references, so we must copy full agent content
8
+ */
9
+ class GitHubCopilotSetup extends BaseIdeSetup {
10
+ constructor() {
11
+ super('github-copilot', 'GitHub Copilot', false);
12
+ this.configFile = '.github/copilot-instructions.md';
13
+ }
14
+
15
+ /**
16
+ * Setup GitHub Copilot IDE configuration
17
+ * @param {string} projectDir - Project directory
18
+ * @param {string} wdsDir - WDS installation directory
19
+ * @param {Object} options - Setup options
20
+ */
21
+ async setup(projectDir, wdsDir, options = {}) {
22
+ // Ensure .github directory exists
23
+ const githubDir = path.join(projectDir, '.github');
24
+ await this.ensureDir(githubDir);
25
+
26
+ // Get all WDS agents
27
+ const agents = await this.getAgents(wdsDir);
28
+
29
+ if (agents.length === 0) {
30
+ throw new Error('No agents found in WDS installation');
31
+ }
32
+
33
+ // Build content to append
34
+ let content = '\n\n## WDS Agents\n\n';
35
+ content += '<!-- Generated by WDS installer - Do not edit manually -->\n\n';
36
+
37
+ // For each agent, read the full compiled agent content
38
+ let agentCount = 0;
39
+ for (const agent of agents) {
40
+ // Read the full agent content
41
+ const agentContent = await this.readFile(agent.path);
42
+
43
+ // Add section header
44
+ content += `### ${agent.metadata.name} - ${agent.metadata.description}\n\n`;
45
+
46
+ // Add full agent content
47
+ content += agentContent + '\n\n';
48
+ content += '---\n\n';
49
+
50
+ agentCount++;
51
+ }
52
+
53
+ // Append to copilot-instructions.md
54
+ const filePath = path.join(projectDir, this.configFile);
55
+
56
+ if (await this.exists(filePath)) {
57
+ // File exists, append to it
58
+ const fs = require('fs-extra');
59
+ await fs.appendFile(filePath, content);
60
+ } else {
61
+ // File doesn't exist, create it
62
+ await this.writeFile(filePath, content);
63
+ }
64
+
65
+ if (options.logger) {
66
+ options.logger.log(chalk.dim(` - ${agentCount} agent(s) configured for GitHub Copilot`));
67
+ }
68
+
69
+ return {
70
+ success: true,
71
+ agents: agentCount,
72
+ };
73
+ }
74
+
75
+ /**
76
+ * Cleanup GitHub Copilot WDS configuration
77
+ * @param {string} projectDir - Project directory
78
+ */
79
+ async cleanup(projectDir) {
80
+ const filePath = path.join(projectDir, this.configFile);
81
+
82
+ if (await this.exists(filePath)) {
83
+ // Read file, remove WDS Agents section
84
+ const fs = require('fs-extra');
85
+ const content = await fs.readFile(filePath, 'utf8');
86
+
87
+ // Remove WDS Agents section (everything from "## WDS Agents" to the end or next ## section)
88
+ const wdsAgentsRegex = /\n\n## WDS Agents\n\n[\s\S]*?(?=\n\n##\s|$)/;
89
+ const cleanedContent = content.replace(wdsAgentsRegex, '');
90
+
91
+ await fs.writeFile(filePath, cleanedContent);
92
+ console.log(chalk.dim(`Removed GitHub Copilot WDS configuration`));
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Detect if GitHub Copilot is configured in project
98
+ * @param {string} projectDir - Project directory
99
+ * @returns {boolean}
100
+ */
101
+ async detect(projectDir) {
102
+ return await this.exists(path.join(projectDir, '.github'));
103
+ }
104
+ }
105
+
106
+ module.exports = { GitHubCopilotSetup };
@@ -0,0 +1,42 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+
4
+ /**
5
+ * iFlow CLI setup handler for WDS
6
+ */
7
+ class IFlowSetup extends BaseIdeSetup {
8
+ constructor() {
9
+ super('iflow', 'iFlow CLI', false);
10
+ this.configDir = '.iflow/commands/wds';
11
+ }
12
+
13
+ async setup(projectDir, wdsDir, options = {}) {
14
+ const targetDir = path.join(projectDir, this.configDir);
15
+ await this.ensureDir(targetDir);
16
+
17
+ const agents = await this.getAgents(wdsDir);
18
+ if (agents.length === 0) throw new Error('No agents found in WDS installation');
19
+
20
+ for (const agent of agents) {
21
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
22
+ const content = this.processContent(launcher, agent.metadata);
23
+ await this.writeFile(path.join(targetDir, `${agent.slug}.md`), content);
24
+ }
25
+
26
+ return { success: true, agents: agents.length };
27
+ }
28
+
29
+ processContent(content, metadata = {}) {
30
+ const title = metadata.name ? `${metadata.name} - ${metadata.description}` : metadata.description || 'WDS Agent';
31
+
32
+ return `# ${title}
33
+
34
+ ${content}`;
35
+ }
36
+
37
+ async detect(projectDir) {
38
+ return await this.exists(path.join(projectDir, '.iflow'));
39
+ }
40
+ }
41
+
42
+ module.exports = { IFlowSetup };
@@ -0,0 +1,55 @@
1
+ const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+ const { BaseIdeSetup } = require('./_base-ide');
4
+
5
+ /**
6
+ * Kilo Code setup handler for WDS
7
+ * Appends agent modes to .kilocodemodes YAML file
8
+ */
9
+ class KiloSetup extends BaseIdeSetup {
10
+ constructor() {
11
+ super('kilo', 'Kilo Code', false);
12
+ this.configFile = '.kilocodemodes';
13
+ }
14
+
15
+ async setup(projectDir, wdsDir, options = {}) {
16
+ const agents = await this.getAgents(wdsDir);
17
+ if (agents.length === 0) throw new Error('No agents found in WDS installation');
18
+
19
+ const filePath = path.join(projectDir, this.configFile);
20
+
21
+ // Build modes content
22
+ let modesContent = '\n# WDS Agent Modes\n';
23
+
24
+ for (const agent of agents) {
25
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
26
+
27
+ modesContent += `\n- slug: wds-${agent.slug}`;
28
+ modesContent += `\n name: "${agent.metadata.name || agent.slug}"`;
29
+ modesContent += `\n roleDefinition: "${agent.metadata.description || 'WDS Agent'}"`;
30
+ modesContent += `\n customInstructions: |`;
31
+ // Indent launcher content for YAML block
32
+ const indented = launcher
33
+ .split('\n')
34
+ .map((line) => ` ${line}`)
35
+ .join('\n');
36
+ modesContent += `\n${indented}\n`;
37
+ }
38
+
39
+ if (await this.exists(filePath)) {
40
+ // Append to existing file
41
+ await fs.appendFile(filePath, modesContent);
42
+ } else {
43
+ // Create new file
44
+ await this.writeFile(filePath, modesContent);
45
+ }
46
+
47
+ return { success: true, agents: agents.length };
48
+ }
49
+
50
+ async detect(projectDir) {
51
+ return await this.exists(path.join(projectDir, this.configFile));
52
+ }
53
+ }
54
+
55
+ module.exports = { KiloSetup };
@@ -0,0 +1,44 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+
4
+ /**
5
+ * Kiro CLI setup handler for WDS
6
+ * Creates JSON config + markdown prompt files
7
+ */
8
+ class KiroCliSetup extends BaseIdeSetup {
9
+ constructor() {
10
+ super('kiro-cli', 'Kiro CLI', false);
11
+ this.configDir = '.kiro/agents/wds';
12
+ }
13
+
14
+ async setup(projectDir, wdsDir, options = {}) {
15
+ const targetDir = path.join(projectDir, this.configDir);
16
+ await this.ensureDir(targetDir);
17
+
18
+ const agents = await this.getAgents(wdsDir);
19
+ if (agents.length === 0) throw new Error('No agents found in WDS installation');
20
+
21
+ for (const agent of agents) {
22
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
23
+
24
+ // Write JSON config
25
+ const jsonConfig = {
26
+ name: agent.metadata.name || agent.slug,
27
+ description: agent.metadata.description || 'WDS Agent',
28
+ prompt: `./${agent.slug}-prompt.md`,
29
+ };
30
+ await this.writeFile(path.join(targetDir, `${agent.slug}.json`), JSON.stringify(jsonConfig, null, 2));
31
+
32
+ // Write markdown prompt
33
+ await this.writeFile(path.join(targetDir, `${agent.slug}-prompt.md`), launcher);
34
+ }
35
+
36
+ return { success: true, agents: agents.length };
37
+ }
38
+
39
+ async detect(projectDir) {
40
+ return await this.exists(path.join(projectDir, '.kiro'));
41
+ }
42
+ }
43
+
44
+ module.exports = { KiroCliSetup };
@@ -0,0 +1,218 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('node:path');
3
+ const chalk = require('chalk');
4
+
5
+ /**
6
+ * IDE Manager - handles IDE-specific setup for WDS
7
+ * Dynamically discovers and loads IDE handlers
8
+ */
9
+ class IdeManager {
10
+ constructor() {
11
+ this.handlers = new Map();
12
+ this.loadHandlers();
13
+ this.wdsFolderName = '_bmad/wds'; // Default, can be overridden
14
+ }
15
+
16
+ /**
17
+ * Set the WDS folder name for all IDE handlers
18
+ * @param {string} wdsFolderName - The WDS folder name
19
+ */
20
+ setWdsFolderName(wdsFolderName) {
21
+ this.wdsFolderName = wdsFolderName;
22
+ // Update all loaded handlers
23
+ for (const handler of this.handlers.values()) {
24
+ if (typeof handler.setWdsFolderName === 'function') {
25
+ handler.setWdsFolderName(wdsFolderName);
26
+ }
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Dynamically load all IDE handlers from directory
32
+ */
33
+ loadHandlers() {
34
+ const ideDir = __dirname;
35
+
36
+ try {
37
+ // Get all JS files in the IDE directory
38
+ const files = fs.readdirSync(ideDir).filter((file) => {
39
+ // Skip base class, manager, and utility files (starting with _)
40
+ return file.endsWith('.js') && !file.startsWith('_') && file !== 'manager.js';
41
+ });
42
+
43
+ // Sort alphabetically for consistent ordering
44
+ files.sort();
45
+
46
+ for (const file of files) {
47
+ const moduleName = path.basename(file, '.js');
48
+
49
+ try {
50
+ const modulePath = path.join(ideDir, file);
51
+ const HandlerModule = require(modulePath);
52
+
53
+ // Get the first exported class (handles various export styles)
54
+ const HandlerClass = HandlerModule.default || HandlerModule[Object.keys(HandlerModule)[0]];
55
+
56
+ if (HandlerClass) {
57
+ const instance = new HandlerClass();
58
+ // Use the name property from the instance (set in constructor)
59
+ // Only add if the instance has a valid name
60
+ if (instance.name && typeof instance.name === 'string') {
61
+ this.handlers.set(instance.name, instance);
62
+ } else {
63
+ console.log(chalk.yellow(` Warning: ${moduleName} handler missing valid 'name' property`));
64
+ }
65
+ }
66
+ } catch (error) {
67
+ console.log(chalk.yellow(` Warning: Could not load ${moduleName}: ${error.message}`));
68
+ }
69
+ }
70
+ } catch (error) {
71
+ console.error(chalk.red('Failed to load IDE handlers:'), error.message);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Get all available IDEs with their metadata
77
+ * @returns {Array} Array of IDE information objects
78
+ */
79
+ getAvailableIdes() {
80
+ const ides = [];
81
+
82
+ for (const [key, handler] of this.handlers) {
83
+ // Skip handlers without valid names
84
+ const name = handler.displayName || handler.name || key;
85
+
86
+ // Filter out invalid entries
87
+ if (!key || !name || typeof key !== 'string' || typeof name !== 'string') {
88
+ continue;
89
+ }
90
+
91
+ ides.push({
92
+ value: key,
93
+ name: name,
94
+ preferred: handler.preferred || false,
95
+ });
96
+ }
97
+
98
+ // Sort: preferred first, then alphabetical
99
+ ides.sort((a, b) => {
100
+ if (a.preferred && !b.preferred) return -1;
101
+ if (!a.preferred && b.preferred) return 1;
102
+ return a.name.localeCompare(b.name);
103
+ });
104
+
105
+ return ides;
106
+ }
107
+
108
+ /**
109
+ * Setup IDE integrations for selected IDEs
110
+ * Main method called by installer
111
+ * @param {string} projectDir - Project directory
112
+ * @param {string} wdsDir - WDS installation directory
113
+ * @param {Array<string>} selectedIdes - List of IDE names to setup
114
+ * @param {Object} options - Setup options (logger, etc.)
115
+ * @returns {Object} Results object with success/failure counts
116
+ */
117
+ async setup(projectDir, wdsDir, selectedIdes, options = {}) {
118
+ const results = {
119
+ success: [],
120
+ failed: [],
121
+ skipped: [],
122
+ };
123
+
124
+ const logger = options.logger || console;
125
+
126
+ // Set WDS folder name if provided
127
+ if (options.wdsFolderName) {
128
+ this.setWdsFolderName(options.wdsFolderName);
129
+ }
130
+
131
+ for (const ideName of selectedIdes) {
132
+ const handler = this.handlers.get(ideName.toLowerCase());
133
+
134
+ if (!handler) {
135
+ logger.warn(chalk.yellow(` ⚠ IDE '${ideName}' is not yet supported`));
136
+ results.skipped.push({ ide: ideName, reason: 'unsupported' });
137
+ continue;
138
+ }
139
+
140
+ try {
141
+ logger.log(chalk.dim(` Setting up ${handler.displayName || ideName}...`));
142
+ await handler.setup(projectDir, wdsDir, options);
143
+ results.success.push(ideName);
144
+ logger.log(chalk.green(` ✓ ${handler.displayName || ideName} configured`));
145
+ } catch (error) {
146
+ logger.warn(chalk.yellow(` ⚠ Failed to setup ${ideName}: ${error.message}`));
147
+ results.failed.push({ ide: ideName, error: error.message });
148
+ }
149
+ }
150
+
151
+ // Log summary
152
+ if (results.success.length > 0) {
153
+ logger.log(chalk.dim(` Configured ${results.success.length} IDE(s)`));
154
+ }
155
+
156
+ if (results.failed.length > 0) {
157
+ logger.warn(chalk.yellow(` ${results.failed.length} IDE(s) failed to configure`));
158
+ }
159
+
160
+ return results;
161
+ }
162
+
163
+ /**
164
+ * Cleanup IDE configurations
165
+ * @param {string} projectDir - Project directory
166
+ * @returns {Array} Results for each IDE
167
+ */
168
+ async cleanup(projectDir) {
169
+ const results = [];
170
+
171
+ for (const [name, handler] of this.handlers) {
172
+ try {
173
+ await handler.cleanup(projectDir);
174
+ results.push({ ide: name, success: true });
175
+ } catch (error) {
176
+ results.push({ ide: name, success: false, error: error.message });
177
+ }
178
+ }
179
+
180
+ return results;
181
+ }
182
+
183
+ /**
184
+ * Get list of supported IDEs
185
+ * @returns {Array} List of supported IDE names
186
+ */
187
+ getSupportedIdes() {
188
+ return [...this.handlers.keys()];
189
+ }
190
+
191
+ /**
192
+ * Check if an IDE is supported
193
+ * @param {string} ideName - Name of the IDE
194
+ * @returns {boolean} True if IDE is supported
195
+ */
196
+ isSupported(ideName) {
197
+ return this.handlers.has(ideName.toLowerCase());
198
+ }
199
+
200
+ /**
201
+ * Detect installed IDEs in project
202
+ * @param {string} projectDir - Project directory
203
+ * @returns {Array} List of detected IDEs
204
+ */
205
+ async detectInstalledIdes(projectDir) {
206
+ const detected = [];
207
+
208
+ for (const [name, handler] of this.handlers) {
209
+ if (typeof handler.detect === 'function' && (await handler.detect(projectDir))) {
210
+ detected.push(name);
211
+ }
212
+ }
213
+
214
+ return detected;
215
+ }
216
+ }
217
+
218
+ module.exports = { IdeManager };
@@ -0,0 +1,44 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+
4
+ /**
5
+ * OpenCode IDE setup handler for WDS
6
+ */
7
+ class OpenCodeSetup extends BaseIdeSetup {
8
+ constructor() {
9
+ super('opencode', 'OpenCode', false);
10
+ this.configDir = '.opencode/agent/wds';
11
+ }
12
+
13
+ async setup(projectDir, wdsDir, options = {}) {
14
+ const targetDir = path.join(projectDir, this.configDir);
15
+ await this.ensureDir(targetDir);
16
+
17
+ const agents = await this.getAgents(wdsDir);
18
+ if (agents.length === 0) throw new Error('No agents found in WDS installation');
19
+
20
+ for (const agent of agents) {
21
+ const launcher = this.formatAgentLauncher(agent.name, agent.path);
22
+ const content = this.processContent(launcher, agent.metadata);
23
+ await this.writeFile(path.join(targetDir, `${agent.slug}.md`), content);
24
+ }
25
+
26
+ return { success: true, agents: agents.length };
27
+ }
28
+
29
+ processContent(content, metadata = {}) {
30
+ return `---
31
+ name: ${metadata.name || 'WDS Agent'}
32
+ description: ${metadata.description || 'Agent'}
33
+ mode: agent
34
+ ---
35
+
36
+ ${content}`;
37
+ }
38
+
39
+ async detect(projectDir) {
40
+ return await this.exists(path.join(projectDir, '.opencode'));
41
+ }
42
+ }
43
+
44
+ module.exports = { OpenCodeSetup };