This commit is contained in:
Brian Madison 2025-06-16 18:28:45 -05:00
parent 37853ca495
commit 2a61ed1788
19 changed files with 827 additions and 29217 deletions

View File

@ -8,16 +8,7 @@ The `.roomodes` file defines all BMAD agents as custom modes using the proper `c
## Available Modes ## Available Modes
- **bmad-analyst** - Business Analyst
- **bmad-architect** - Solution Architect
- **bmad-bmad-master** - BMAD Master
- **bmad-bmad-orchestrator** - BMAD Orchestrator
- **bmad-dev** - Developer
- **bmad-pm** - Product Manager
- **bmad-po** - Product Owner
- **bmad-qa** - QA Specialist
- **bmad-sm** - Scrum Master
- **bmad-ux-expert** - UX Expert
## Usage ## Usage

View File

@ -1396,7 +1396,7 @@ After presenting the structure, apply `tasks#advanced-elicitation` protocol to r
├── {{package-manifest}} # Dependencies manifest ├── {{package-manifest}} # Dependencies manifest
├── {{config-files}} # Language/framework configs ├── {{config-files}} # Language/framework configs
└── README.md # Project documentation └── README.md # Project documentation
``` ```text
@{example: monorepo-structure} @{example: monorepo-structure}
project-root/ project-root/
@ -3174,7 +3174,7 @@ Present component architecture and apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{component_interaction_diagram}} {{component_interaction_diagram}}
``` ```text
## API Design and Integration ## API Design and Integration
@ -3214,7 +3214,7 @@ Present API design and apply `tasks#advanced-elicitation` protocol]]
```json ```json
{{response_schema}} {{response_schema}}
``` ```text
<</REPEAT>> <</REPEAT>>

View File

@ -2379,7 +2379,7 @@ Create an `index.md` file in the sharded folder that:
- [Section Name 2](./section-name-2.md) - [Section Name 2](./section-name-2.md)
- [Section Name 3](./section-name-3.md) - [Section Name 3](./section-name-3.md)
... ...
``` ```text
### 5. Preserve Special Content ### 5. Preserve Special Content
@ -2922,7 +2922,7 @@ After presenting the structure, apply `tasks#advanced-elicitation` protocol to r
├── {{package-manifest}} # Dependencies manifest ├── {{package-manifest}} # Dependencies manifest
├── {{config-files}} # Language/framework configs ├── {{config-files}} # Language/framework configs
└── README.md # Project documentation └── README.md # Project documentation
``` ```text
@{example: monorepo-structure} @{example: monorepo-structure}
project-root/ project-root/
@ -3505,7 +3505,7 @@ Present component architecture and apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{component_interaction_diagram}} {{component_interaction_diagram}}
``` ```text
## API Design and Integration ## API Design and Integration
@ -3545,7 +3545,7 @@ Present API design and apply `tasks#advanced-elicitation` protocol]]
```json ```json
{{response_schema}} {{response_schema}}
``` ```text
<</REPEAT>> <</REPEAT>>
@ -4613,7 +4613,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{sitemap_diagram}} {{sitemap_diagram}}
``` ```text
@{example: sitemap} @{example: sitemap}
@ -4668,7 +4668,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
``` ```text
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**
@ -8617,7 +8617,7 @@ Agent: Available IDE agents:
6. sm 6. sm
Please select an agent by specifying: <agent-name> Please select an agent by specifying: <agent-name>
``` ```text
### Example Loading an Agent ### Example Loading an Agent
@ -8639,7 +8639,7 @@ Agent: Could not find IDE agent 'designer'. Available agents:
6. sm 6. sm
Please select an agent by specifying: <agent-name> Please select an agent by specifying: <agent-name>
``` ```text
### Example Task Outside Agent Scope ### Example Task Outside Agent Scope
@ -8763,7 +8763,7 @@ In Progress:
- Create PRD (John) - awaiting input - Create PRD (John) - awaiting input
Next: Technical Architecture Next: Technical Architecture
``` ```text
### /workflow-resume ### /workflow-resume
@ -8875,7 +8875,7 @@ Sally: I see we're in the Product Planning stage of the greenfield-fullstack wor
Let's create the UX strategy and UI specifications. First, let me review Let's create the UX strategy and UI specifications. First, let me review
the PRD to understand the features we're designing for... the PRD to understand the features we're designing for...
``` ```text
## Multi-Path Workflows ## Multi-Path Workflows

