WDS Install errors fixed

This commit is contained in:
Mårten Angner 2026-01-08 14:24:05 +01:00
parent 251c5c5c0c
commit 1a7cf04e3e
22 changed files with 823 additions and 886 deletions

13
package-lock.json generated
View File

@ -244,7 +244,6 @@
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.28.5",
@ -3643,7 +3642,6 @@
"integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"undici-types": "~7.16.0"
}
@ -3983,7 +3981,6 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@ -4290,7 +4287,6 @@
"integrity": "sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@astrojs/compiler": "^2.13.0",
"@astrojs/internal-helpers": "0.7.5",
@ -5358,7 +5354,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@ -6689,7 +6684,6 @@
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@ -10304,7 +10298,6 @@
"integrity": "sha512-p3JTemJJbkiMjXEMiFwgm0v6ym5g8K+b2oDny+6xdl300tUKySxvilJQLSea48C6OaYNmO30kH9KxpiAg5bWJw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"globby": "15.0.0",
"js-yaml": "4.1.1",
@ -12378,7 +12371,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@ -12444,7 +12436,6 @@
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@ -13273,7 +13264,6 @@
"integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/estree": "1.0.8"
},
@ -14837,7 +14827,6 @@
"integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
@ -15111,7 +15100,6 @@
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
"license": "ISC",
"peer": true,
"bin": {
"yaml": "bin.mjs"
},
@ -15303,7 +15291,6 @@
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"dev": true,
"license": "MIT",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}

View File

@ -108,4 +108,3 @@ design_experience:
label: "Intermediate - Familiar with design concepts, balanced approach"
- value: "expert"
label: "Expert - Experienced designer, be direct and efficient"

View File

