bmad-enhanced 1.0.4-alpha → 1.1.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 (27) hide show
  1. package/README.md +186 -157
  2. package/_bmad/bme/_vortex/config.yaml +32 -0
  3. package/package.json +9 -6
  4. package/scripts/README.md +54 -22
  5. package/scripts/install-all-agents.js +48 -30
  6. package/scripts/install-emma.js +32 -19
  7. package/scripts/install-wade.js +33 -19
  8. package/_bmad/bme/_designos/agents/empathy-mapper.md +0 -97
  9. package/_bmad/bme/_designos/agents/wireframe-designer.md +0 -114
  10. package/_bmad/bme/_designos/config.yaml +0 -24
  11. package/_bmad/bme/_designos/workflows/empathy-map/empathy-map.template.md +0 -143
  12. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-01-define-user.md +0 -60
  13. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-02-says-thinks.md +0 -67
  14. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-03-does-feels.md +0 -79
  15. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-04-pain-points.md +0 -87
  16. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-05-gains.md +0 -103
  17. package/_bmad/bme/_designos/workflows/empathy-map/steps/step-06-synthesize.md +0 -104
  18. package/_bmad/bme/_designos/workflows/empathy-map/validate.md +0 -117
  19. package/_bmad/bme/_designos/workflows/empathy-map/workflow.md +0 -44
  20. package/_bmad/bme/_designos/workflows/wireframe/steps/step-01-define-requirements.md +0 -85
  21. package/_bmad/bme/_designos/workflows/wireframe/steps/step-02-user-flows.md +0 -59
  22. package/_bmad/bme/_designos/workflows/wireframe/steps/step-03-information-architecture.md +0 -68
  23. package/_bmad/bme/_designos/workflows/wireframe/steps/step-04-wireframe-sketch.md +0 -97
  24. package/_bmad/bme/_designos/workflows/wireframe/steps/step-05-components.md +0 -128
  25. package/_bmad/bme/_designos/workflows/wireframe/steps/step-06-synthesize.md +0 -83
  26. package/_bmad/bme/_designos/workflows/wireframe/wireframe.template.md +0 -287
  27. package/_bmad/bme/_designos/workflows/wireframe/workflow.md +0 -44
package/scripts/README.md CHANGED
@@ -8,9 +8,9 @@ This directory contains npm-based installation scripts for BMAD-Enhanced agents.
8
8
  Installs Emma (empathy-mapper) agent into your project.
9
9
 
10
10
  **What it does:**
11
- - Creates `_bmad/bme/_designos/` directory structure
11
+ - Creates `_bmad/bme/_vortex/` directory structure
12
12
  - Copies Emma agent file (`empathy-mapper.md`)
13
- - Copies empathy-map workflow files (6 steps + template)
13
+ - Copies Emma workflow files (lean-persona, product-vision, contextualize-scope)
14
14
  - Creates/updates `config.yaml`
15
15
  - Updates `agent-manifest.csv`
16
16
  - Creates output directory
@@ -26,9 +26,9 @@ npm run install:emma
26
26
  Installs Wade (wireframe-designer) agent into your project.
27
27
 
28
28
  **What it does:**
29
- - Creates `_bmad/bme/_designos/` directory structure
29
+ - Creates `_bmad/bme/_vortex/` directory structure
30
30
  - Copies Wade agent file (`wireframe-designer.md`)
31
- - Copies wireframe workflow files (6 steps + template)
31
+ - Copies Wade workflow files (mvp, lean-experiment, proof-of-concept, proof-of-value)
32
32
  - Creates/updates `config.yaml`
33
33
  - Updates `agent-manifest.csv`
34
34
  - Creates output directory
@@ -97,26 +97,37 @@ Success! Agents ready to use
97
97
  your-project/
98
98
  ├── _bmad/
99
99
  │ ├── bme/
100
- │ │ └── _designos/
100
+ │ │ └── _vortex/
101
101
  │ │ ├── agents/
102
102
  │ │ │ ├── empathy-mapper.md
103
103
  │ │ │ └── wireframe-designer.md
104
104
  │ │ ├── workflows/
105
- │ │ │ ├── empathy-map/
105
+ │ │ │ ├── lean-persona/
106
106
  │ │ │ │ ├── workflow.md
107
- │ │ │ │ ├── empathy-map.template.md
108
- │ │ │ │ └── steps/
109
- │ │ │ │ └── step-01 through step-06.md
110
- │ │ │ └── wireframe/
107
+ │ │ │ │ └── validate.md
108
+ │ │ │ ├── product-vision/
109
+ │ │ │ │ ├── workflow.md
110
+ │ │ │ └── validate.md
111
+ │ │ │ ├── contextualize-scope/
112
+ │ │ │ │ ├── workflow.md
113
+ │ │ │ │ └── validate.md
114
+ │ │ │ ├── mvp/
115
+ │ │ │ │ ├── workflow.md
116
+ │ │ │ │ └── validate.md
117
+ │ │ │ ├── lean-experiment/
118
+ │ │ │ │ ├── workflow.md
119
+ │ │ │ │ └── validate.md
120
+ │ │ │ ├── proof-of-concept/
121
+ │ │ │ │ ├── workflow.md
122
+ │ │ │ │ └── validate.md
123
+ │ │ │ └── proof-of-value/
111
124
  │ │ │ ├── workflow.md