View File

@ -467,7 +467,7 @@ In Progress:
- Create PRD (John) - awaiting input - Create PRD (John) - awaiting input
Next: Technical Architecture Next: Technical Architecture
``` ```text
### /workflow-resume ### /workflow-resume
@ -579,7 +579,7 @@ Sally: I see we're in the Product Planning stage of the greenfield-fullstack wor
Let's create the UX strategy and UI specifications. First, let me review Let's create the UX strategy and UI specifications. First, let me review
the PRD to understand the features we're designing for... the PRD to understand the features we're designing for...
``` ```text
## Multi-Path Workflows ## Multi-Path Workflows

View File

@ -1085,7 +1085,7 @@ Create an `index.md` file in the sharded folder that:
- [Section Name 2](./section-name-2.md) - [Section Name 2](./section-name-2.md)
- [Section Name 3](./section-name-3.md) - [Section Name 3](./section-name-3.md)
... ...
``` ```text
### 5. Preserve Special Content ### 5. Preserve Special Content

View File

@ -316,7 +316,7 @@ Create an `index.md` file in the sharded folder that:
- [Section Name 2](./section-name-2.md) - [Section Name 2](./section-name-2.md)
- [Section Name 3](./section-name-3.md) - [Section Name 3](./section-name-3.md)
... ...
``` ```text
### 5. Preserve Special Content ### 5. Preserve Special Content

View File

@ -43,27 +43,24 @@ These references map directly to bundle sections:
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode: CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
```yml ```yaml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: Quinn name: Quinn
id: qa id: qa
title: Quality Assurance Test Architect title: Quality Assurance Test Architect
icon: 🧪 icon: 🧪
whenToUse: "Use for test planning, test case creation, quality assurance, bug reporting, and testing strategy" whenToUse: Use for test planning, test case creation, quality assurance, bug reporting, and testing strategy
customization: customization: null
persona: persona:
role: Test Architect & Automation Expert role: Test Architect & Automation Expert
style: Methodical, detail-oriented, quality-focused, strategic style: Methodical, detail-oriented, quality-focused, strategic
identity: Senior quality advocate with expertise in test architecture and automation identity: Senior quality advocate with expertise in test architecture and automation
focus: Comprehensive testing strategies, automation frameworks, quality assurance at every phase focus: Comprehensive testing strategies, automation frameworks, quality assurance at every phase
core_principles: core_principles:
- Test Strategy & Architecture - Design holistic testing strategies across all levels - Test Strategy & Architecture - Design holistic testing strategies across all levels
- Automation Excellence - Build maintainable and efficient test automation frameworks - Automation Excellence - Build maintainable and efficient test automation frameworks
@ -75,16 +72,13 @@ persona:
- Continuous Testing & CI/CD - Integrate tests seamlessly into pipelines - Continuous Testing & CI/CD - Integrate tests seamlessly into pipelines
- Quality Metrics & Reporting - Track meaningful metrics and provide insights - Quality Metrics & Reporting - Track meaningful metrics and provide insights
- Cross-Browser & Cross-Platform Testing - Ensure comprehensive compatibility - Cross-Browser & Cross-Platform Testing - Ensure comprehensive compatibility
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) QA consultation with advanced-elicitation for test strategy - '*chat-mode" - (Default) QA consultation with advanced-elicitation for test strategy'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the QA Test Architect, and then abandon inhabiting this persona - '*exit" - Say goodbye as the QA Test Architect, and then abandon inhabiting this persona'
dependencies: dependencies:
data: data:
- technical-preferences - technical-preferences

View File

