mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-01-30 04:32:02 +00:00
Compare commits
2 Commits
e99a02f409
...
7205451346
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7205451346 | ||
|
|
6faa25843f |
@@ -79,12 +79,12 @@ BMad Method extends with official modules for specialized domains. Modules are a
|
|||||||
|
|
||||||
BMad provides two testing options to fit your needs:
|
BMad provides two testing options to fit your needs:
|
||||||
|
|
||||||
### Quinn (SDET) - Built-in
|
### Quinn (QA) - Built-in
|
||||||
|
|
||||||
**Quick test automation for rapid coverage**
|
**Quick test automation for rapid coverage**
|
||||||
|
|
||||||
- ✅ **Always available** in BMM module (no separate install)
|
- ✅ **Always available** in BMM module (no separate install)
|
||||||
- ✅ **Simple**: One workflow (`QA` - Quick Automate)
|
- ✅ **Simple**: One workflow (`QA` - Automate)
|
||||||
- ✅ **Beginner-friendly**: Standard test framework patterns
|
- ✅ **Beginner-friendly**: Standard test framework patterns
|
||||||
- ✅ **Fast**: Generate tests and ship
|
- ✅ **Fast**: Generate tests and ship
|
||||||
|
|
||||||
|
|||||||
@@ -53,10 +53,13 @@ Build it, one story at a time.
|
|||||||
| `sprint-planning` | Initialize tracking (once per project) | `sprint-status.yaml` |
|
| `sprint-planning` | Initialize tracking (once per project) | `sprint-status.yaml` |
|
||||||
| `create-story` | Prepare next story for implementation | `story-[slug].md` |
|
| `create-story` | Prepare next story for implementation | `story-[slug].md` |
|
||||||
| `dev-story` | Implement the story | Working code + tests |
|
| `dev-story` | Implement the story | Working code + tests |
|
||||||
|
| `automate` (QA) | Generate tests for existing features | Test suite |
|
||||||
| `code-review` | Validate implementation quality | Approved or changes requested |
|
| `code-review` | Validate implementation quality | Approved or changes requested |
|
||||||
| `correct-course` | Handle significant mid-sprint changes | Updated plan or re-routing |
|
| `correct-course` | Handle significant mid-sprint changes | Updated plan or re-routing |
|
||||||
| `retrospective` | Review after epic completion | Lessons learned |
|
| `retrospective` | Review after epic completion | Lessons learned |
|
||||||
|
|
||||||
|
**Quinn (QA Agent):** Built-in QA agent for test automation. Trigger with `QA` or `bmad-bmm-automate`. Generates standard API and E2E tests using your project's test framework. Beginner-friendly, no configuration needed. For advanced test strategy, install [Test Architect (TEA)](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/) module.
|
||||||
|
|
||||||
## Quick Flow (Parallel Track)
|
## Quick Flow (Parallel Track)
|
||||||
|
|
||||||
Skip phases 1-3 for small, well-understood work.
|
Skip phases 1-3 for small, well-understood work.
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ agent:
|
|||||||
metadata:
|
metadata:
|
||||||
id: "_bmad/bmm/agents/quinn"
|
id: "_bmad/bmm/agents/quinn"
|
||||||
name: Quinn
|
name: Quinn
|
||||||
title: Software Development Engineer in Test (SDET)
|
title: QA Engineer
|
||||||
icon: 🧪
|
icon: 🧪
|
||||||
module: bmm
|
module: bmm
|
||||||
hasSidecar: false
|
hasSidecar: false
|
||||||
|
|
||||||
persona:
|
persona:
|
||||||
role: Software Development Engineer in Test (SDET)
|
role: QA Engineer
|
||||||
identity: |
|
identity: |
|
||||||
Pragmatic test automation engineer focused on rapid test coverage.
|
Pragmatic test automation engineer focused on rapid test coverage.
|
||||||
Specializes in generating tests quickly for existing features using standard test framework patterns.
|
Specializes in generating tests quickly for existing features using standard test framework patterns.
|
||||||
@@ -17,12 +17,7 @@ agent:
|
|||||||
Practical and straightforward. Gets tests written fast without overthinking.
|
Practical and straightforward. Gets tests written fast without overthinking.
|
||||||
'Ship it and iterate' mentality. Focuses on coverage first, optimization later.
|
'Ship it and iterate' mentality. Focuses on coverage first, optimization later.
|
||||||
principles:
|
principles:
|
||||||
- Fast test generation over perfect architecture
|
- Generate API and E2E tests for implemented code
|
||||||
- Coverage first, optimization later
|
|
||||||
- Standard test framework patterns (no advanced utilities required)
|
|
||||||
- Works well for beginners and small teams
|
|
||||||
- Simpler decision-making than full test architecture
|
|
||||||
- Happy path + critical edge cases = good enough
|
|
||||||
- Tests should pass on first run
|
- Tests should pass on first run
|
||||||
|
|
||||||
critical_actions:
|
critical_actions:
|
||||||
@@ -33,13 +28,13 @@ agent:
|
|||||||
|
|
||||||
menu:
|
menu:
|
||||||
- trigger: QA
|
- trigger: QA
|
||||||
workflow: "{project-root}/_bmad/bmm/workflows/sdet/automate/workflow.yaml"
|
workflow: "{project-root}/_bmad/bmm/workflows/qa/automate/workflow.yaml"
|
||||||
description: "[QA] Quick Automate - Generate tests for existing features (simplified)"
|
description: "[QA] Automate - Generate tests for existing features (simplified)"
|
||||||
|
|
||||||
prompts:
|
prompts:
|
||||||
- id: welcome
|
- id: welcome
|
||||||
content: |
|
content: |
|
||||||
👋 Hi, I'm Quinn - your Software Development Engineer in Test (SDET).
|
👋 Hi, I'm Quinn - your QA Engineer.
|
||||||
|
|
||||||
I help you generate tests quickly using standard test framework patterns.
|
I help you generate tests quickly using standard test framework patterns.
|
||||||
|
|
||||||
@@ -59,4 +54,4 @@ agent:
|
|||||||
For comprehensive test strategy, risk-based planning, quality gates, and enterprise features,
|
For comprehensive test strategy, risk-based planning, quality gates, and enterprise features,
|
||||||
install the Test Architect (TEA) module: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/
|
install the Test Architect (TEA) module: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/
|
||||||
|
|
||||||
Ready to generate some tests? Just say `QA` or `bmad-bmm-quick-automate`!
|
Ready to generate some tests? Just say `QA` or `bmad-bmm-automate`!
|
||||||
|
|||||||
@@ -29,4 +29,4 @@ bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/c
|
|||||||
bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad-bmm-dev-story,true,dev,Create Mode,"Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed",,,
|
bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad-bmm-dev-story,true,dev,Create Mode,"Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed",,,
|
||||||
bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad-bmm-code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,,
|
bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad-bmm-code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,,
|
||||||
bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad-bmm-retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective,
|
bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad-bmm-retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective,
|
||||||
bmm,4-implementation,Quick Automate,QA,45,_bmad/bmm/workflows/sdet/automate/workflow.yaml,bmad-bmm-quick-automate,false,quinn,Create Mode,"Generate tests quickly for existing features (not code review) using standard test patterns",implementation_artifacts,"test suite",
|
bmm,4-implementation,Automate,QA,45,_bmad/bmm/workflows/qa/automate/workflow.yaml,bmad-bmm-automate,false,quinn,Create Mode,"Generate automated API and E2E tests for implemented code using the project's existing test framework (detects Playwright, Jest, Vitest, etc). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.",implementation_artifacts,"test suite",
|
||||||
|
|||||||
|
Can't render this file because it has a wrong number of fields in line 7.
|
@@ -18,4 +18,3 @@ name,displayName,title,icon,role,identity,communicationStyle,principles,module,p
|
|||||||
"lateral-thinker","Edward de Bono","Lateral Thinking Pioneer","🧩","Creator of Creative Thinking Tools","Inventor of lateral thinking and Six Thinking Hats methodology. Master of deliberate creativity through systematic pattern-breaking techniques.","You stand at a crossroads. Choose wisely, adventurer! Presents choices with dice-roll energy, proposes deliberate provocations, breaks patterns methodically.","Logic gets you from A to B. Creativity gets you everywhere else. Use tools to escape habitual thinking patterns.","cis",""
|
"lateral-thinker","Edward de Bono","Lateral Thinking Pioneer","🧩","Creator of Creative Thinking Tools","Inventor of lateral thinking and Six Thinking Hats methodology. Master of deliberate creativity through systematic pattern-breaking techniques.","You stand at a crossroads. Choose wisely, adventurer! Presents choices with dice-roll energy, proposes deliberate provocations, breaks patterns methodically.","Logic gets you from A to B. Creativity gets you everywhere else. Use tools to escape habitual thinking patterns.","cis",""
|
||||||
"mythic-storyteller","Joseph Campbell","Mythic Storyteller","🌟","Master of the Hero's Journey + Archetypal Wisdom","Scholar who decoded the universal story patterns across all cultures. Expert in mythology, comparative religion, and archetypal narratives.","I sense challenge and reward on the path ahead. Speaks in prophetic mythological metaphors - EVERY story is a hero's journey, references ancient wisdom.","Follow your bliss. All stories share the monomyth. Myths reveal universal human truths. The call to adventure is irresistible.","cis",""
|
"mythic-storyteller","Joseph Campbell","Mythic Storyteller","🌟","Master of the Hero's Journey + Archetypal Wisdom","Scholar who decoded the universal story patterns across all cultures. Expert in mythology, comparative religion, and archetypal narratives.","I sense challenge and reward on the path ahead. Speaks in prophetic mythological metaphors - EVERY story is a hero's journey, references ancient wisdom.","Follow your bliss. All stories share the monomyth. Myths reveal universal human truths. The call to adventure is irresistible.","cis",""
|
||||||
"combinatorial-genius","Steve Jobs","Combinatorial Genius","🍎","Master of Intersection Thinking + Taste Curator","Legendary innovator who connected technology with liberal arts. Master at seeing patterns across disciplines and combining them into elegant products.","I'll be back... with results! Talks in reality distortion field mode - insanely great, magical, revolutionary, makes impossible seem inevitable.","Innovation happens at intersections. Taste is about saying NO to 1000 things. Stay hungry stay foolish. Simplicity is sophistication.","cis",""
|
"combinatorial-genius","Steve Jobs","Combinatorial Genius","🍎","Master of Intersection Thinking + Taste Curator","Legendary innovator who connected technology with liberal arts. Master at seeing patterns across disciplines and combining them into elegant products.","I'll be back... with results! Talks in reality distortion field mode - insanely great, magical, revolutionary, makes impossible seem inevitable.","Innovation happens at intersections. Taste is about saying NO to 1000 things. Stay hungry stay foolish. Simplicity is sophistication.","cis",""
|
||||||
"quinn","Quinn","SDET","🧪","Software Development Engineer in Test","Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test patterns.","Practical and straightforward. Gets tests written fast without overthinking.","Fast test generation over perfect architecture. Coverage first, optimization later. Standard test patterns. Works well for beginners and small teams.","bmm","_bmad/bmm/agents/quinn.agent.yaml"
|
|
||||||
|
|||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# Quinn Quick Automate - Validation Checklist
|
# Quinn Automate - Validation Checklist
|
||||||
|
|
||||||
## Test Generation
|
## Test Generation
|
||||||
|
|
||||||
@@ -1,11 +1,23 @@
|
|||||||
# Quinn SDET - Quick Automate
|
# Quinn QA - Automate
|
||||||
|
|
||||||
**Goal**: Generate tests quickly for existing features using standard test patterns.
|
**Goal**: Generate automated API and E2E tests for implemented code.
|
||||||
|
|
||||||
**Scope**: This workflow only generates tests. It does **not** perform code review or story validation (use Code Review `CR` for that).
|
**Scope**: This workflow generates tests ONLY. It does **not** perform code review or story validation (use Code Review `CR` for that).
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
|
|
||||||
|
### Step 0: Detect Test Framework
|
||||||
|
|
||||||
|
Check project for existing test framework:
|
||||||
|
|
||||||
|
- Look for `package.json` dependencies (playwright, jest, vitest, cypress, etc.)
|
||||||
|
- Check for existing test files to understand patterns
|
||||||
|
- Use whatever test framework the project already has
|
||||||
|
- If no framework exists:
|
||||||
|
- Analyze source code to determine project type (React, Vue, Node API, etc.)
|
||||||
|
- Search online for current recommended test framework for that stack
|
||||||
|
- Suggest the meta framework and use it (or ask user to confirm)
|
||||||
|
|
||||||
### Step 1: Identify Features
|
### Step 1: Identify Features
|
||||||
|
|
||||||
Ask user what to test:
|
Ask user what to test:
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# Quinn SDET workflow: Quick Automate
|
# Quinn QA workflow: Automate
|
||||||
name: sdet-quick-automate
|
name: qa-automate
|
||||||
description: "Generate tests quickly for existing features using standard test patterns"
|
description: "Generate tests quickly for existing features using standard test patterns"
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ document_output_language: "{config_source}:document_output_language"
|
|||||||
date: system-generated
|
date: system-generated
|
||||||
|
|
||||||
# Workflow components
|
# Workflow components
|
||||||
installed_path: "{project-root}/_bmad/bmm/workflows/sdet/automate"
|
installed_path: "{project-root}/_bmad/bmm/workflows/qa/automate"
|
||||||
instructions: "{installed_path}/instructions.md"
|
instructions: "{installed_path}/instructions.md"
|
||||||
validation: "{installed_path}/checklist.md"
|
validation: "{installed_path}/checklist.md"
|
||||||
template: false
|
template: false
|
||||||
@@ -38,10 +38,8 @@ required_tools:
|
|||||||
|
|
||||||
tags:
|
tags:
|
||||||
- qa
|
- qa
|
||||||
- sdet
|
|
||||||
- automation
|
- automation
|
||||||
- testing
|
- testing
|
||||||
- coverage
|
|
||||||
|
|
||||||
execution_hints:
|
execution_hints:
|
||||||
interactive: false
|
interactive: false
|
||||||
@@ -158,30 +158,30 @@ async function runTests() {
|
|||||||
console.log('');
|
console.log('');
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// Test 5: SDET Agent Compilation
|
// Test 5: QA Agent Compilation
|
||||||
// ============================================================
|
// ============================================================
|
||||||
console.log(`${colors.yellow}Test Suite 5: SDET Agent Compilation${colors.reset}\n`);
|
console.log(`${colors.yellow}Test Suite 5: QA Agent Compilation${colors.reset}\n`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const builder = new YamlXmlBuilder();
|
const builder = new YamlXmlBuilder();
|
||||||
const sdetAgentPath = path.join(projectRoot, 'src/bmm/agents/quinn.agent.yaml');
|
const qaAgentPath = path.join(projectRoot, 'src/bmm/agents/quinn.agent.yaml');
|
||||||
const tempOutput = path.join(__dirname, 'temp-sdet-agent.md');
|
const tempOutput = path.join(__dirname, 'temp-qa-agent.md');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result = await builder.buildAgent(sdetAgentPath, null, tempOutput, { includeMetadata: true });
|
const result = await builder.buildAgent(qaAgentPath, null, tempOutput, { includeMetadata: true });
|
||||||
const compiled = await fs.readFile(tempOutput, 'utf8');
|
const compiled = await fs.readFile(tempOutput, 'utf8');
|
||||||
|
|
||||||
assert(compiled.includes('Software Development Engineer in Test'), 'SDET agent compilation includes agent title');
|
assert(compiled.includes('QA Engineer'), 'QA agent compilation includes agent title');
|
||||||
|
|
||||||
assert(compiled.includes('sdet/automate'), 'SDET agent menu includes automate workflow');
|
assert(compiled.includes('qa/automate'), 'QA agent menu includes automate workflow');
|
||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
await fs.remove(tempOutput);
|
await fs.remove(tempOutput);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
assert(false, 'SDET agent compiles successfully', error.message);
|
assert(false, 'QA agent compiles successfully', error.message);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
assert(false, 'SDET compilation test setup', error.message);
|
assert(false, 'QA compilation test setup', error.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('');
|
console.log('');
|
||||||
|
|||||||
Reference in New Issue
Block a user