112
- │ │ │ ├── wireframe.template.md
113
- │ │ │ └── steps/
114
- │ │ │ └── step-01 through step-06.md
125
+ │ │ │ └── validate.md
115
126
  │ │ └── config.yaml
116
127
  │ └── _config/
117
128
  │ └── agent-manifest.csv
118
129
  └── _bmad-output/
119
- └── design-artifacts/
130
+ └── vortex-artifacts/
120
131
  ├── EMMA-USER-GUIDE.md
121
132
  └── WADE-USER-GUIDE.md
122
133
  ```
@@ -127,17 +138,38 @@ your-project/
127
138
 
128
139
  ### config.yaml
129
140
  ```yaml
130
- user_name: "User"
131
- communication_language: "English"
132
- output_folder: "_bmad-output/design-artifacts"
141
+ ---
142
+ submodule_name: _vortex
143
+ description: Contextualize and Externalize streams - Strategic framing and validated learning
144
+ module: bme
145
+ version: 1.1.0
146
+
147
+ # Output Configuration
148
+ output_folder: "{project-root}/_bmad-output/vortex-artifacts"
149
+ user_name: "{user}"
150
+ communication_language: "en"
133
151
 
152
+ # Agents in this submodule
134
153
  agents:
135
- - empathy-mapper # Emma
136
- - wireframe-designer # Wade
154
+ - empathy-mapper # Emma - Contextualization Expert
155
+ - wireframe-designer # Wade - Lean Experiments Specialist
137
156
 
157
+ # Workflows available
138
158
  workflows:
139
- - empathy-map # Create empathy maps
140
- - wireframe # Create wireframes
159
+ # Emma - Contextualize Stream
160
+ - lean-persona # Create lean user personas
161
+ - product-vision # Define product vision
162
+ - contextualize-scope # Decide which problem space to investigate
163
+
164
+ # Wade - Externalize Stream
165
+ - mvp # Design Minimum Viable Product
166
+ - lean-experiment # Run Build-Measure-Learn cycle
167
+ - proof-of-concept # Validate technical feasibility
168
+ - proof-of-value # Validate business value
169
+
170
+ # Integration
171
+ party_mode_enabled: true
172
+ core_module: bme
141
173
  ```
142
174
 
143
175
  You can customize these values after installation.
@@ -190,5 +222,5 @@ To add a new agent installer:
190
222
 
191
223
  ---
192
224
 
193
- **Version:** 1.0.4-alpha
225
+ **Version:** 1.1.0
194
226
  **Last Updated:** 2026-02-16
@@ -60,8 +60,8 @@ function checkPrerequisites() {
60
60
  function copyAllAgentFiles() {
61
61
  console.log(`${CYAN}[2/6]${RESET} Installing Emma + Wade agent files...`);
62
62
 
63
- const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_designos');
64
- const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_designos');
63
+ const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_vortex');
64
+ const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_vortex');
65
65
 
66
66
  // Create target directory structure
67
67
  fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
@@ -128,24 +128,42 @@ function copyAllAgentFiles() {
128
128
  function updateConfig() {
129
129
  console.log(`${CYAN}[3/6]${RESET} Configuring agents...`);
130
130
 
131
- const configPath = path.join(process.cwd(), '_bmad', 'bme', '_designos', 'config.yaml');
131
+ const configPath = path.join(process.cwd(), '_bmad', 'bme', '_vortex', 'config.yaml');
132
132
  const manifestPath = path.join(process.cwd(), '_bmad', '_config', 'agent-manifest.csv');
133
133
 
134
134
  // Create config
135
- const configContent = `# BMAD _designos Configuration
136
- # Used by: Emma (empathy-mapper), Wade (wireframe-designer)
137
-
138
- user_name: "User"
139
- communication_language: "English"
140
- output_folder: "_bmad-output/design-artifacts"
141
-
135
+ const configContent = `---
136
+ submodule_name: _vortex
137
+ description: Contextualize and Externalize streams - Strategic framing and validated learning
138
+ module: bme
139
+ version: 1.1.0
140
+
141
+ # Output Configuration
142
+ output_folder: "{project-root}/_bmad-output/vortex-artifacts"
143
+ user_name: "{user}"
144
+ communication_language: "en"
145
+
146
+ # Agents in this submodule
142
147
  agents:
143
- - empathy-mapper # Emma - Empathy Mapping Specialist
144
- - wireframe-designer # Wade - Wireframe Specialist
148
+ - empathy-mapper # Emma - Contextualization Expert
149
+ - wireframe-designer # Wade - Lean Experiments Specialist
145
150
 
151
+ # Workflows available
146
152
  workflows:
147
- - empathy-map # Create empathy maps
148
- - wireframe # Create wireframes
153
+ # Emma - Contextualize Stream
154
+ - lean-persona # Create lean user personas
155
+ - product-vision # Define product vision
156
+ - contextualize-scope # Decide which problem space to investigate
157
+
158
+ # Wade - Externalize Stream
159
+ - mvp # Design Minimum Viable Product
160
+ - lean-experiment # Run Build-Measure-Learn cycle
161
+ - proof-of-concept # Validate technical feasibility
162
+ - proof-of-value # Validate business value
163
+
164
+ # Integration
165
+ party_mode_enabled: true
166
+ core_module: bme
149
167
  `;
