bmad-method 5.0.0-beta.2 → 5.0.1
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.
- package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
- package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
- package/.github/workflows/discord.yaml +11 -2
- package/.github/workflows/format-check.yaml +42 -0
- package/.github/workflows/manual-release.yaml +173 -0
- package/.husky/pre-commit +3 -0
- package/.vscode/settings.json +26 -1
- package/CHANGELOG.md +0 -11
- package/README.md +2 -0
- package/bmad-core/agent-teams/team-all.yaml +1 -1
- package/bmad-core/agents/bmad-orchestrator.md +1 -1
- package/bmad-core/agents/dev.md +4 -4
- package/bmad-core/data/bmad-kb.md +1 -1
- package/bmad-core/data/test-levels-framework.md +12 -12
- package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
- package/bmad-core/tasks/nfr-assess.md +10 -10
- package/bmad-core/tasks/qa-gate.md +23 -23
- package/bmad-core/tasks/review-story.md +18 -18
- package/bmad-core/tasks/risk-profile.md +25 -25
- package/bmad-core/tasks/test-design.md +9 -9
- package/bmad-core/tasks/trace-requirements.md +21 -21
- package/bmad-core/templates/architecture-tmpl.yaml +49 -49
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
- package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
- package/bmad-core/templates/market-research-tmpl.yaml +2 -2
- package/bmad-core/templates/prd-tmpl.yaml +9 -9
- package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
- package/bmad-core/templates/qa-gate-tmpl.yaml +9 -9
- package/bmad-core/templates/story-tmpl.yaml +12 -12
- package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
- package/bmad-core/workflows/brownfield-service.yaml +1 -1
- package/bmad-core/workflows/brownfield-ui.yaml +1 -1
- package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
- package/bmad-core/workflows/greenfield-service.yaml +1 -1
- package/bmad-core/workflows/greenfield-ui.yaml +1 -1
- package/common/utils/bmad-doc-template.md +5 -5
- package/dist/agents/analyst.txt +28 -15
- package/dist/agents/architect.txt +220 -190
- package/dist/agents/bmad-master.txt +298 -255
- package/dist/agents/bmad-orchestrator.txt +1 -1
- package/dist/agents/pm.txt +20 -20
- package/dist/agents/po.txt +11 -11
- package/dist/agents/qa.txt +275 -618
- package/dist/agents/sm.txt +11 -11
- package/dist/agents/ux-expert.txt +23 -23
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -109
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -77
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -41
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +483 -474
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +1 -1
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -149
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -20
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +371 -358
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -25
- package/dist/teams/team-all.txt +581 -881
- package/dist/teams/team-fullstack.txt +316 -273
- package/dist/teams/team-ide-minimal.txt +276 -619
- package/dist/teams/team-no-ui.txt +281 -238
- package/docs/versioning-and-releases.md +114 -44
- package/eslint.config.mjs +119 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +26 -26
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
- package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
- package/package.json +62 -39
- package/prettier.config.mjs +32 -0
- package/release_notes.md +30 -0
- package/tools/bmad-npx-wrapper.js +10 -10
- package/tools/builders/web-builder.js +124 -130
- package/tools/bump-all-versions.js +42 -33
- package/tools/bump-expansion-version.js +23 -16
- package/tools/cli.js +10 -12
- package/tools/flattener/aggregate.js +10 -10
- package/tools/flattener/binary.js +44 -17
- package/tools/flattener/discovery.js +19 -18
- package/tools/flattener/files.js +6 -6
- package/tools/flattener/ignoreRules.js +125 -125
- package/tools/flattener/main.js +201 -304
- package/tools/flattener/projectRoot.js +75 -73
- package/tools/flattener/prompts.js +9 -9
- package/tools/flattener/stats.helpers.js +131 -67
- package/tools/flattener/stats.js +3 -3
- package/tools/flattener/test-matrix.js +201 -193
- package/tools/flattener/xml.js +33 -31
- package/tools/installer/bin/bmad.js +130 -89
- package/tools/installer/config/ide-agent-config.yaml +1 -1
- package/tools/installer/config/install.config.yaml +2 -2
- package/tools/installer/lib/config-loader.js +46 -42
- package/tools/installer/lib/file-manager.js +91 -113
- package/tools/installer/lib/ide-base-setup.js +57 -56
- package/tools/installer/lib/ide-setup.js +375 -343
- package/tools/installer/lib/installer.js +875 -714
- package/tools/installer/lib/memory-profiler.js +54 -53
- package/tools/installer/lib/module-manager.js +19 -15
- package/tools/installer/lib/resource-locator.js +26 -28
- package/tools/installer/package.json +19 -19
- package/tools/lib/dependency-resolver.js +26 -30
- package/tools/lib/yaml-utils.js +7 -7
- package/tools/preview-release-notes.js +66 -0
- package/tools/shared/bannerArt.js +3 -3
- package/tools/sync-installer-version.js +7 -9
- package/tools/update-expansion-version.js +14 -15
- package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
- package/tools/version-bump.js +41 -26
- package/tools/yaml-format.js +56 -43
- package/.github/workflows/promote-to-stable.yml +0 -144
- package/.github/workflows/release.yaml +0 -60
- package/.releaserc.json +0 -21
- package/tools/semantic-release-sync-installer.js +0 -30
|
@@ -6,10 +6,10 @@ Generate a comprehensive risk assessment matrix for a story implementation using
|
|
|
6
6
|
|
|
7
7
|
```yaml
|
|
8
8
|
required:
|
|
9
|
-
- story_id:
|
|
10
|
-
- story_path:
|
|
11
|
-
- story_title:
|
|
12
|
-
- story_slug:
|
|
9
|
+
- story_id: '{epic}.{story}' # e.g., "1.3"
|
|
10
|
+
- story_path: 'docs/stories/{epic}.{story}.*.md'
|
|
11
|
+
- story_title: '{title}' # If missing, derive from story file H1
|
|
12
|
+
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Purpose
|
|
@@ -79,14 +79,14 @@ For each category, identify specific risks:
|
|
|
79
79
|
|
|
80
80
|
```yaml
|
|
81
81
|
risk:
|
|
82
|
-
id:
|
|
82
|
+
id: 'SEC-001' # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
|
|
83
83
|
category: security
|
|
84
|
-
title:
|
|
85
|
-
description:
|
|
84
|
+
title: 'Insufficient input validation on user forms'
|
|
85
|
+
description: 'Form inputs not properly sanitized could lead to XSS attacks'
|
|
86
86
|
affected_components:
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
detection_method:
|
|
87
|
+
- 'UserRegistrationForm'
|
|
88
|
+
- 'ProfileUpdateForm'
|
|
89
|
+
detection_method: 'Code review revealed missing validation'
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
### 2. Risk Assessment
|
|
@@ -133,20 +133,20 @@ For each identified risk, provide mitigation:
|
|
|
133
133
|
|
|
134
134
|
```yaml
|
|
135
135
|
mitigation:
|
|
136
|
-
risk_id:
|
|
137
|
-
strategy:
|
|
136
|
+
risk_id: 'SEC-001'
|
|
137
|
+
strategy: 'preventive' # preventive|detective|corrective
|
|
138
138
|
actions:
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
139
|
+
- 'Implement input validation library (e.g., validator.js)'
|
|
140
|
+
- 'Add CSP headers to prevent XSS execution'
|
|
141
|
+
- 'Sanitize all user inputs before storage'
|
|
142
|
+
- 'Escape all outputs in templates'
|
|
143
143
|
testing_requirements:
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
residual_risk:
|
|
148
|
-
owner:
|
|
149
|
-
timeline:
|
|
144
|
+
- 'Security testing with OWASP ZAP'
|
|
145
|
+
- 'Manual penetration testing of forms'
|
|
146
|
+
- 'Unit tests for validation functions'
|
|
147
|
+
residual_risk: 'Low - Some zero-day vulnerabilities may remain'
|
|
148
|
+
owner: 'dev'
|
|
149
|
+
timeline: 'Before deployment'
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
## Outputs
|
|
@@ -172,12 +172,12 @@ risk_summary:
|
|
|
172
172
|
highest:
|
|
173
173
|
id: SEC-001
|
|
174
174
|
score: 9
|
|
175
|
-
title:
|
|
175
|
+
title: 'XSS on profile form'
|
|
176
176
|
recommendations:
|
|
177
177
|
must_fix:
|
|
178
|
-
-
|
|
178
|
+
- 'Add input sanitization & CSP'
|
|
179
179
|
monitor:
|
|
180
|
-
-
|
|
180
|
+
- 'Add security alerts for auth endpoints'
|
|
181
181
|
```
|
|
182
182
|
|
|
183
183
|
### Output 2: Markdown Report
|
|
@@ -6,10 +6,10 @@ Create comprehensive test scenarios with appropriate test level recommendations
|
|
|
6
6
|
|
|
7
7
|
```yaml
|
|
8
8
|
required:
|
|
9
|
-
- story_id:
|
|
10
|
-
- story_path:
|
|
11
|
-
- story_title:
|
|
12
|
-
- story_slug:
|
|
9
|
+
- story_id: '{epic}.{story}' # e.g., "1.3"
|
|
10
|
+
- story_path: '{devStoryLocation}/{epic}.{story}.*.md' # Path from core-config.yaml
|
|
11
|
+
- story_title: '{title}' # If missing, derive from story file H1
|
|
12
|
+
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Purpose
|
|
@@ -62,13 +62,13 @@ For each identified test need, create:
|
|
|
62
62
|
|
|
63
63
|
```yaml
|
|
64
64
|
test_scenario:
|
|
65
|
-
id:
|
|
66
|
-
requirement:
|
|
65
|
+
id: '{epic}.{story}-{LEVEL}-{SEQ}'
|
|
66
|
+
requirement: 'AC reference'
|
|
67
67
|
priority: P0|P1|P2|P3
|
|
68
68
|
level: unit|integration|e2e
|
|
69
|
-
description:
|
|
70
|
-
justification:
|
|
71
|
-
mitigates_risks: [
|
|
69
|
+
description: 'What is being tested'
|
|
70
|
+
justification: 'Why this level was chosen'
|
|
71
|
+
mitigates_risks: ['RISK-001'] # If risk profile exists
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
### 5. Validate Coverage
|
|
@@ -31,21 +31,21 @@ Identify all testable requirements from:
|
|
|
31
31
|
For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
|
|
32
32
|
|
|
33
33
|
```yaml
|
|
34
|
-
requirement:
|
|
34
|
+
requirement: 'AC1: User can login with valid credentials'
|
|
35
35
|
test_mappings:
|
|
36
|
-
- test_file:
|
|
37
|
-
test_case:
|
|
36
|
+
- test_file: 'auth/login.test.ts'
|
|
37
|
+
test_case: 'should successfully login with valid email and password'
|
|
38
38
|
# Given-When-Then describes WHAT the test validates, not HOW it's coded
|
|
39
|
-
given:
|
|
40
|
-
when:
|
|
41
|
-
then:
|
|
39
|
+
given: 'A registered user with valid credentials'
|
|
40
|
+
when: 'They submit the login form'
|
|
41
|
+
then: 'They are redirected to dashboard and session is created'
|
|
42
42
|
coverage: full
|
|
43
43
|
|
|
44
|
-
- test_file:
|
|
45
|
-
test_case:
|
|
46
|
-
given:
|
|
47
|
-
when:
|
|
48
|
-
then:
|
|
44
|
+
- test_file: 'e2e/auth-flow.test.ts'
|
|
45
|
+
test_case: 'complete login flow'
|
|
46
|
+
given: 'User on login page'
|
|
47
|
+
when: 'Entering valid credentials and submitting'
|
|
48
|
+
then: 'Dashboard loads with user data'
|
|
49
49
|
coverage: integration
|
|
50
50
|
```
|
|
51
51
|
|
|
@@ -67,19 +67,19 @@ Document any gaps found:
|
|
|
67
67
|
|
|
68
68
|
```yaml
|
|
69
69
|
coverage_gaps:
|
|
70
|
-
- requirement:
|
|
71
|
-
gap:
|
|
70
|
+
- requirement: 'AC3: Password reset email sent within 60 seconds'
|
|
71
|
+
gap: 'No test for email delivery timing'
|
|
72
72
|
severity: medium
|
|
73
73
|
suggested_test:
|
|
74
74
|
type: integration
|
|
75
|
-
description:
|
|
75
|
+
description: 'Test email service SLA compliance'
|
|
76
76
|
|
|
77
|
-
- requirement:
|
|
78
|
-
gap:
|
|
77
|
+
- requirement: 'AC5: Support 1000 concurrent users'
|
|
78
|
+
gap: 'No load testing implemented'
|
|
79
79
|
severity: high
|
|
80
80
|
suggested_test:
|
|
81
81
|
type: performance
|
|
82
|
-
description:
|
|
82
|
+
description: 'Load test with 1000 concurrent connections'
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
## Outputs
|
|
@@ -95,11 +95,11 @@ trace:
|
|
|
95
95
|
full: Y
|
|
96
96
|
partial: Z
|
|
97
97
|
none: W
|
|
98
|
-
planning_ref:
|
|
98
|
+
planning_ref: 'docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
|
|
99
99
|
uncovered:
|
|
100
|
-
- ac:
|
|
101
|
-
reason:
|
|
102
|
-
notes:
|
|
100
|
+
- ac: 'AC3'
|
|
101
|
+
reason: 'No test found for password reset timing'
|
|
102
|
+
notes: 'See docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
### Output 2: Traceability Report
|
|
@@ -20,20 +20,20 @@ sections:
|
|
|
20
20
|
- id: intro-content
|
|
21
21
|
content: |
|
|
22
22
|
This document outlines the overall project architecture for {{project_name}}, including backend systems, shared services, and non-UI specific concerns. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development, ensuring consistency and adherence to chosen patterns and technologies.
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
**Relationship to Frontend Architecture:**
|
|
25
25
|
If the project includes a significant user interface, a separate Frontend Architecture Document will detail the frontend-specific design and MUST be used in conjunction with this document. Core technology stack choices documented herein (see "Tech Stack") are definitive for the entire project, including any frontend components.
|
|
26
26
|
- id: starter-template
|
|
27
27
|
title: Starter Template or Existing Project
|
|
28
28
|
instruction: |
|
|
29
29
|
Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
1. Review the PRD and brainstorming brief for any mentions of:
|
|
32
32
|
- Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
|
|
33
33
|
- Existing projects or codebases being used as a foundation
|
|
34
34
|
- Boilerplate projects or scaffolding tools
|
|
35
35
|
- Previous projects to be cloned or adapted
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
2. If a starter template or existing project is mentioned:
|
|
38
38
|
- Ask the user to provide access via one of these methods:
|
|
39
39
|
- Link to the starter template documentation
|
|
@@ -46,16 +46,16 @@ sections:
|
|
|
46
46
|
- Existing architectural patterns and conventions
|
|
47
47
|
- Any limitations or constraints imposed by the starter
|
|
48
48
|
- Use this analysis to inform and align your architecture decisions
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
3. If no starter template is mentioned but this is a greenfield project:
|
|
51
51
|
- Suggest appropriate starter templates based on the tech stack preferences
|
|
52
52
|
- Explain the benefits (faster setup, best practices, community support)
|
|
53
53
|
- Let the user decide whether to use one
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
4. If the user confirms no starter template will be used:
|
|
56
56
|
- Proceed with architecture design from scratch
|
|
57
57
|
- Note that manual setup will be required for all tooling and configuration
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
Document the decision here before proceeding with the architecture design. If none, just say N/A
|
|
60
60
|
elicit: true
|
|
61
61
|
- id: changelog
|
|
@@ -83,7 +83,7 @@ sections:
|
|
|
83
83
|
title: High Level Overview
|
|
84
84
|
instruction: |
|
|
85
85
|
Based on the PRD's Technical Assumptions section, describe:
|
|
86
|
-
|
|
86
|
+
|
|
87
87
|
1. The main architectural style (e.g., Monolith, Microservices, Serverless, Event-Driven)
|
|
88
88
|
2. Repository structure decision from PRD (Monorepo/Polyrepo)
|
|
89
89
|
3. Service architecture decision from PRD
|
|
@@ -100,17 +100,17 @@ sections:
|
|
|
100
100
|
- Data flow directions
|
|
101
101
|
- External integrations
|
|
102
102
|
- User entry points
|
|
103
|
-
|
|
103
|
+
|
|
104
104
|
- id: architectural-patterns
|
|
105
105
|
title: Architectural and Design Patterns
|
|
106
106
|
instruction: |
|
|
107
107
|
List the key high-level patterns that will guide the architecture. For each pattern:
|
|
108
|
-
|
|
108
|
+
|
|
109
109
|
1. Present 2-3 viable options if multiple exist
|
|
110
110
|
2. Provide your recommendation with clear rationale
|
|
111
111
|
3. Get user confirmation before finalizing
|
|
112
112
|
4. These patterns should align with the PRD's technical assumptions and project goals
|
|
113
|
-
|
|
113
|
+
|
|
114
114
|
Common patterns to consider:
|
|
115
115
|
- Architectural style patterns (Serverless, Event-Driven, Microservices, CQRS, Hexagonal)
|
|
116
116
|
- Code organization patterns (Dependency Injection, Repository, Module, Factory)
|
|
@@ -126,23 +126,23 @@ sections:
|
|
|
126
126
|
title: Tech Stack
|
|
127
127
|
instruction: |
|
|
128
128
|
This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
|
|
129
|
-
|
|
129
|
+
|
|
130
130
|
1. Review PRD technical assumptions and any preferences from {root}/data/technical-preferences.yaml or an attached technical-preferences
|
|
131
131
|
2. For each category, present 2-3 viable options with pros/cons
|
|
132
132
|
3. Make a clear recommendation based on project needs
|
|
133
133
|
4. Get explicit user approval for each selection
|
|
134
134
|
5. Document exact versions (avoid "latest" - pin specific versions)
|
|
135
135
|
6. This table is the single source of truth - all other docs must reference these choices
|
|
136
|
-
|
|
136
|
+
|
|
137
137
|
Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about - let the user know if they are not sure on any that you can also provide suggestions with rationale:
|
|
138
|
-
|
|
138
|
+
|
|
139
139
|
- Starter templates (if any)
|
|
140
140
|
- Languages and runtimes with exact versions
|
|
141
141
|
- Frameworks and libraries / packages
|
|
142
142
|
- Cloud provider and key services choices
|
|
143
143
|
- Database and storage solutions - if unclear suggest sql or nosql or other types depending on the project and depending on cloud provider offer a suggestion
|
|
144
144
|
- Development tools
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback - this statement and the options should be rendered and then prompt right all before allowing user input.
|
|
147
147
|
elicit: true
|
|
148
148
|
sections:
|
|
@@ -166,13 +166,13 @@ sections:
|
|
|
166
166
|
title: Data Models
|
|
167
167
|
instruction: |
|
|
168
168
|
Define the core data models/entities:
|
|
169
|
-
|
|
169
|
+
|
|
170
170
|
1. Review PRD requirements and identify key business entities
|
|
171
171
|
2. For each model, explain its purpose and relationships
|
|
172
172
|
3. Include key attributes and data types
|
|
173
173
|
4. Show relationships between models
|
|
174
174
|
5. Discuss design decisions with user
|
|
175
|
-
|
|
175
|
+
|
|
176
176
|
Create a clear conceptual model before moving to database schema.
|
|
177
177
|
elicit: true
|
|
178
178
|
repeatable: true
|
|
@@ -181,11 +181,11 @@ sections:
|
|
|
181
181
|
title: "{{model_name}}"
|
|
182
182
|
template: |
|
|
183
183
|
**Purpose:** {{model_purpose}}
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
**Key Attributes:**
|
|
186
186
|
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
|
187
187
|
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
**Relationships:**
|
|
190
190
|
- {{relationship_1}}
|
|
191
191
|
- {{relationship_2}}
|
|
@@ -194,7 +194,7 @@ sections:
|
|
|
194
194
|
title: Components
|
|
195
195
|
instruction: |
|
|
196
196
|
Based on the architectural patterns, tech stack, and data models from above:
|
|
197
|
-
|
|
197
|
+
|
|
198
198
|
1. Identify major logical components/services and their responsibilities
|
|
199
199
|
2. Consider the repository structure (monorepo/polyrepo) from PRD
|
|
200
200
|
3. Define clear boundaries and interfaces between components
|
|
@@ -203,7 +203,7 @@ sections:
|
|
|
203
203
|
- Key interfaces/APIs exposed
|
|
204
204
|
- Dependencies on other components
|
|
205
205
|
- Technology specifics based on tech stack choices
|
|
206
|
-
|
|
206
|
+
|
|
207
207
|
5. Create component diagrams where helpful
|
|
208
208
|
elicit: true
|
|
209
209
|
sections:
|
|
@@ -212,13 +212,13 @@ sections:
|
|
|
212
212
|
title: "{{component_name}}"
|
|
213
213
|
template: |
|
|
214
214
|
**Responsibility:** {{component_description}}
|
|
215
|
-
|
|
215
|
+
|
|
216
216
|
**Key Interfaces:**
|
|
217
217
|
- {{interface_1}}
|
|
218
218
|
- {{interface_2}}
|
|
219
|
-
|
|
219
|
+
|
|
220
220
|
**Dependencies:** {{dependencies}}
|
|
221
|
-
|
|
221
|
+
|
|
222
222
|
**Technology Stack:** {{component_tech_details}}
|
|
223
223
|
- id: component-diagrams
|
|
224
224
|
title: Component Diagrams
|
|
@@ -235,13 +235,13 @@ sections:
|
|
|
235
235
|
condition: Project requires external API integrations
|
|
236
236
|
instruction: |
|
|
237
237
|
For each external service integration:
|
|
238
|
-
|
|
238
|
+
|
|
239
239
|
1. Identify APIs needed based on PRD requirements and component design
|
|
240
240
|
2. If documentation URLs are unknown, ask user for specifics
|
|
241
241
|
3. Document authentication methods and security considerations
|
|
242
242
|
4. List specific endpoints that will be used
|
|
243
243
|
5. Note any rate limits or usage constraints
|
|
244
|
-
|
|
244
|
+
|
|
245
245
|
If no external APIs are needed, state this explicitly and skip to next section.
|
|
246
246
|
elicit: true
|
|
247
247
|
repeatable: true
|
|
@@ -254,10 +254,10 @@ sections:
|
|
|
254
254
|
- **Base URL(s):** {{api_base_url}}
|
|
255
255
|
- **Authentication:** {{auth_method}}
|
|
256
256
|
- **Rate Limits:** {{rate_limits}}
|
|
257
|
-
|
|
257
|
+
|
|
258
258
|
**Key Endpoints Used:**
|
|
259
259
|
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
|
260
|
-
|
|
260
|
+
|
|
261
261
|
**Integration Notes:** {{integration_considerations}}
|
|
262
262
|
|
|
263
263
|
- id: core-workflows
|
|
@@ -266,13 +266,13 @@ sections:
|
|
|
266
266
|
mermaid_type: sequence
|
|
267
267
|
instruction: |
|
|
268
268
|
Illustrate key system workflows using sequence diagrams:
|
|
269
|
-
|
|
269
|
+
|
|
270
270
|
1. Identify critical user journeys from PRD
|
|
271
271
|
2. Show component interactions including external APIs
|
|
272
272
|
3. Include error handling paths
|
|
273
273
|
4. Document async operations
|
|
274
274
|
5. Create both high-level and detailed diagrams as needed
|
|
275
|
-
|
|
275
|
+
|
|
276
276
|
Focus on workflows that clarify architecture decisions or complex interactions.
|
|
277
277
|
elicit: true
|
|
278
278
|
|
|
@@ -283,13 +283,13 @@ sections:
|
|
|
283
283
|
language: yaml
|
|
284
284
|
instruction: |
|
|
285
285
|
If the project includes a REST API:
|
|
286
|
-
|
|
286
|
+
|
|
287
287
|
1. Create an OpenAPI 3.0 specification
|
|
288
288
|
2. Include all endpoints from epics/stories
|
|
289
289
|
3. Define request/response schemas based on data models
|
|
290
290
|
4. Document authentication requirements
|
|
291
291
|
5. Include example requests/responses
|
|
292
|
-
|
|
292
|
+
|
|
293
293
|
Use YAML format for better readability. If no REST API, skip this section.
|
|
294
294
|
elicit: true
|
|
295
295
|
template: |
|
|
@@ -306,13 +306,13 @@ sections:
|
|
|
306
306
|
title: Database Schema
|
|
307
307
|
instruction: |
|
|
308
308
|
Transform the conceptual data models into concrete database schemas:
|
|
309
|
-
|
|
309
|
+
|
|
310
310
|
1. Use the database type(s) selected in Tech Stack
|
|
311
311
|
2. Create schema definitions using appropriate notation
|
|
312
312
|
3. Include indexes, constraints, and relationships
|
|
313
313
|
4. Consider performance and scalability
|
|
314
314
|
5. For NoSQL, show document structures
|
|
315
|
-
|
|
315
|
+
|
|
316
316
|
Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
|
|
317
317
|
elicit: true
|
|
318
318
|
|
|
@@ -322,14 +322,14 @@ sections:
|
|
|
322
322
|
language: plaintext
|
|
323
323
|
instruction: |
|
|
324
324
|
Create a project folder structure that reflects:
|
|
325
|
-
|
|
325
|
+
|
|
326
326
|
1. The chosen repository structure (monorepo/polyrepo)
|
|
327
327
|
2. The service architecture (monolith/microservices/serverless)
|
|
328
328
|
3. The selected tech stack and languages
|
|
329
329
|
4. Component organization from above
|
|
330
330
|
5. Best practices for the chosen frameworks
|
|
331
331
|
6. Clear separation of concerns
|
|
332
|
-
|
|
332
|
+
|
|
333
333
|
Adapt the structure based on project needs. For monorepos, show service separation. For serverless, show function organization. Include language-specific conventions.
|
|
334
334
|
elicit: true
|
|
335
335
|
examples:
|
|
@@ -347,13 +347,13 @@ sections:
|
|
|
347
347
|
title: Infrastructure and Deployment
|
|
348
348
|
instruction: |
|
|
349
349
|
Define the deployment architecture and practices:
|
|
350
|
-
|
|
350
|
+
|
|
351
351
|
1. Use IaC tool selected in Tech Stack
|
|
352
352
|
2. Choose deployment strategy appropriate for the architecture
|
|
353
353
|
3. Define environments and promotion flow
|
|
354
354
|
4. Establish rollback procedures
|
|
355
355
|
5. Consider security, monitoring, and cost optimization
|
|
356
|
-
|
|
356
|
+
|
|
357
357
|
Get user input on deployment preferences and CI/CD tool choices.
|
|
358
358
|
elicit: true
|
|
359
359
|
sections:
|
|
@@ -389,13 +389,13 @@ sections:
|
|
|
389
389
|
title: Error Handling Strategy
|
|
390
390
|
instruction: |
|
|
391
391
|
Define comprehensive error handling approach:
|
|
392
|
-
|
|
392
|
+
|
|
393
393
|
1. Choose appropriate patterns for the language/framework from Tech Stack
|
|
394
394
|
2. Define logging standards and tools
|
|
395
395
|
3. Establish error categories and handling rules
|
|
396
396
|
4. Consider observability and debugging needs
|
|
397
397
|
5. Ensure security (no sensitive data in logs)
|
|
398
|
-
|
|
398
|
+
|
|
399
399
|
This section guides both AI and human developers in consistent error handling.
|
|
400
400
|
elicit: true
|
|
401
401
|
sections:
|
|
@@ -442,13 +442,13 @@ sections:
|
|
|
442
442
|
title: Coding Standards
|
|
443
443
|
instruction: |
|
|
444
444
|
These standards are MANDATORY for AI agents. Work with user to define ONLY the critical rules needed to prevent bad code. Explain that:
|
|
445
|
-
|
|
445
|
+
|
|
446
446
|
1. This section directly controls AI developer behavior
|
|
447
447
|
2. Keep it minimal - assume AI knows general best practices
|
|
448
448
|
3. Focus on project-specific conventions and gotchas
|
|
449
449
|
4. Overly detailed standards bloat context and slow development
|
|
450
450
|
5. Standards will be extracted to separate file for dev agent use
|
|
451
|
-
|
|
451
|
+
|
|
452
452
|
For each standard, get explicit user confirmation it's necessary.
|
|
453
453
|
elicit: true
|
|
454
454
|
sections:
|
|
@@ -470,7 +470,7 @@ sections:
|
|
|
470
470
|
- "Never use console.log in production code - use logger"
|
|
471
471
|
- "All API responses must use ApiResponse wrapper type"
|
|
472
472
|
- "Database queries must use repository pattern, never direct ORM"
|
|
473
|
-
|
|
473
|
+
|
|
474
474
|
Avoid obvious rules like "use SOLID principles" or "write clean code"
|
|
475
475
|
repeatable: true
|
|
476
476
|
template: "- **{{rule_name}}:** {{rule_description}}"
|
|
@@ -488,14 +488,14 @@ sections:
|
|
|
488
488
|
title: Test Strategy and Standards
|
|
489
489
|
instruction: |
|
|
490
490
|
Work with user to define comprehensive test strategy:
|
|
491
|
-
|
|
491
|
+
|
|
492
492
|
1. Use test frameworks from Tech Stack
|
|
493
493
|
2. Decide on TDD vs test-after approach
|
|
494
494
|
3. Define test organization and naming
|
|
495
495
|
4. Establish coverage goals
|
|
496
496
|
5. Determine integration test infrastructure
|
|
497
497
|
6. Plan for test data and external dependencies
|
|
498
|
-
|
|
498
|
+
|
|
499
499
|
Note: Basic info goes in Coding Standards for dev agent. This detailed section is for QA agent and team reference.
|
|
500
500
|
elicit: true
|
|
501
501
|
sections:
|
|
@@ -516,7 +516,7 @@ sections:
|
|
|
516
516
|
- **Location:** {{unit_test_location}}
|
|
517
517
|
- **Mocking Library:** {{mocking_library}}
|
|
518
518
|
- **Coverage Requirement:** {{unit_coverage}}
|
|
519
|
-
|
|
519
|
+
|
|
520
520
|
**AI Agent Requirements:**
|
|
521
521
|
- Generate tests for all public methods
|
|
522
522
|
- Cover edge cases and error conditions
|
|
@@ -558,7 +558,7 @@ sections:
|
|
|
558
558
|
title: Security
|
|
559
559
|
instruction: |
|
|
560
560
|
Define MANDATORY security requirements for AI and human developers:
|
|
561
|
-
|
|
561
|
+
|
|
562
562
|
1. Focus on implementation-specific rules
|
|
563
563
|
2. Reference security tools from Tech Stack
|
|
564
564
|
3. Define clear patterns for common scenarios
|
|
@@ -627,16 +627,16 @@ sections:
|
|
|
627
627
|
title: Next Steps
|
|
628
628
|
instruction: |
|
|
629
629
|
After completing the architecture:
|
|
630
|
-
|
|
630
|
+
|
|
631
631
|
1. If project has UI components:
|
|
632
632
|
- Use "Frontend Architecture Mode"
|
|
633
633
|
- Provide this document as input
|
|
634
|
-
|
|
634
|
+
|
|
635
635
|
2. For all projects:
|
|
636
636
|
- Review with Product Owner
|
|
637
637
|
- Begin story implementation with Dev agent
|
|
638
638
|
- Set up infrastructure with DevOps agent
|
|
639
|
-
|
|
639
|
+
|
|
640
640
|
3. Include specific prompts for next agents if needed
|
|
641
641
|
sections:
|
|
642
642
|
- id: architect-prompt
|
|
@@ -23,11 +23,11 @@ sections:
|
|
|
23
23
|
- id: summary-details
|
|
24
24
|
template: |
|
|
25
25
|
**Topic:** {{session_topic}}
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
**Session Goals:** {{stated_goals}}
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
**Techniques Used:** {{techniques_list}}
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
**Total Ideas Generated:** {{total_ideas}}
|
|
32
32
|
- id: key-themes
|
|
33
33
|
title: "Key Themes Identified:"
|
|
@@ -152,5 +152,5 @@ sections:
|
|
|
152
152
|
- id: footer
|
|
153
153
|
content: |
|
|
154
154
|
---
|
|
155
|
-
|
|
156
|
-
*Session facilitated using the BMAD-METHOD brainstorming framework*
|
|
155
|
+
|
|
156
|
+
*Session facilitated using the BMAD-METHOD brainstorming framework*
|