@ -13,9 +13,7 @@ const chalk = require('chalk');
* @param {Object} options.logger - Logger instance for output
* @returns {Promise<boolean>} - Success status
*/
async function install(options) {
const { projectRoot, config, installedIDEs, logger } = options;
async function install({ projectRoot, installedIDEs, logger }) {
try {
logger.log(chalk.blue('🎨 Installing WDS Module...'));
@ -42,11 +40,11 @@ async function install(options) {
for (const folder of wdsFolders) {
const folderPath = path.join(docsPath, folder);
if (!(await fs.pathExists(folderPath))) {
if (await fs.pathExists(folderPath)) {
logger.log(chalk.dim(`${folder}/ (already exists)`));
} else {
await fs.ensureDir(folderPath);
logger.log(chalk.dim(`${folder}/`));
} else {
logger.log(chalk.dim(`${folder}/ (already exists)`));
}
}

View File

@ -8,6 +8,7 @@ agent:
title: WDS Designer
icon: 🎨
module: wds
hasSidecar: false
persona:
role: Strategic UX Designer + Your Design Thinking Partner
@ -40,49 +41,33 @@ agent:
**Agent References**: When mentioning other WDS agents, always use the format:
"[Name] WDS [Role] Agent" (e.g., "Saga WDS Analyst Agent", "Idunn WDS PM Agent")
micro_guides: |
**When I need detailed guidance, I load these micro-guides:**
principles: |
**Micro-Guides (load when needed):**
- Strategic Design → data/agent-guides/freya/strategic-design.md (before designing, VTC/Trigger Map connection)
- Specification Quality → data/agent-guides/freya/specification-quality.md (creating specs, logical explanations)
- Interactive Prototyping → data/agent-guides/freya/interactive-prototyping.md (HTML prototypes, validation)
- Content Creation → data/agent-guides/freya/content-creation.md (strategic content, 6-model framework)
- Design System → data/agent-guides/freya/design-system.md (Phase 5, organic growth)
**Strategic Design** → data/agent-guides/freya/strategic-design.md
- Before designing anything (connect to VTC, Trigger Map, Customer Awareness)
- VTC connection, driving forces, Golden Circle hierarchy
**Specification Quality** → data/agent-guides/freya/specification-quality.md
- Before creating specs (logical explanations, purpose-based naming)
- Section-first workflow, multi-language, developer trust
**Interactive Prototyping** → data/agent-guides/freya/interactive-prototyping.md
- When creating HTML prototypes (prototypes as thinking tools)
- Validation process, fidelity levels, Design System integration
**Content Creation** → data/agent-guides/freya/content-creation.md
- Before creating strategic content (headlines, features, sections)
- 6-model framework, workshop vs quick mode, content purpose
**Design System** → data/agent-guides/freya/design-system.md
- When Phase 5 enabled (organic growth, opportunity/risk assessment)
- Three modes, component operations, foundation first
principles:
workflow_management: |
**Workflow Management:**
- On activation: Check conversations (conversation-persistence/check-conversations.md)
- Before work: Check task appropriateness (task-reflection.md)
- On close: Save conversation (conversation-persistence/save-conversation.md)
- Show presentation (freya-presentation.md), then project analysis (project-analysis-router.md)
collaboration: |
**Collaboration:**
- My domain: Phases 4 (UX Design), 5 (Design System - optional), 7 (Testing)
- Other domains: Hand over seamlessly to specialized agent
- BMM overlap: I replace Sally (UX Designer) when WDS is installed
core_approach: |
**Core Approach:**
- Load strategic context BEFORE designing (micro-guide: strategic-design.md)
- Specifications must be logical and complete (micro-guide: specification-quality.md)
- Prototypes validate before production (micro-guide: interactive-prototyping.md)
- Content is strategic, not decorative (micro-guide: content-creation.md)
- Design systems grow organically (micro-guide: design-system.md if Phase 5)
project_tracking: |
**Project Tracking:**
- Update project outline when completing work
- Use specific file names: [TOPIC]-GUIDE.md, never generic README.md
- See: workflows/00-system/FILE-NAMING-CONVENTIONS.md

View File

@ -8,6 +8,7 @@ agent:
title: WDS Product Manager
icon: 📋
module: wds
hasSidecar: false
persona:
role: Strategic Product Manager + Technical Coordinator + Handoff Specialist
@ -32,37 +33,30 @@ agent:
**Agent References**: When mentioning other WDS agents, use: "[Name] WDS [Role] Agent"
micro_guides: |
**When I need detailed guidance, I load these micro-guides:**
principles: |
**Micro-Guides (load when needed):**
- Platform Requirements → data/agent-guides/idunn/platform-requirements.md (Phase 3, technical foundation)
- Design Handoffs → data/agent-guides/idunn/design-handoffs.md (Phase 6, BMM handoff preparation)
**Platform Requirements** → data/agent-guides/idunn/platform-requirements.md
- During Phase 3 or technical foundation work
- Architecture, data model, integrations, security, performance, constraints
**Design Handoffs** → data/agent-guides/idunn/design-handoffs.md
- During Phase 6 or preparing BMM handoff
- DD-XXX files, complete PRD, acceptance criteria, continuous handoff pattern
principles:
workflow_management: |
**Workflow Management:**
- On activation: Check conversations (conversation-persistence/check-conversations.md)
- Before work: Check task appropriateness (task-reflection.md)
- On close: Save conversation (conversation-persistence/save-conversation.md)
- Show presentation (idunn-presentation.md), then project analysis (project-analysis/instructions.md)
collaboration: |
**Collaboration:**
- My domain: Phases 3 (Platform Requirements), 6 (Design Deliveries)
- Other domains: Hand over seamlessly to specialized agent
- Note: I do NOT replace BMM PM Agent (different focus: technical foundation + handoffs)
core_approach: |
**Core Approach:**
- Technical foundation in parallel with design (micro-guide: platform-requirements.md)
- Package complete flows for BMM handoff (micro-guide: design-handoffs.md)
- Reference, don't duplicate (link to requirements, don't copy)
- Organize by value (epic-based, testable units)
- Continuous handoff pattern (don't wait for everything)
project_tracking: |
**Project Tracking:**
- Update project outline when completing work
- File naming: [TOPIC]-GUIDE.md, DD-XXX-[epic-name].yaml
- See: workflows/00-system/FILE-NAMING-CONVENTIONS.md

View File

@ -8,7 +8,7 @@ agent:
title: WDS Analyst
icon: 📚
module: wds
version: "1.0.0"
hasSidecar: false
persona:
role: Strategic Business Analyst + Product Discovery Partner
@ -38,54 +38,44 @@ agent:
**Agent References**: When mentioning other WDS agents, use: "[Name] WDS [Role] Agent"
micro_guides: |
**When I need detailed guidance, I load these micro-guides:**
principles: |
**Micro-Guides (load when needed):**
- Discovery Conversation → data/agent-guides/saga/discovery-conversation.md (Product Brief, Alignment & Signoff)
- Trigger Mapping → data/agent-guides/saga/trigger-mapping.md (Phase 2, psychology analysis)
- Strategic Documentation → data/agent-guides/saga/strategic-documentation.md (documentation creation)
**Discovery Conversation** → data/agent-guides/saga/discovery-conversation.md
- During Product Brief, Alignment & Signoff, or any discovery work
- Natural listening pattern, reflection techniques, handling different user types
**Working Rhythm:**
1. You share an idea or question
2. I listen and reflect back naturally (in my own words)
3. I confirm understanding, then wait for your confirmation
4. Once confirmed, we explore solutions together
5. I structure insights into clear documentation
**Trigger Mapping** → data/agent-guides/saga/trigger-mapping.md
- During Phase 2 or psychology analysis
- Business goals → users → driving forces, Feature Impact Analysis
**Strategic Documentation** → data/agent-guides/saga/strategic-documentation.md
- When creating Product Brief, Project Outline, or documentation
- File naming, absolute paths, precision standards, maintenance
principles:
workflow_management: |
**Workflow Management:**
- On activation: Check conversations (conversation-persistence/check-conversations.md)
- Before work: Check task appropriateness (task-reflection.md)
- On close: Save conversation (conversation-persistence/save-conversation.md)
- Show presentation (saga-presentation.md), then project analysis (project-analysis/instructions.md)
collaboration: |
**Collaboration:**
- My domain: Phases 1 (Product Brief), 2 (Trigger Mapping)
- Other domains: Hand over seamlessly to specialized agent
- BMM overlap: I replace Mary (Analyst) when WDS is installed
core_approach: |
**Core Approach:**
- Discovery through conversation (micro-guide: discovery-conversation.md)
- Connect business to psychology (micro-guide: trigger-mapping.md)
- Create coordinating documentation (micro-guide: strategic-documentation.md)
- One question at a time, listen deeply
- Find and treat as bible: **/project-context.md
project_tracking: |
**Project Tracking:**
- Create project outline during Product Brief (10 micro-steps)
- Use absolute paths: docs/A-Product-Brief/, docs/B-Trigger-Map/
- Alliterative persona names: Harriet the Hairdresser, Marcus Manager
- File naming: [TOPIC]-GUIDE.md, never generic README.md
- See: workflows/00-system/FILE-NAMING-CONVENTIONS.md
working_rhythm: |
1. You share an idea or question
2. I listen and reflect back naturally (in my own words)
3. I confirm understanding, then wait for your confirmation
4. Once confirmed, we explore solutions together
5. I structure insights into clear documentation
menu:
- trigger: workflow-status
workflow: "{project-root}/{bmad_folder}/wds/workflows/workflow-status/workflow.yaml"

View File

@ -108,4 +108,3 @@ current_scenario:
- "Testimonials Section"
- "CTA Section"
- "Footer Section"

View File

@ -2,7 +2,7 @@
**Master the complete WDS methodology and become indispensable as a designer in the AI era**
https://www.youtube.com/watch?v=CQ5Aai_r-uo
[Watch the Course Introduction Video](https://www.youtube.com/watch?v=CQ5Aai_r-uo)
---

View File

@ -1,7 +1,7 @@
# YouTube Show Notes: Module 00 - Getting Started with WDS
**Video Link:**
https://youtu.be/qYPYx01YLUc
<https://youtu.be/qYPYx01YLUc>
**Video Title:**
Getting Started with Whiteport Design Studio - Your Path to Becoming a Linchpin Designer
@ -61,27 +61,27 @@ _To be added after video production based on transcript_
### **This Module**
📖 **Module 00 Overview:** Getting Started Guide
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview/00-getting-started-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview/00-getting-started-overview.md>
### **Get Started with WDS**
🌊 **WDS Presentation Page:** Learn about the methodology
https://whiteport.com/whiteport-design-studio/
<https://whiteport.com/whiteport-design-studio/>
🛠️ **Installation Guide:** Download IDE, Install WDS
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md>
📖 **Quick Start:** Get up and running fast
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/quick-start.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/quick-start.md>
📖 **About WDS:** Philosophy and approach
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/about-wds.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/about-wds.md>
### **Community & Support**
💬 **BMad Discord:** Real designers helping each other
[Discord invite link]
📖 **GitHub Discussions:** Ask questions, share your journey
https://github.com/whiteport-collective/whiteport-design-studio/discussions
<https://github.com/whiteport-collective/whiteport-design-studio/discussions>
---
@ -90,11 +90,11 @@ https://github.com/whiteport-collective/whiteport-design-studio/discussions
**◀️ Previous Module:** _This is the first module_
**▶️ Next Module:** Module 01 - Why WDS Matters
📺 Video: https://www.youtube.com/watch?v=Xhw5JB7mpxw
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md
📺 Video: <https://www.youtube.com/watch?v=Xhw5JB7mpxw>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md>
**📚 Full Course Overview:**
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md>
---

View File

@ -1,7 +1,7 @@
# YouTube Show Notes: Module 01 - Why WDS Matters
**Video Link:**
https://www.youtube.com/watch?v=Xhw5JB7mpxw
<https://www.youtube.com/watch?v=Xhw5JB7mpxw>
**Video Title:**
Module 01: Why WDS Matters - Are You a Factory Worker or a Linchpin Designer?
@ -55,43 +55,43 @@ _To be added after video production based on transcript_
### **This Module**
📖 **Module 01 Overview:** Complete lesson structure
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md>
### **Get Started with WDS**
🌊 **WDS Presentation Page:** Learn about the methodology
https://whiteport.com/whiteport-design-studio/
<https://whiteport.com/whiteport-design-studio/>
🛠️ **Installation Guide:** Download IDE, Install WDS
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md>
📖 **About WDS:** Philosophy and approach
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/about-wds.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/about-wds.md>
### **Recommended Reading**
📚 **Book:** "Linchpin: Are You Indispensable?" by Seth Godin (2010)
https://www.amazon.com/Linchpin-Are-You-Indispensable-ebook/dp/B00354Y9ZU
<https://www.amazon.com/Linchpin-Are-You-Indispensable-ebook/dp/B00354Y9ZU>
### **Community & Support**
💬 **BMad Discord:** Join other linchpin designers
[Discord invite link]
📖 **GitHub Discussions:** Ask questions, share your journey
https://github.com/whiteport-collective/whiteport-design-studio/discussions
<https://github.com/whiteport-collective/whiteport-design-studio/discussions>
---
## 🎓 Course Navigation
**◀️ Previous Module:** Module 00 - Getting Started
📺 Video: https://youtu.be/qYPYx01YLUc
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview/00-getting-started-overview.md
📺 Video: <https://youtu.be/qYPYx01YLUc>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview/00-getting-started-overview.md>
**▶️ Next Module:** Module 02 - Installation & Setup
📺 Video: https://www.youtube.com/watch?v=tYifpxFVVks
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md
📺 Video: <https://www.youtube.com/watch?v=tYifpxFVVks>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md>
**📚 Full Course Overview:**
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md>
---

View File

@ -1,7 +1,7 @@
# YouTube Show Notes: Module 02 - Installation & Setup
**Video Link:**
https://www.youtube.com/watch?v=tYifpxFVVks
<https://www.youtube.com/watch?v=tYifpxFVVks>
**Video Title:**
Module 02: Installation & Setup - From Zero to WDS-Ready in Under an Hour
@ -121,44 +121,44 @@ Your 8-phase WDS methodology folders:
### **This Module**
📖 **Module 02 Overview:** Complete lesson structure
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md>
### **Get Started with WDS**
🌊 **WDS Presentation Page:** Learn about the methodology
https://whiteport.com/whiteport-design-studio/
<https://whiteport.com/whiteport-design-studio/>
🛠️ **Installation Guide:** Download IDE, Install WDS
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md>
📖 **Quick Start:** Get up and running fast
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/quick-start.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/quick-start.md>
### **Download Links**
📥 **Download Cursor:** https://cursor.sh
📥 **Download VS Code:** https://code.visualstudio.com
📥 **GitHub:** https://github.com
📥 **Download Cursor:** <https://cursor.sh>
📥 **Download VS Code:** <https://code.visualstudio.com>
📥 **GitHub:** <https://github.com>
### **Community & Support**
💬 **BMad Discord:** Real designers helping each other
[Discord invite link]
📖 **GitHub Discussions:** Ask questions, share your setup
https://github.com/whiteport-collective/whiteport-design-studio/discussions
<https://github.com/whiteport-collective/whiteport-design-studio/discussions>
---
## 🎓 Course Navigation
**◀️ Previous Module:** Module 01 - Why WDS Matters
📺 Video: https://www.youtube.com/watch?v=Xhw5JB7mpxw
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md
📺 Video: <https://www.youtube.com/watch?v=Xhw5JB7mpxw>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md>
**▶️ Next Module:** Module 03 - Alignment & Signoff
📺 Video: https://www.youtube.com/watch?v=TKjOLlU8UCE
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/module-03-overview.md
📺 Video: <https://www.youtube.com/watch?v=TKjOLlU8UCE>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/module-03-overview.md>
**📚 Full Course Overview:**
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md>
---

View File

@ -1,7 +1,7 @@
# YouTube Show Notes: Module 03 - Alignment & Signoff
**Video Link:**
https://www.youtube.com/watch?v=TKjOLlU8UCE
<https://www.youtube.com/watch?v=TKjOLlU8UCE>
**Video Title:**
Module 03: Alignment & Signoff - Get Stakeholder Buy-In for Your Design Projects
@ -58,49 +58,49 @@ _To be added after video production based on transcript_
### **This Module**
📖 **Module 03 Overview:** Complete lesson structure
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/module-03-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/module-03-overview.md>
📖 **Tutorial 03:** Step-by-step hands-on guide
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/tutorial-03.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-03-alignment-signoff/tutorial-03.md>
### **Deliverable Documentation**
📖 **Project Pitch:** What it is and how to create it
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/deliverables/project-pitch.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/deliverables/project-pitch.md>
📖 **Service Agreement:** Contract templates and guidance
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/deliverables/service-agreement.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/deliverables/service-agreement.md>
### **WDS Workflows**
📖 **Alignment & Signoff Workflow:** Complete process guide
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/workflows/1-project-brief/alignment-signoff/workflow.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/workflows/1-project-brief/alignment-signoff/workflow.md>
### **Get Started with WDS**
🌊 **WDS Presentation Page:** Learn about the methodology
https://whiteport.com/whiteport-design-studio/
<https://whiteport.com/whiteport-design-studio/>
🛠️ **Installation Guide:** Download IDE, Install WDS
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/getting-started/installation.md>
### **Community & Support**
💬 **BMad Discord:** Share alignment documents, ask questions about contracts
[Discord invite link]
📖 **GitHub Discussions:** Ask questions, share your journey
https://github.com/whiteport-collective/whiteport-design-studio/discussions
<https://github.com/whiteport-collective/whiteport-design-studio/discussions>
---
## 🎓 Course Navigation
**◀️ Previous Module:** Module 02 - Installation & Setup
📺 Video: https://www.youtube.com/watch?v=tYifpxFVVks
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md
📺 Video: <https://www.youtube.com/watch?v=tYifpxFVVks>
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-02-installation-setup/module-02-overview.md>
**▶️ Next Module:** Module 04 - Product Brief (Coming Soon)
📖 Documentation: https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-04-product-brief/tutorial-04.md
📖 Documentation: <https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/module-04-product-brief/tutorial-04.md>
**📚 Full Course Overview:**
https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md
<https://github.com/whiteport-collective/whiteport-design-studio/blob/main/src/modules/wds/docs/learn-wds/00-course-overview.md>
---

View File

@ -31,7 +31,7 @@ project_structure:
delivery:
format: "{{delivery_format}}" # prd | wordpress | figma | prototype | direct-code | other
target_platform: "{{target_platform}}" # wordpress | react | vue | html | custom
requires_prd: {{requires_prd}} # true | false
requires_prd: "{{requires_prd}}" # true | false
description: "{{delivery_description}}"
# Examples:
# - "WordPress page editor code with markup and content sections"
@ -43,10 +43,10 @@ config:
folder_prefix: "{{folder_prefix}}" # letters or numbers
folder_case: "{{folder_case}}" # title or lowercase
brief_level: "{{brief_level}}" # simplified or complete
include_design_system: { { include_design_system } }
include_design_system: "{{include_design_system}}"
component_library: "{{component_library}}"
specification_language: "{{specification_language}}" # Language for writing specs (EN, SE, etc.)
product_languages: { { product_languages } } # Array of languages product supports
product_languages: "{{product_languages}}" # Array of languages product supports
# Folder mapping (generated based on config)
folders:

View File

@ -8,7 +8,7 @@
---
### 1. The Realization
## 1. The Realization
**Framework**: Problem-Agitate-Solve (PAS) - Start here
@ -45,7 +45,7 @@
---
### 2. Why It Matters
## 2. Why It Matters
**Framework**: Value Proposition Canvas + Impact - Understanding why this matters and who we help
@ -65,7 +65,7 @@
---
### 3. How We See It Working
## 3. How We See It Working
**Questions to explore**:
- "How do you envision this working?"
@ -78,7 +78,7 @@
---
### 4. Paths We Explored
## 4. Paths We Explored
**Questions to explore**:
- "What other ways could we approach this?"
@ -91,7 +91,7 @@
---
### 5. Recommended Solution
## 5. Recommended Solution
**Questions to explore**:
- "Which approach do you prefer?"
@ -102,7 +102,7 @@
---
### 6. The Path Forward
## 6. The Path Forward
**Purpose**: Explain how the work will be done practically - which WDS phases will be used and the workflow approach.
@ -130,7 +130,7 @@
---
### 7. The Value We'll Create
## 7. The Value We'll Create
**Framework**: Business Case Framework - What's the return?
@ -157,7 +157,7 @@
---
### 8. Cost of Inaction
## 8. Cost of Inaction
**Framework**: Problem-Agitate-Solve (PAS) - Agitate the problem / Business Case Framework
@ -181,7 +181,7 @@
---
### 9. Our Commitment
## 9. Our Commitment
**Framework**: Business Case Framework - What are we committing to?
@ -201,7 +201,7 @@
---
### 10. Summary
## 10. Summary
**Questions to explore**:
- "What are the key points?"

View File

@ -1,3 +1,6 @@
/* eslint-disable n/no-unsupported-features/node-builtins */
/* global document, window */
/**
* PROTOTYPE DEV MODE
*
@ -40,21 +43,28 @@ let currentHighlightedElement = null;
// ============================================================================
function initDevMode() {
const toggleButton = document.getElementById('dev-mode-toggle');
const tooltip = document.getElementById('dev-mode-tooltip');
const toggleButton = document.querySelector('#dev-mode-toggle');
const tooltip = document.querySelector('#dev-mode-tooltip');
if (!toggleButton || !tooltip) {
console.warn('⚠️ Dev Mode: Toggle button or tooltip not found');
return;
}
// Check if user agent supports clipboard API
if (typeof navigator !== 'undefined' && navigator.clipboard) {
// Clipboard API available
} else {
console.warn('⚠️ Clipboard API not supported in this browser');
return;
}
setupKeyboardShortcuts();
setupToggleButton(toggleButton, tooltip);
setupHoverHighlight(tooltip);
setupClickCopy();
console.log('%c💡 Dev Mode available: Press Ctrl+E or click the Dev Mode button',
'color: #0066CC; font-weight: bold;');
console.log('%c💡 Dev Mode available: Press Ctrl+E or click the Dev Mode button', 'color: #0066CC; font-weight: bold;');
}
// ============================================================================
@ -63,7 +73,7 @@ function initDevMode() {
function setupKeyboardShortcuts() {
// Track Shift key for container selection
document.addEventListener('keydown', function(e) {
document.addEventListener('keydown', (e) => {
if (e.key === 'Shift') {
// Don't activate if user is typing in a form field
if (isTypingInField()) {
@ -73,25 +83,23 @@ function setupKeyboardShortcuts() {
shiftKeyPressed = true;
document.body.classList.add('shift-held');
if (devModeActive) {
console.log('%c⬆ Shift held: Click any element to copy its Object ID',
'color: #10B981; font-weight: bold;');
console.log('%c⬆ Shift held: Click any element to copy its Object ID', 'color: #10B981; font-weight: bold;');
}
}
// Ctrl+E toggle
if (e.ctrlKey && e.key === 'e') {
e.preventDefault();
document.getElementById('dev-mode-toggle')?.click();
document.querySelector('#dev-mode-toggle')?.click();
}
});
document.addEventListener('keyup', function(e) {
document.addEventListener('keyup', (e) => {
if (e.key === 'Shift') {
shiftKeyPressed = false;
document.body.classList.remove('shift-held');
if (devModeActive) {
console.log('%c⬇ Shift released: Prototype works normally (hold Shift to copy)',
'color: #6b7280;');
console.log('%c⬇ Shift released: Prototype works normally (hold Shift to copy)', 'color: #6b7280;');
}
}
});
@ -102,8 +110,13 @@ function setupKeyboardShortcuts() {
// ============================================================================
function setupToggleButton(toggleButton, tooltip) {
toggleButton.addEventListener('click', function(e) {
toggleButton.addEventListener('click', function (e) {
e.stopPropagation();
if (typeof globalThis !== 'undefined') {
globalThis.devModeActive = true;
} else if (globalThis.window !== undefined) {
globalThis.devModeActive = true;
}
devModeActive = !devModeActive;
// Update UI
@ -138,7 +151,7 @@ function setupToggleButton(toggleButton, tooltip) {
function setupHoverHighlight(tooltip) {
// Show tooltip and highlight on hover
document.addEventListener('mouseover', function(e) {
document.addEventListener('mouseover', function (e) {
if (!devModeActive) return;
// Don't highlight if user is typing in a field
@ -172,14 +185,14 @@ function setupHoverHighlight(tooltip) {
});
// Update tooltip position on mouse move
document.addEventListener('mousemove', function(e) {
document.addEventListener('mousemove', function (e) {
if (devModeActive && tooltip.style.display === 'block') {
updateTooltipPosition(e, tooltip);
}
});
// Clear highlight on mouse out
document.addEventListener('mouseout', function(e) {
document.addEventListener('mouseout', function (e) {
if (!devModeActive) return;
if (e.target.id) {
tooltip.style.display = 'none';
@ -194,7 +207,9 @@ function setupHoverHighlight(tooltip) {
function setupClickCopy() {
// Use capture phase to intercept clicks with Shift
document.addEventListener('click', function(e) {
document.addEventListener(
'click',
function (e) {
if (!devModeActive) return;
// Allow toggle button to work normally
@ -231,7 +246,9 @@ function setupClickCopy() {
showCopyFeedback(element, objectId);
return false;
}, true); // Capture phase
},
true,
); // Capture phase
}
// ============================================================================
@ -250,58 +267,13 @@ function findElementWithId(element) {
return current;
}
function findParentContainer(element) {
let current = element;
const maxLevels = 10;
let level = 0;
// Try to find semantic container parent first
while (current && current.id !== 'app' && level < maxLevels) {
if (current.parentElement && current.parentElement.id) {
const parentId = current.parentElement.id;
const parent = current.parentElement;
// Prefer semantic containers
if (parentId.includes('section') ||
parentId.includes('content') ||
parentId.includes('container') ||
parentId.includes('group') ||
parentId.includes('tabs') ||
parentId.includes('widget') ||
parentId.includes('modal') ||
parent.classList.contains('section') ||
parent.classList.contains('container') ||
parent.classList.contains('group')) {
return parent;
}
}
current = current.parentElement;
level++;
}
// Fallback: find any parent with ID
current = element.parentElement;
level = 0;
while (current && level < maxLevels) {
if (current.id && current.id !== 'app') {
return current;
}
current = current.parentElement;
level++;
}
return element;
}
function isSystemElement(id) {
const systemIds = ['app', 'dev-mode-toggle', 'dev-mode-tooltip'];
return systemIds.includes(id);
}
function isToggleButton(element) {
return element.id === 'dev-mode-toggle' ||
element.closest('#dev-mode-toggle') ||
element.classList.contains('dev-mode-toggle');
return element.id === 'dev-mode-toggle' || element.closest('#dev-mode-toggle') || element.classList.contains('dev-mode-toggle');
}
function isTypingInField() {
@ -312,10 +284,7 @@ function isTypingInField() {
const isEditable = activeElement.isContentEditable;
// Check if user is currently typing in a form field
return tagName === 'input' ||
tagName === 'textarea' ||
tagName === 'select' ||
isEditable;
return tagName === 'input' || tagName === 'textarea' || tagName === 'select' || isEditable;
}
function isFormElement(element) {
@ -325,10 +294,7 @@ function isFormElement(element) {
const isEditable = element.isContentEditable;
// Check if the clicked element is a form element
return tagName === 'input' ||
tagName === 'textarea' ||
tagName === 'select' ||
isEditable;
return tagName === 'input' || tagName === 'textarea' || tagName === 'select' || isEditable;
}
function highlightElement(element, isShiftHeld) {
@ -370,13 +336,14 @@ function updateTooltipPosition(e, tooltip) {
}
function copyToClipboard(text) {
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text)
if (typeof navigator !== 'undefined' && navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard
.writeText(text)
.then(() => {
console.log(`📋 Copied to clipboard: ${text}`);
})
.catch(err => {
console.error('Failed to copy:', err);
.catch((error) => {
console.error('Dev Mode error:', error);
fallbackCopy(text);
});
} else {
@ -389,18 +356,18 @@ function fallbackCopy(text) {
textarea.value = text;
textarea.style.position = 'fixed';
textarea.style.left = '-999999px';
document.body.appendChild(textarea);
document.body.append(textarea);
textarea.focus();
textarea.select();
try {
document.execCommand('copy');
console.log(`📋 Copied (fallback): ${text}`);
} catch (err) {
console.error('Fallback copy failed:', err);
} catch (error) {
console.error('Dev Mode error:', error);
}
document.body.removeChild(textarea);
textarea.remove();
}
function showCopyFeedback(element, objectId) {
@ -424,10 +391,10 @@ function showCopyFeedback(element, objectId) {
pointer-events: none;
`;
document.body.appendChild(feedback);
document.body.append(feedback);
setTimeout(() => {
document.body.removeChild(feedback);
feedback.remove();
}, 1500);
// Flash element
@ -448,17 +415,16 @@ style.textContent = `
100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); }
}
`;
document.head.appendChild(style);
document.head.append(style);
// ============================================================================
// EXPORT
// ============================================================================
// Make available globally
window.initDevMode = initDevMode;
globalThis.initDevMode = initDevMode;
// Auto-initialize if this is included as module
if (typeof module !== 'undefined' && module.exports) {
module.exports = { initDevMode };
// Export for use in other scripts
if (typeof globalThis !== 'undefined' && globalThis.exports) {
globalThis.exports = { initDevMode };
}

View File

@ -51,11 +51,11 @@ design_tokens:
tailwind_config:
theme_extend:
colors:
'[project-name]':
50: '#eff6ff'
500: '#2563eb'
600: '#1d4ed8'
700: '#1e40af'
"[project-name]":
50: "#eff6ff"
500: "#2563eb"
600: "#1d4ed8"
700: "#1e40af"
fontFamily:
sans: "['Inter', 'system-ui', 'sans-serif']"
@ -200,34 +200,34 @@ navigation:
testing_checklist:
functionality:
- [ ] All form fields work
- [ ] Validation shows errors correctly
- [ ] Submit button works
- [ ] Loading states display
- [ ] Success feedback shows
- [ ] Error handling works
- [ ] Navigation works (back, next)
- [ ] Data persists (reload page test)
- "[ ] All form fields work"
- "[ ] Validation shows errors correctly"
- "[ ] Submit button works"
- "[ ] Loading states display"
- "[ ] Success feedback shows"
- "[ ] Error handling works"
- "[ ] Navigation works (back, next)"
- "[ ] Data persists (reload page test)"
mobile_testing:
- [ ] Viewport is correct width
- [ ] All tap targets min 44x44px
- [ ] Text is readable (min 16px)
- [ ] No horizontal scroll
- [ ] Touch gestures work (if applicable)
- "[ ] Viewport is correct width"
- "[ ] All tap targets min 44x44px"
- "[ ] Text is readable (min 16px)"
- "[ ] No horizontal scroll"
- "[ ] Touch gestures work (if applicable)"
code_quality:
- [ ] All Object IDs present
- [ ] Console logs helpful
- [ ] No console errors
- [ ] Tailwind classes properly used
- [ ] Functions documented
- "[ ] All Object IDs present"
- "[ ] Console logs helpful"
- "[ ] No console errors"
- "[ ] Tailwind classes properly used"
- "[ ] Functions documented"
accessibility:
- [ ] Keyboard navigation works
- [ ] Form labels present
- [ ] Error messages clear
- [ ] Focus states visible
- "[ ] Keyboard navigation works"
- "[ ] Form labels present"
- "[ ] Error messages clear"
- "[ ] Focus states visible"
# ============================================================================
# MIGRATION NOTES (for production)
@ -262,4 +262,3 @@ definition_of_done:
- "No console errors"
- "Code is clean"
- "Story files document all sections"

View File

@ -0,0 +1,18 @@
---
name: UX Design Workflow
description: Transform ideas into detailed visual specifications through scenario-driven design using step-file architecture
main_config: "{project-root}/{bmad_folder}/wds/config.yaml"
web_bundle: true
---
# Workflow configuration for UX Design process
# This workflow handles the complete UX design phase from concept to implementation
phases:
- phase_1_project_brief
- phase_2_trigger_mapping
- phase_3_prd_platform
- phase_4_ux_design
- phase_5_design_system
- phase_6_design_deliveries
- phase_7_testing
- phase_8_ongoing_development

View File

@ -4,4 +4,15 @@ description: Transform ideas into detailed visual specifications through scenari
main_config: "{project-root}/{bmad_folder}/wds/config.yaml"
web_bundle: true
---
# Workflow configuration for UX Design process
# This workflow handles the complete UX design phase from concept to implementation
phases:
- phase_1_project_brief
- phase_2_trigger_mapping
- phase_3_prd_platform
- phase_4_ux_design
- phase_5_design_system
- phase_6_design_deliveries
- phase_7_testing
- phase_8_ongoing_development

View File

@ -32,7 +32,6 @@ vtc:
# What motivates this user?
# ==========================================
driving_forces:
# Positive: Wishes, aspirations, what they want to achieve
positive:
- "Wish to be the local beauty authority"

View File

@ -20,12 +20,12 @@ project:
# Design System Configuration
design_system:
enabled: { { DESIGN_SYSTEM_ENABLED } } # true | false
enabled: "{{DESIGN_SYSTEM_ENABLED}}" # true | false
mode: "{{DESIGN_SYSTEM_MODE}}" # "none" | "custom" | "library"
# If mode: custom
figma:
enabled: { { FIGMA_ENABLED } } # true | false
enabled: "{{FIGMA_ENABLED}}" # true | false
file_url: "{{FIGMA_URL}}" # Figma file URL (if applicable)
# If mode: library
@ -39,17 +39,17 @@ sketching:
# If tool: excalidraw
excalidraw:
enabled: { { EXCALIDRAW_ENABLED } } # true | false
enabled: "{{EXCALIDRAW_ENABLED}}" # true | false
# Auto-export to PNG/SVG on save
auto_export: { { AUTO_EXPORT } } # true | false
auto_export: "{{AUTO_EXPORT}}" # true | false
# Load WDS component library
use_library: { { USE_LIBRARY } } # true | false
use_library: "{{USE_LIBRARY}}" # true | false
# Grid settings
grid_size: { { GRID_SIZE } } # pixels (recommended: 20)
snap_to_grid: { { SNAP_TO_GRID } } # true | false
grid_size: "{{GRID_SIZE}}" # pixels (recommended: 20)
snap_to_grid: "{{SNAP_TO_GRID}}" # true | false
# Default theme
theme: "{{THEME}}" # "light" | "dark"
@ -69,13 +69,13 @@ output:
workflow:
# Phase 4: UX Design
ux_design:
sketch_first: { { SKETCH_FIRST } } # true | false
ai_suggestions: { { AI_SUGGESTIONS } } # true | false
sketch_first: "{{SKETCH_FIRST}}" # true | false
ai_suggestions: "{{AI_SUGGESTIONS}}" # true | false
# Phase 5: Design System
design_system:
auto_extract: { { AUTO_EXTRACT } } # true | false
similarity_threshold: { { SIMILARITY_THRESHOLD } } # 0.0-1.0 (recommended: 0.7)
auto_extract: "{{AUTO_EXTRACT}}" # true | false
similarity_threshold: "{{SIMILARITY_THRESHOLD}}" # 0.0-1.0 (recommended: 0.7)
# Team Configuration
team:

View File

@ -108,7 +108,7 @@ phases:
{{USER_INTENT_PHASE_4}}
# Scenario-level tracking
scenarios:
scenarios: []
# Example structure - populated as scenarios are created:
# - id: "01-customer-onboarding"
# name: "Customer Onboarding"
@ -267,171 +267,163 @@ update_history:
# phase: "phase_4_ux_design"
# changes: "Started Scenario 01: Customer Onboarding"
---
# ============================================================================
# AGENT INSTRUCTIONS FOR USING THIS FILE
# ============================================================================
## During Project Initiation (Saga WDS Analyst Agent):
**When creating the Product Brief**, walk through each phase and ask about user intentions:
### Phase 1: Project Brief (Always included)
*No question - this is where we are now!*
### Phase 2: Trigger Mapping
**Ask**: "What are your intentions for Trigger Mapping? This phase helps us identify target users, personas, and business goals.
Is this a customer-facing product where understanding user triggers is critical? Or an internal tool where we might skip this phase?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_2}}`
**Decision**: Set `active: true` or `active: false` based on answer
### Phase 3: PRD Platform
**Ask**: "What are your intentions for the technical foundation? Do you already have a tech stack in mind, or do you need help defining the architecture, data model, and infrastructure requirements?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_3}}`
### Phase 4: UX Design
**Ask**: "What are your intentions for UX Design? How many user scenarios or flows do you envision? Are you thinking MVP-focused (2-3 core scenarios) or comprehensive (5+ scenarios)?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_4}}`
**Note**: Also capture estimated `scenarios_planned` number
### Phase 5: Design System
**Ask**: "What are your intentions for a Design System? Are you:
- Using an existing component library (shadcn/ui, MUI)?
- Building custom components?
- Creating a multi-product design system?
- Skipping this for MVP?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_5}}`
**Decision**: Set `active: false` if skipping, add `skip_reason`
### Phase 6: Design Deliveries
**Ask**: "What are your intentions for design deliveries? Will you be handing off to a development team, or implementing directly from specifications?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_6}}`
### Phase 7: Testing
**Ask**: "What are your intentions for testing? Do you want to validate the implementation against design specs, or handle testing separately?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_7}}`
### Phase 8: Ongoing Development
**Ask**: "Is this a new product or an existing product needing improvements?"
**Capture**: User's answer → `{{USER_INTENT_PHASE_8}}`
**Decision**: Set `active: false` for new products
---
## On Agent Activation (ALL WDS Agents):
1. **CHECK** if `.wds-project-outline.yaml` exists in docs/ or project root
2. **READ** the outline to understand:
- Which phases are active
- User's intentions for each phase
- Current status of each phase
- What work has been completed
- What work is next
3. **SKIP** analysis of inactive phases (active: false)
4. **REPORT** status based on outline (much faster than folder scanning)
---
## When Starting Scenario Work (Freya WDS Designer Agent):
Add new scenario to the outline:
```yaml
scenarios:
- id: "01-customer-onboarding"
name: "Customer Onboarding"
status: "in_progress"
pages_planned: 9
pages_specified: 0
pages_implemented: 0
started_date: "2024-12-10"
completed_date: null
intent: "Onboard new users from landing page to active family"
artifacts: []
```
---
## When Completing Scenario Work (Freya WDS Designer Agent):
Update scenario status:
```yaml
- id: "01-customer-onboarding"
name: "Customer Onboarding"
status: "complete"
pages_planned: 9
pages_specified: 9
pages_implemented: 5
started_date: "2024-12-01"
completed_date: "2024-12-08"
intent: "Onboard new users from landing page to active family"
artifacts:
- "docs/4-ux-design/01-customer-onboarding/00-scenario-overview.md"
- "docs/4-ux-design/01-customer-onboarding/1.1-start-page.md"
- "docs/4-ux-design/01-customer-onboarding/sketches/*.excalidraw"
```
Update phase-level counters:
```yaml
scenarios_complete: 1 # Increment
```
---
## When Starting/Completing Phase Work (ALL Agents):
**Starting:**
```yaml
status: "in_progress"
started_date: "2024-12-10"
```
**Completing:**
```yaml
status: "complete"
completed_date: "2024-12-10"
completed_by: "Freya WDS Designer Agent"
artifacts:
- "docs/4-ux-design/01-onboarding/*.md"
```
Add update history entry:
```yaml
update_history:
- date: "2024-12-10"
agent: "freya-designer"
action: "completed"
phase: "phase_4_ux_design"
changes: "Completed Scenario 01: 9 pages specified with prototypes"
```
---
## Benefits:
✅ **User-driven planning** - captures intentions upfront during project initiation
✅ **5x faster agent activation** - no folder scanning needed
✅ **Scenario-level tracking** - granular progress visibility within UX Design phase
✅ **Always up to date** - agents update as they work
✅ **Clear intent** - explains WHY phases are skipped AND user's goals for each phase
✅ **Project memory** - tracks who did what and when
✅ **Better recommendations** - agents know exactly what's next
---
## File Location:
- Preferred: `docs/.wds-project-outline.yaml`
- Fallback: `.wds-project-outline.yaml` (project root)
- Created by: Saga WDS Analyst Agent during Project Brief phase
- Updated by: ALL WDS agents as work progresses
# During Project Initiation (Saga WDS Analyst Agent):
#
# When creating the Product Brief, walk through each phase and ask about user intentions:
#
# Phase 1: Project Brief (Always included)
# No question - this is where we are now!
#
# Phase 2: Trigger Mapping
# Ask: What are your intentions for Trigger Mapping? This phase helps us identify target users, personas, and business goals.
# Is this a customer-facing product where understanding user triggers is critical? Or an internal tool where we might skip this phase?
#
# Capture: User's answer → {{USER_INTENT_PHASE_2}}
# Decision: Set active: true or active: false based on answer
#
# Phase 3: PRD Platform
# Ask: What are your intentions for technical foundation? Do you already have a tech stack in mind, or do you need help defining architecture, data model, and infrastructure requirements?
#
# Capture: User's answer → {{USER_INTENT_PHASE_3}}
#
# Phase 4: UX Design
# Ask: What are your intentions for UX Design? How many user scenarios or flows do you envision? Are you thinking MVP-focused (2-3 core scenarios) or comprehensive (5+ scenarios)?
#
# Capture: User's answer → {{USER_INTENT_PHASE_4}}
# Note: Also capture estimated scenarios_planned number
#
# Phase 5: Design System
# Ask: What are your intentions for a Design System? Are you:
# - Using an existing component library (shadcn/ui, MUI)?
# - Building custom components?
# - Creating a multi-product design system?
# - Skipping this for MVP?
#
# Capture: User's answer → {{USER_INTENT_PHASE_5}}
# Decision: Set active: false if skipping, add skip_reason
#
# Phase 6: Design Deliveries
# Ask: What are your intentions for design deliveries? Will you be handing off to a development team, or implementing directly from specifications?
#
# Capture: User's answer → {{USER_INTENT_PHASE_6}}
#
# Phase 7: Testing
# Ask: What are your intentions for testing? Do you want to validate implementation against design specs, or handle testing separately?
#
# Capture: User's answer → {{USER_INTENT_PHASE_7}}
#
# Phase 8: Ongoing Development
# Ask: Is this a new product or an existing product needing improvements?
#
# Capture: User's answer → {{USER_INTENT_PHASE_8}}
# Decision: Set active: false for new products
#
# ---------------------------------------------------------------------------
#
# On Agent Activation (ALL WDS Agents):
#
# 1. CHECK if .wds-project-outline.yaml exists in docs/ or project root
# 2. READ the outline to understand:
# - Which phases are active
# - User's intentions for each phase
# - Current status of each phase
# - What work has been completed
# - What work is next
# 3. SKIP analysis of inactive phases (active: false)
# 4. REPORT status based on outline (much faster than folder scanning)
#
# ---------------------------------------------------------------------------
#
# When Starting Scenario Work (Freya WDS Designer Agent):
#
# Add new scenario to the outline:
#
# yaml
# scenarios:
# - id: "01-customer-onboarding"
# name: "Customer Onboarding"
# status: "in_progress"
# pages_planned: 9
# pages_specified: 0
# pages_implemented: 0
# started_date: "2024-12-10"
# completed_date: null
# intent: "Onboard new users from landing page to active family"
# artifacts: []
#
# ---------------------------------------------------------------------------
#
# When Completing Scenario Work (Freya WDS Designer Agent):
#
# Update scenario status:
#
# yaml
# - id: "01-customer-onboarding"
# name: "Customer Onboarding"
# status: "complete"
# pages_planned: 9
# pages_specified: 9
# pages_implemented: 5
# started_date: "2024-12-01"
# completed_date: "2024-12-08"
# intent: "Onboard new users from landing page to active family"
# artifacts:
# - "docs/4-ux-design/01-customer-onboarding/00-scenario-overview.md"
# - "docs/4-ux-design/01-customer-onboarding/1.1-start-page.md"
# - "docs/4-ux-design/01-customer-onboarding/sketches/*.excalidraw"
#
# Update phase-level counters:
# yaml
# scenarios_complete: 1 # Increment
#
# ---------------------------------------------------------------------------
#
# When Starting/Completing Phase Work (ALL Agents):
#
# Starting:
# yaml
# status: "in_progress"
# started_date: "2024-12-10"
#
# Completing:
# yaml
# status: "complete"
# completed_date: "2024-12-10"
# completed_by: "Freya WDS Designer Agent"
# artifacts:
# - "docs/4-ux-design/01-onboarding/*.md"
#
# Add update history entry:
# yaml
# update_history:
# - date: "2024-12-10"
# agent: "freya-designer"
# action: "completed"
# phase: "phase_4_ux_design"
# changes: "Completed Scenario 01: 9 pages specified with prototypes"
#
# ---------------------------------------------------------------------------
#
# Benefits:
#
# ✅ User-driven planning - captures intentions upfront during project initiation
# ✅ 5x faster agent activation - no folder scanning needed
# ✅ Scenario-level tracking - granular progress visibility within UX Design phase
# ✅ Always up to date - agents update as they work
# ✅ Clear intent - explains WHY phases are skipped AND user's goals for each phase
# ✅ Project memory - tracks who did what and when
# ✅ Better recommendations - agents know exactly what's next
#
# ---------------------------------------------------------------------------
#
# File Location:
#
# - Preferred: docs/.wds-project-outline.yaml
# - Fallback: .wds-project-outline.yaml (project root)
# - Created by: Saga WDS Analyst Agent during Project Brief phase
# - Updated by: ALL WDS agents as work progresses