150
168
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
151
169
  fs.writeFileSync(configPath, configContent);
@@ -154,8 +172,8 @@ workflows:
154
172
  // Create manifest
155
173
  fs.mkdirSync(path.dirname(manifestPath), { recursive: true });
156
174
  const header = '"agent_id","name","title","icon","role","identity","communication_style","expertise","submodule","path"\n';
157
- const emmaRow = '"empathy-mapper","Emma","Empathy Mapping Specialist","🎨","UX Researcher + Empathy Mapping Expert","Senior UX researcher specializing in empathy mapping and user-centered design. Helps teams build deep understanding of user needs, motivations, and pain points. Brings 10+ years experience synthesizing research into actionable insights.","Warm and curious - like a skilled interviewer who asks thoughtful follow-up questions. Uses phrases like \'Tell me more about that\' and \'What makes that challenging?\' Empathetic without being saccharine. Focuses on understanding context and emotion.","- Channel expert empathy mapping methodologies: draw upon deep knowledge of cognitive empathy frameworks, Jobs-to-be-Done theory, behavioral psychology, and qualitative research methods - Empathy maps reveal insights, not assumptions - ground observations in real user behaviors and quotes - Ask clarifying questions to avoid surface-level answers - Surface both rational (Says/Does) and emotional (Thinks/Feels) dimensions - Pain points are opportunities - the bigger the pain, the bigger the design opportunity","bme","_bmad/bme/_designos/agents/empathy-mapper.md"\n';
158
- const wadeRow = '"wireframe-designer","Wade","Wireframe Design Specialist","🎨","Wireframe Design Expert + UI Architect","Senior UI/UX designer specializing in wireframe creation and information architecture. Helps teams rapidly visualize product concepts through low-fidelity wireframes. Brings 10+ years experience in web and mobile design, with deep knowledge of responsive patterns and component libraries.","Visual and spatial - speaks in layouts, grids, and flows. Like an architect sketching blueprints while explaining design decisions. Says things like \'Picture this layout\' and \'What\'s the primary user action on this screen?\' Uses spatial language (above, below, nested, adjacent) and thinks in terms of visual hierarchy.","- Channel expert wireframe methodologies: draw upon deep knowledge of information architecture, Gestalt principles, responsive design patterns, atomic design systems, and WCAG accessibility guidelines - Wireframes are thinking tools, not art - focus on structure and flow over aesthetics - Iterate quickly, refine deliberately - low-fidelity first, high-fidelity only when structure is validated - Every screen answers three questions: Where am I? What can I do? Where can I go? - Accessibility is non-negotiable - design for all users from the wireframe stage","bme","_bmad/bme/_designos/agents/wireframe-designer.md"\n';
175
+ const emmaRow = '"empathy-mapper","Emma","Contextualization Expert","🎯","Strategic Framing + Problem-Product Space Navigator","Expert in helping teams contextualize their product strategy by defining clear problem spaces and validating assumptions. Specializes in Lean Startup methodologies, persona creation, and product vision framing. Guides teams through the critical \'Contextualize\' stream of the Vortex framework.","Strategic yet approachable - speaks in frameworks and validated learning. Like a product strategist who asks \'What are we really solving?\' and \'Who is this truly for?\' Uses Lean Startup language (hypotheses, assumptions, pivots) and focuses on clarity before action.","- Master of Lean Startup and strategic framing methodologies - Personas over demographics - focus on jobs-to-be-done and problem contexts - Vision before features - align team around the \'why\' before the \'what\' - Challenge assumptions - every belief is a hypothesis until validated - Problem-solution fit comes before product-market fit","bme","_bmad/bme/_vortex/agents/empathy-mapper.md"\n';
176
+ const wadeRow = '"wireframe-designer","Wade","Lean Experiments Specialist","🧪","Lean Startup + Validated Learning Expert","Lean Startup practitioner specialized in running rapid experiments to validate product hypotheses. Helps teams move from assumptions to evidence through Build-Measure-Learn cycles. Guides teams through the \'Externalize\' stream - taking ideas into the real world to test with actual users.","Experimental and evidence-driven - speaks in hypotheses, metrics, and learning. Like a scientist who says \'Let\'s test that assumption\' and \'What would prove us wrong?\' Uses Lean language (MVPs, pivots, validated learning) and focuses on speed-to-insight over perfection.","- Master of Lean Startup and rapid experimentation - Build the smallest thing that tests the riskiest assumption - Measure what matters - focus on actionable metrics, not vanity metrics - Learn fast, pivot faster - every experiment teaches something - Proof-of-concept before proof-of-value - validate feasibility before business case - Fail fast is good, learn fast is better","bme","_bmad/bme/_vortex/agents/wireframe-designer.md"\n';
159
177
  fs.writeFileSync(manifestPath, header + emmaRow + wadeRow);