@ -43,27 +43,24 @@ These references map directly to bundle sections:
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode: CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
```yml ```yaml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: Sally name: Sally
id: ux-expert id: ux-expert
title: UX Expert title: UX Expert
icon: 🎨 icon: 🎨
whenToUse: "Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization" whenToUse: Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization
customization: customization: null
persona: persona:
role: User Experience Designer & UI Specialist role: User Experience Designer & UI Specialist
style: Empathetic, creative, detail-oriented, user-obsessed, data-informed style: Empathetic, creative, detail-oriented, user-obsessed, data-informed
identity: UX Expert specializing in user experience design and creating intuitive interfaces identity: UX Expert specializing in user experience design and creating intuitive interfaces
focus: User research, interaction design, visual design, accessibility, AI-powered UI generation focus: User research, interaction design, visual design, accessibility, AI-powered UI generation
core_principles: core_principles:
- User-Centricity Above All - Every design decision must serve user needs - User-Centricity Above All - Every design decision must serve user needs
- Evidence-Based Design - Base decisions on research and testing, not assumptions - Evidence-Based Design - Base decisions on research and testing, not assumptions
@ -78,20 +75,17 @@ persona:
- You have a keen eye for detail and a deep empathy for users. - You have a keen eye for detail and a deep empathy for users.
- You're particularly skilled at translating user needs into beautiful, functional designs. - You're particularly skilled at translating user needs into beautiful, functional designs.
- You can craft effective prompts for AI UI generation tools like v0, or Lovable. - You can craft effective prompts for AI UI generation tools like v0, or Lovable.
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
- Always start by understanding the user's context, goals, and constraints before proposing solutions. - Always start by understanding the user's context, goals, and constraints before proposing solutions.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) UX consultation with advanced-elicitation for design decisions - '*chat-mode" - (Default) UX consultation with advanced-elicitation for design decisions'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*generate-ui-prompt" - Create AI frontend generation prompt - '*generate-ui-prompt" - Create AI frontend generation prompt'
- "*research {topic}" - Generate deep research prompt for UX investigation - '*research {topic}" - Generate deep research prompt for UX investigation'
- "*execute-checklist {checklist}" - Run design validation checklist - '*execute-checklist {checklist}" - Run design validation checklist'
- "*exit" - Say goodbye as the UX Expert, and then abandon inhabiting this persona - '*exit" - Say goodbye as the UX Expert, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- generate-ai-frontend-prompt - generate-ai-frontend-prompt
@ -721,7 +715,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{sitemap_diagram}} {{sitemap_diagram}}
``` ```text
@{example: sitemap} @{example: sitemap}
@ -776,7 +770,7 @@ Create subsections for each major flow. After presenting all flows, apply `tasks
```mermaid ```mermaid
{{flow_diagram}} {{flow_diagram}}
``` ```text
**Edge Cases & Error Handling:** **Edge Cases & Error Handling:**

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -937,7 +937,7 @@ Difficulty
|/ / |/ /
+-----------> Level Number +-----------> Level Number
Tutorial Early Mid Late Tutorial Early Mid Late
``` ```text
**Scaling Parameters:** **Scaling Parameters:**
- Enemy count: {{start_count}} → {{end_count}} - Enemy count: {{start_count}} → {{end_count}}

View File

@ -190,7 +190,7 @@ This architecture is designed to support the gameplay mechanics defined in the G
│ ├── stories/ # Development stories │ ├── stories/ # Development stories
│ └── architecture/ # Technical docs │ └── architecture/ # Technical docs
└── dist/ # Built game files └── dist/ # Built game files
``` ```text
### Module Organization ### Module Organization
@ -869,7 +869,7 @@ interface GameSystem {
update(delta: number): void; update(delta: number): void;
shutdown(): void; shutdown(): void;
} }
``` ```text
**Scene Data Interfaces:** **Scene Data Interfaces:**
```typescript ```typescript
@ -1018,7 +1018,7 @@ class Player extends GameEntity {
this.health = this.addComponent(new HealthComponent(this, 100)); this.health = this.addComponent(new HealthComponent(this, 100));
} }
} }
``` ```text
### System Management ### System Management
@ -1150,7 +1150,7 @@ class GameScene extends Phaser.Scene {
} }
} }
} }
``` ```text
## Input Handling ## Input Handling
@ -1308,7 +1308,7 @@ describe('HealthComponent', () => {
expect(healthComponent.isAlive()).toBe(false); expect(healthComponent.isAlive()).toBe(false);
}); });
}); });
``` ```text
### Integration Testing ### Integration Testing

View File

@ -451,7 +451,7 @@ This architecture is designed to support the gameplay mechanics defined in the G
│ ├── stories/ # Development stories │ ├── stories/ # Development stories
│ └── architecture/ # Technical docs │ └── architecture/ # Technical docs
└── dist/ # Built game files └── dist/ # Built game files
``` ```text
### Module Organization ### Module Organization
@ -1929,7 +1929,7 @@ Difficulty
|/ / |/ /
+-----------> Level Number +-----------> Level Number
Tutorial Early Mid Late Tutorial Early Mid Late
``` ```text
**Scaling Parameters:** **Scaling Parameters:**
- Enemy count: {{start_count}} → {{end_count}} - Enemy count: {{start_count}} → {{end_count}}
@ -3820,7 +3820,7 @@ interface GameSystem {
update(delta: number): void; update(delta: number): void;
shutdown(): void; shutdown(): void;
} }
``` ```text
**Scene Data Interfaces:** **Scene Data Interfaces:**
```typescript ```typescript
@ -3969,7 +3969,7 @@ class Player extends GameEntity {
this.health = this.addComponent(new HealthComponent(this, 100)); this.health = this.addComponent(new HealthComponent(this, 100));
} }
} }
``` ```text
### System Management ### System Management
@ -4101,7 +4101,7 @@ class GameScene extends Phaser.Scene {
} }
} }
} }
``` ```text
## Input Handling ## Input Handling
@ -4259,7 +4259,7 @@ describe('HealthComponent', () => {
expect(healthComponent.isAlive()).toBe(false); expect(healthComponent.isAlive()).toBe(false);
}); });
}); });
``` ```text
### Integration Testing ### Integration Testing

View File

@ -1053,7 +1053,7 @@ eksctl create cluster \
--nodegroup-name {{nodegroup_name}} \ --nodegroup-name {{nodegroup_name}} \
--node-type {{instance_type}} \ --node-type {{instance_type}} \
--nodes {{node_count}} --nodes {{node_count}}
``` ```text
^^/CONDITION: uses_eks^^ ^^/CONDITION: uses_eks^^
@ -1141,7 +1141,7 @@ spec:
### Repository Structure ### Repository Structure
``` ```text
platform-gitops/ platform-gitops/
 clusters/  clusters/
  production/   production/
@ -1248,7 +1248,7 @@ spec:
- name: deploy - name: deploy
taskRef: taskRef:
name: gitops-deploy name: gitops-deploy
``` ```text
### Development Tools ### Development Tools

1378
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@
"url": "git+https://github.com/bmadcode/BMAD-METHOD.git" "url": "git+https://github.com/bmadcode/BMAD-METHOD.git"
}, },
"engines": { "engines": {
"node": ">=14.0.0" "node": ">=20.0.0"
}, },
"devDependencies": { "devDependencies": {
"husky": "^9.1.7", "husky": "^9.1.7",

View File

@ -1,12 +1,12 @@
{ {
"name": "bmad-method", "name": "bmad-method",
"version": "4.0.1", "version": "4.3.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "bmad-method", "name": "bmad-method",
"version": "4.0.1", "version": "4.3.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"chalk": "^5.4.1", "chalk": "^5.4.1",
@ -21,7 +21,7 @@
"bmad-method": "bin/bmad.js" "bmad-method": "bin/bmad.js"
}, },
"engines": { "engines": {
"node": ">=14.0.0" "node": ">=20.0.0"
} }
}, },
"node_modules/@inquirer/checkbox": { "node_modules/@inquirer/checkbox": {

View File

@ -30,7 +30,7 @@
"ora": "^8.2.0" "ora": "^8.2.0"
}, },
"engines": { "engines": {
"node": ">=14.0.0" "node": ">=20.0.0"
}, },
"repository": { "repository": {
"type": "git", "type": "git",