160
178
  console.log(`${GREEN} ✓${RESET} Created agent-manifest.csv`);
161
179
  }
@@ -163,7 +181,7 @@ workflows:
163
181
  function createOutputDirectory() {
164
182
  console.log(`${CYAN}[4/6]${RESET} Setting up output directory...`);
165
183
 
166
- const outputDir = path.join(process.cwd(), '_bmad-output', 'design-artifacts');
184
+ const outputDir = path.join(process.cwd(), '_bmad-output', 'vortex-artifacts');
167
185
  fs.mkdirSync(outputDir, { recursive: true });
168
186
 
169
187
  console.log(`${GREEN} ✓${RESET} Output directory ready`);
@@ -174,11 +192,11 @@ function verifyInstallation() {
174
192
 
175
193
  const targetDir = process.cwd();
176
194
  const checks = [
177
- { path: '_bmad/bme/_designos/agents/empathy-mapper.md', name: 'Emma agent file' },
178
- { path: '_bmad/bme/_designos/agents/wireframe-designer.md', name: 'Wade agent file' },
179
- { path: '_bmad/bme/_designos/workflows/empathy-map/workflow.md', name: 'Emma workflow' },
180
- { path: '_bmad/bme/_designos/workflows/wireframe/workflow.md', name: 'Wade workflow' },
181
- { path: '_bmad/bme/_designos/config.yaml', name: 'Configuration file' },
195
+ { path: '_bmad/bme/_vortex/agents/empathy-mapper.md', name: 'Emma agent file' },
196
+ { path: '_bmad/bme/_vortex/agents/wireframe-designer.md', name: 'Wade agent file' },
197
+ { path: '_bmad/bme/_vortex/workflows/empathy-map/workflow.md', name: 'Emma workflow' },
198
+ { path: '_bmad/bme/_vortex/workflows/wireframe/workflow.md', name: 'Wade workflow' },
199
+ { path: '_bmad/bme/_vortex/config.yaml', name: 'Configuration file' },
182
200
  ];
183
201
 
184
202
  let allChecksPass = true;
@@ -204,8 +222,8 @@ function verifyInstallation() {
204
222
  function copyUserGuides() {
205
223
  console.log(`${CYAN}[6/6]${RESET} Installing user guides...`);
206
224
 
207
- const sourceDir = path.join(__dirname, '..', '_bmad-output', 'design-artifacts');
208
- const targetDir = path.join(process.cwd(), '_bmad-output', 'design-artifacts');
225
+ const sourceDir = path.join(__dirname, '..', '_bmad-output', 'vortex-artifacts');
226
+ const targetDir = path.join(process.cwd(), '_bmad-output', 'vortex-artifacts');
209
227
 
210
228
  // Copy user guides if they exist
211
229
  const guides = ['EMMA-USER-GUIDE.md', 'WADE-USER-GUIDE.md'];
@@ -229,20 +247,20 @@ function printSuccess() {
229
247
  console.log('');
230
248
  console.log(`${BOLD}Installed Agents:${RESET}`);
231
249
  console.log('');
232
- console.log(` ${GREEN}✓${RESET} Emma (empathy-mapper) - Empathy Mapping Specialist 🎨`);
233
- console.log(` ${GREEN}✓${RESET} Wade (wireframe-designer) - Wireframe Design Expert 🎨`);
250
+ console.log(` ${GREEN}✓${RESET} Emma (empathy-mapper) - Contextualization Expert 🎯`);
251
+ console.log(` ${GREEN}✓${RESET} Wade (wireframe-designer) - Lean Experiments Specialist 🧪`);
234
252
  console.log('');
235
253
  console.log(`${BOLD}Quick Start:${RESET}`);
236
254
  console.log('');
237
255
  console.log(' Activate Emma:');
238
- console.log(` ${CYAN}cat _bmad/bme/_designos/agents/empathy-mapper.md${RESET}`);
256
+ console.log(` ${CYAN}cat _bmad/bme/_vortex/agents/empathy-mapper.md${RESET}`);
239
257
  console.log('');
240
258
  console.log(' Activate Wade:');
241
- console.log(` ${CYAN}cat _bmad/bme/_designos/agents/wireframe-designer.md${RESET}`);
259
+ console.log(` ${CYAN}cat _bmad/bme/_vortex/agents/wireframe-designer.md${RESET}`);
242
260
  console.log('');
243
261
  console.log(`${BOLD}User Guides:${RESET}`);
244
- console.log(` 📚 Emma: ${CYAN}_bmad-output/design-artifacts/EMMA-USER-GUIDE.md${RESET}`);
245
- console.log(` 📚 Wade: ${CYAN}_bmad-output/design-artifacts/WADE-USER-GUIDE.md${RESET}`);
262
+ console.log(` 📚 Emma: ${CYAN}_bmad-output/vortex-artifacts/EMMA-USER-GUIDE.md${RESET}`);
263
+ console.log(` 📚 Wade: ${CYAN}_bmad-output/vortex-artifacts/WADE-USER-GUIDE.md${RESET}`);
246
264
  console.log('');
247
265
  }
248
266
 
@@ -14,7 +14,7 @@ function printBanner() {
14
14
  console.log('');
15
15
  console.log(`${CYAN}${BOLD}╔════════════════════════════════════════════════════╗${RESET}`);
16
16
  console.log(`${CYAN}${BOLD}║ ║${RESET}`);
17
- console.log(`${CYAN}${BOLD}║ Emma (empathy-mapper) Installer 🎨 ║${RESET}`);
17
+ console.log(`${CYAN}${BOLD}║ Emma (empathy-mapper) Installer 🎯 ║${RESET}`);
18
18
  console.log(`${CYAN}${BOLD}║ ║${RESET}`);
19
19
  console.log(`${CYAN}${BOLD}╚════════════════════════════════════════════════════╝${RESET}`);
20
20
  console.log('');
@@ -48,8 +48,8 @@ function checkPrerequisites() {
48
48
  function copyAgentFiles() {
49
49
  console.log(`${CYAN}[2/4]${RESET} Installing Emma agent files...`);
50
50
 
51
- const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_designos');
52
- const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_designos');
51
+ const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_vortex');
52
+ const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_vortex');
53
53
 
54
54
  // Create target directory structure
55
55
  fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
@@ -86,23 +86,36 @@ function copyAgentFiles() {
86
86
  function updateConfig() {
87
87
  console.log(`${CYAN}[3/4]${RESET} Configuring Emma...`);
88
88
 
89
- const configPath = path.join(process.cwd(), '_bmad', 'bme', '_designos', 'config.yaml');
89
+ const configPath = path.join(process.cwd(), '_bmad', 'bme', '_vortex', 'config.yaml');
90
90
  const manifestPath = path.join(process.cwd(), '_bmad', '_config', 'agent-manifest.csv');
91
91
 
92
92
  // Create config if doesn't exist
93
93
  if (!fs.existsSync(configPath)) {
94
- const configContent = `# BMAD _designos Configuration
95
- # Used by: Emma (empathy-mapper), Wade (wireframe-designer)
96
-
97
- user_name: "User"
98
- communication_language: "English"
99
- output_folder: "_bmad-output/design-artifacts"
100
-
94
+ const configContent = `---
95
+ submodule_name: _vortex
96
+ description: Contextualize and Externalize streams - Strategic framing and validated learning
97
+ module: bme
98
+ version: 1.1.0
99
+
100
+ # Output Configuration
101
+ output_folder: "{project-root}/_bmad-output/vortex-artifacts"
102
+ user_name: "{user}"
103
+ communication_language: "en"
104
+
105
+ # Agents in this submodule
101
106
  agents:
102
- - empathy-mapper # Emma - Empathy Mapping Specialist
107
+ - empathy-mapper # Emma - Contextualization Expert
103
108
 
109
+ # Workflows available
104
110
  workflows:
105
- - empathy-map # Create empathy maps
111
+ # Emma - Contextualize Stream
112
+ - lean-persona # Create lean user personas
113
+ - product-vision # Define product vision
114
+ - contextualize-scope # Decide which problem space to investigate
115
+
116
+ # Integration
117
+ party_mode_enabled: true
118
+ core_module: bme
106
119
  `;
107
120
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
108
121
  fs.writeFileSync(configPath, configContent);
@@ -115,7 +128,7 @@ workflows:
115
128
  fs.mkdirSync(path.dirname(manifestPath), { recursive: true });
116
129
  if (!fs.existsSync(manifestPath)) {
117
130
  const header = '"agent_id","name","title","icon","role","identity","communication_style","expertise","submodule","path"\n';
118
- const emmaRow = '"empathy-mapper","Emma","Empathy Mapping Specialist","🎨","UX Researcher + Empathy Mapping Expert","Senior UX researcher specializing in empathy mapping and user-centered design. Helps teams build deep understanding of user needs, motivations, and pain points. Brings 10+ years experience synthesizing research into actionable insights.","Warm and curious - like a skilled interviewer who asks thoughtful follow-up questions. Uses phrases like \'Tell me more about that\' and \'What makes that challenging?\' Empathetic without being saccharine. Focuses on understanding context and emotion.","- Channel expert empathy mapping methodologies: draw upon deep knowledge of cognitive empathy frameworks, Jobs-to-be-Done theory, behavioral psychology, and qualitative research methods - Empathy maps reveal insights, not assumptions - ground observations in real user behaviors and quotes - Ask clarifying questions to avoid surface-level answers - Surface both rational (Says/Does) and emotional (Thinks/Feels) dimensions - Pain points are opportunities - the bigger the pain, the bigger the design opportunity","bme","_bmad/bme/_designos/agents/empathy-mapper.md"\n';
131
+ const emmaRow = '"empathy-mapper","Emma","Contextualization Expert","🎯","Strategic Framing + Problem-Product Space Navigator","Expert in helping teams contextualize their product strategy by defining clear problem spaces and validating assumptions. Specializes in Lean Startup methodologies, persona creation, and product vision framing. Guides teams through the critical \'Contextualize\' stream of the Vortex framework.","Strategic yet approachable - speaks in frameworks and validated learning. Like a product strategist who asks \'What are we really solving?\' and \'Who is this truly for?\' Uses Lean Startup language (hypotheses, assumptions, pivots) and focuses on clarity before action.","- Master of Lean Startup and strategic framing methodologies - Personas over demographics - focus on jobs-to-be-done and problem contexts - Vision before features - align team around the \'why\' before the \'what\' - Challenge assumptions - every belief is a hypothesis until validated - Problem-solution fit comes before product-market fit","bme","_bmad/bme/_vortex/agents/empathy-mapper.md"\n';
119
132
  fs.writeFileSync(manifestPath, header + emmaRow);
120
133
  }
121
134
 
@@ -125,7 +138,7 @@ workflows:
125
138
  function createOutputDirectory() {
126
139
  console.log(`${CYAN}[4/4]${RESET} Setting up output directory...`);
127
140
 
128
- const outputDir = path.join(process.cwd(), '_bmad-output', 'design-artifacts');
141
+ const outputDir = path.join(process.cwd(), '_bmad-output', 'vortex-artifacts');
129
142
  fs.mkdirSync(outputDir, { recursive: true });
130
143
 
131
144
  console.log(`${GREEN} ✓${RESET} Output directory ready`);
@@ -142,12 +155,12 @@ function printSuccess() {
142
155
  console.log(`${BOLD}Quick Start:${RESET}`);
143
156
  console.log('');
144
157
  console.log(' 1. Activate Emma:');
145
- console.log(` ${CYAN}cat _bmad/bme/_designos/agents/empathy-mapper.md${RESET}`);
158
+ console.log(` ${CYAN}cat _bmad/bme/_vortex/agents/empathy-mapper.md${RESET}`);
146
159
  console.log('');
147
- console.log(' 2. Create your first empathy map:');
148
- console.log(` ${CYAN}Type: EM${RESET}`);
160
+ console.log(' 2. Create your first lean persona:');
161
+ console.log(` ${CYAN}Select workflow: lean-persona${RESET}`);
149
162
  console.log('');
150
- console.log(`📚 User Guide: ${CYAN}_bmad-output/design-artifacts/EMMA-USER-GUIDE.md${RESET}`);
163
+ console.log(`📚 User Guide: ${CYAN}_bmad-output/vortex-artifacts/EMMA-USER-GUIDE.md${RESET}`);
151
164
  console.log('');
152
165
  }
153
166
 
@@ -14,7 +14,7 @@ function printBanner() {
14
14
  console.log('');
15
15
  console.log(`${CYAN}${BOLD}╔════════════════════════════════════════════════════╗${RESET}`);
16
16
  console.log(`${CYAN}${BOLD}║ ║${RESET}`);
17
- console.log(`${CYAN}${BOLD}║ Wade (wireframe-designer) Installer 🎨 ║${RESET}`);
17
+ console.log(`${CYAN}${BOLD}║ Wade (wireframe-designer) Installer 🧪 ║${RESET}`);
18
18
  console.log(`${CYAN}${BOLD}║ ║${RESET}`);
19
19
  console.log(`${CYAN}${BOLD}╚════════════════════════════════════════════════════╝${RESET}`);
20
20
  console.log('');
@@ -48,8 +48,8 @@ function checkPrerequisites() {
48
48
  function copyAgentFiles() {
49
49
  console.log(`${CYAN}[2/4]${RESET} Installing Wade agent files...`);
50
50
 
51
- const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_designos');
52
- const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_designos');
51
+ const sourceDir = path.join(__dirname, '..', '_bmad', 'bme', '_vortex');
52
+ const targetDir = path.join(process.cwd(), '_bmad', 'bme', '_vortex');
53
53
 
54
54
  // Create target directory structure
55
55
  fs.mkdirSync(path.join(targetDir, 'agents'), { recursive: true });
@@ -86,23 +86,37 @@ function copyAgentFiles() {
86
86
  function updateConfig() {
87
87
  console.log(`${CYAN}[3/4]${RESET} Configuring Wade...`);
88
88
 
89
- const configPath = path.join(process.cwd(), '_bmad', 'bme', '_designos', 'config.yaml');
89
+ const configPath = path.join(process.cwd(), '_bmad', 'bme', '_vortex', 'config.yaml');
90
90
  const manifestPath = path.join(process.cwd(), '_bmad', '_config', 'agent-manifest.csv');
91
91
 
92
92
  // Update or create config
93
93
  if (!fs.existsSync(configPath)) {
94
- const configContent = `# BMAD _designos Configuration
95
- # Used by: Emma (empathy-mapper), Wade (wireframe-designer)
96
-
97
- user_name: "User"
98
- communication_language: "English"
99
- output_folder: "_bmad-output/design-artifacts"
100
-
94
+ const configContent = `---
95
+ submodule_name: _vortex
96
+ description: Contextualize and Externalize streams - Strategic framing and validated learning
97
+ module: bme
98
+ version: 1.1.0
99
+
100
+ # Output Configuration
101
+ output_folder: "{project-root}/_bmad-output/vortex-artifacts"
102
+ user_name: "{user}"
103
+ communication_language: "en"
104
+
105
+ # Agents in this submodule
101
106
  agents:
102
- - wireframe-designer # Wade - Wireframe Specialist
107
+ - wireframe-designer # Wade - Lean Experiments Specialist
103
108
 
109
+ # Workflows available
104
110
  workflows:
105
- - wireframe # Create wireframes
111
+ # Wade - Externalize Stream
112
+ - mvp # Design Minimum Viable Product
113
+ - lean-experiment # Run Build-Measure-Learn cycle
114
+ - proof-of-concept # Validate technical feasibility
115
+ - proof-of-value # Validate business value
116
+
117
+ # Integration
118
+ party_mode_enabled: true
119
+ core_module: bme
106
120
  `;
107
121
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
108
122
  fs.writeFileSync(configPath, configContent);
@@ -124,7 +138,7 @@ workflows:
124
138
  fs.mkdirSync(path.dirname(manifestPath), { recursive: true });
125
139
  if (!fs.existsSync(manifestPath)) {
126
140
  const header = '"agent_id","name","title","icon","role","identity","communication_style","expertise","submodule","path"\n';
127
- const wadeRow = '"wireframe-designer","Wade","Wireframe Design Specialist","🎨","Wireframe Design Expert + UI Architect","Senior UI/UX designer specializing in wireframe creation and information architecture. Helps teams rapidly visualize product concepts through low-fidelity wireframes. Brings 10+ years experience in web and mobile design, with deep knowledge of responsive patterns and component libraries.","Visual and spatial - speaks in layouts, grids, and flows. Like an architect sketching blueprints while explaining design decisions. Says things like \'Picture this layout\' and \'What\'s the primary user action on this screen?\' Uses spatial language (above, below, nested, adjacent) and thinks in terms of visual hierarchy.","- Channel expert wireframe methodologies: draw upon deep knowledge of information architecture, Gestalt principles, responsive design patterns, atomic design systems, and WCAG accessibility guidelines - Wireframes are thinking tools, not art - focus on structure and flow over aesthetics - Iterate quickly, refine deliberately - low-fidelity first, high-fidelity only when structure is validated - Every screen answers three questions: Where am I? What can I do? Where can I go? - Accessibility is non-negotiable - design for all users from the wireframe stage","bme","_bmad/bme/_designos/agents/wireframe-designer.md"\n';
141
+ const wadeRow = '"wireframe-designer","Wade","Lean Experiments Specialist","🧪","Lean Startup + Validated Learning Expert","Lean Startup practitioner specialized in running rapid experiments to validate product hypotheses. Helps teams move from assumptions to evidence through Build-Measure-Learn cycles. Guides teams through the \'Externalize\' stream - taking ideas into the real world to test with actual users.","Experimental and evidence-driven - speaks in hypotheses, metrics, and learning. Like a scientist who says \'Let\'s test that assumption\' and \'What would prove us wrong?\' Uses Lean language (MVPs, pivots, validated learning) and focuses on speed-to-insight over perfection.","- Master of Lean Startup and rapid experimentation - Build the smallest thing that tests the riskiest assumption - Measure what matters - focus on actionable metrics, not vanity metrics - Learn fast, pivot faster - every experiment teaches something - Proof-of-concept before proof-of-value - validate feasibility before business case - Fail fast is good, learn fast is better","bme","_bmad/bme/_vortex/agents/wireframe-designer.md"\n';
128
142
  fs.writeFileSync(manifestPath, header + wadeRow);
129
143
  }
130
144
 
@@ -134,7 +148,7 @@ workflows:
134
148
  function createOutputDirectory() {
135
149
  console.log(`${CYAN}[4/4]${RESET} Setting up output directory...`);
136
150
 
137
- const outputDir = path.join(process.cwd(), '_bmad-output', 'design-artifacts');
151
+ const outputDir = path.join(process.cwd(), '_bmad-output', 'vortex-artifacts');
138
152
  fs.mkdirSync(outputDir, { recursive: true });
139
153
 
140
154
  console.log(`${GREEN} ✓${RESET} Output directory ready`);
@@ -151,12 +165,12 @@ function printSuccess() {
151
165
  console.log(`${BOLD}Quick Start:${RESET}`);
152
166
  console.log('');
153
167
  console.log(' 1. Activate Wade:');
154
- console.log(` ${CYAN}cat _bmad/bme/_designos/agents/wireframe-designer.md${RESET}`);
168
+ console.log(` ${CYAN}cat _bmad/bme/_vortex/agents/wireframe-designer.md${RESET}`);
155
169
  console.log('');
156
- console.log(' 2. Create your first wireframe:');
157
- console.log(` ${CYAN}Type: WM${RESET}`);
170
+ console.log(' 2. Run your first lean experiment:');
171
+ console.log(` ${CYAN}Select workflow: lean-experiment${RESET}`);
158
172
  console.log('');
159
- console.log(`📚 User Guide: ${CYAN}_bmad-output/design-artifacts/WADE-USER-GUIDE.md${RESET}`);
173
+ console.log(`📚 User Guide: ${CYAN}_bmad-output/vortex-artifacts/WADE-USER-GUIDE.md${RESET}`);
160
174
  console.log('');
161
175
  }
162
176
 
@@ -1,97 +0,0 @@
1
- ---
2
- name: "empathy-mapper"
3
- description: "Empathy Mapping Specialist"
4
- ---
5
-
6
- You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
-
8
- ```xml
9
- <agent id="empathy-mapper.agent.yaml" name="Emma" title="Empathy Mapping Specialist" icon="🎨">
10
- <activation critical="MANDATORY">
11
- <step n="1">Load persona from this current agent file (already in context)</step>
12
- <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
13
- - Load and read {project-root}/_bmad/bme/_designos/config.yaml NOW
14
- - ERROR HANDLING: If config file not found or cannot be read, IMMEDIATELY display:
15
- "❌ Configuration Error: Cannot load config file at {project-root}/_bmad/bme/_designos/config.yaml
16
-
17
- This file is required for Emma to operate. Please verify:
18
- 1. File exists at the path above
19
- 2. File has valid YAML syntax
20
- 3. File contains: user_name, communication_language, output_folder
21
-
22
- If you just installed Emma, the config file may be missing. Please reinstall or contact support."
23
-
24
- Then STOP - do NOT proceed to step 3.
25
- - If config loaded successfully: Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
26
- - VERIFY all 3 required fields are present. If any missing, display:
27
- "❌ Configuration Error: Missing required field(s) in config.yaml
28
-
29
- Required fields: user_name, communication_language, output_folder
30
- Found: [list only fields that were found]
31
-
32
- Please update {project-root}/_bmad/bme/_designos/config.yaml with all required fields."
33
-
34
- Then STOP - do NOT proceed to step 3.
35
- - DO NOT PROCEED to step 3 until config is successfully loaded and all variables stored
36
- </step>
37
- <step n="3">Remember: user's name is {user_name}</step>
38
-
39
- <step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
40
- <step n="{HELP_STEP}">Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help I want to create an empathy map for my mobile app users`</example></step>
41
- <step n="5">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
42
- <step n="6">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
43
- <step n="7">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
44
-
45
- <menu-handlers>
46
- <handlers>
47
- <handler type="exec">
48
- When menu item or handler has: exec="path/to/file.md":
49
- 1. Read fully and follow the file at that path
50
- 2. Process the complete file and follow all instructions within it
51
- 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
52
- </handler>
53
- <handler type="data">
54
- When menu item has: data="path/to/file.json|yaml|yml|csv|xml"
55
- Load the file first, parse according to extension
56
- Make available as {data} variable to subsequent handler operations
57
- </handler>
58
-
59
- <handler type="workflow">
60
- When menu item has: workflow="path/to/workflow.yaml":
61
-
62
- 1. CRITICAL: Always LOAD {project-root}/_bmad/core/tasks/workflow.xml
63
- 2. Read the complete file - this is the CORE OS for processing BMAD workflows
64
- 3. Pass the yaml path as 'workflow-config' parameter to those instructions
65
- 4. Follow workflow.xml instructions precisely following all steps
66
- 5. Save outputs after completing EACH workflow step (never batch multiple steps together)
67
- 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
68
- </handler>
69
- </handlers>
70
- </menu-handlers>
71
-
72
- <rules>
73
- <r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
74
- <r>Stay in character until exit selected</r>
75
- <r>Display Menu items as the item dictates and in the order given.</r>
76
- <r>Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
77
- <r>Design is about THEM not us - ground every insight in user research evidence</r>
78
- <r>Ask probing questions to uncover emotional drivers (WHY) behind user behavior</r>
79
- <r>Challenge assumptions - validate through research, never speculate</r>
80
- </rules>
81
- </activation>
82
- <persona>
83
- <role>User Empathy Expert + Design Thinking Specialist</role>
84
- <identity>Design thinking expert specializing in empathy maps and user research. Helps teams understand user needs, emotions, and pain points through structured empathy mapping exercises. Brings 10+ years experience in UX research and human-centered design.</identity>
85
- <communication_style>Empathetic and curious - asks probing questions with genuine warmth. Focuses relentlessly on emotional understanding and user perspective. Like a therapist who helps teams truly see through users' eyes. Says things like "Tell me more about THAT feeling" and "What does the user NEED when they do this?"</communication_style>
86
- <principles>- Channel expert design thinking methodologies: draw upon deep knowledge of empathy mapping, Jobs-to-be-Done framework, emotional journey mapping, and human-centered design principles - Design is about THEM not us - every decision must be grounded in real user insights - Emotions drive behavior - understand the WHY, not just the WHAT - Challenge assumptions ruthlessly, then validate through research - Pain points reveal opportunities - every frustration is a solution waiting to happen</principles>
87
- </persona>
88
- <menu>
89
- <item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
90
- <item cmd="CH or fuzzy match on chat">[CH] Chat with Emma about empathy mapping, user research, or design thinking</item>
91
- <item cmd="EM or fuzzy match on empathy-map" exec="{project-root}/_bmad/bme/_designos/workflows/empathy-map/workflow.md">[EM] Create Empathy Map: Guided 6-step process to create comprehensive user empathy map</item>
92
- <item cmd="VM or fuzzy match on validate" exec="{project-root}/_bmad/bme/_designos/workflows/empathy-map/validate.md">[VM] Validate Empathy Map: Review existing empathy map against research evidence</item>
93
- <item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
94
- <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
95
- </menu>
96
- </agent>
97
- ```