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.
Files changed (131) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +0 -11
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/bmad-orchestrator.md +1 -1
  12. package/bmad-core/agents/dev.md +4 -4
  13. package/bmad-core/data/bmad-kb.md +1 -1
  14. package/bmad-core/data/test-levels-framework.md +12 -12
  15. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  16. package/bmad-core/tasks/nfr-assess.md +10 -10
  17. package/bmad-core/tasks/qa-gate.md +23 -23
  18. package/bmad-core/tasks/review-story.md +18 -18
  19. package/bmad-core/tasks/risk-profile.md +25 -25
  20. package/bmad-core/tasks/test-design.md +9 -9
  21. package/bmad-core/tasks/trace-requirements.md +21 -21
  22. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  23. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  24. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  25. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  26. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  27. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  28. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  29. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  30. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  31. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  32. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  33. package/bmad-core/templates/qa-gate-tmpl.yaml +9 -9
  34. package/bmad-core/templates/story-tmpl.yaml +12 -12
  35. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  36. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  37. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  38. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  39. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  40. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  41. package/common/utils/bmad-doc-template.md +5 -5
  42. package/dist/agents/analyst.txt +28 -15
  43. package/dist/agents/architect.txt +220 -190
  44. package/dist/agents/bmad-master.txt +298 -255
  45. package/dist/agents/bmad-orchestrator.txt +1 -1
  46. package/dist/agents/pm.txt +20 -20
  47. package/dist/agents/po.txt +11 -11
  48. package/dist/agents/qa.txt +275 -618
  49. package/dist/agents/sm.txt +11 -11
  50. package/dist/agents/ux-expert.txt +23 -23
  51. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -109
  52. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -77
  53. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -41
  54. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +483 -474
  55. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +1 -1
  56. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -149
  57. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -20
  58. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +371 -358
  59. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -25
  60. package/dist/teams/team-all.txt +581 -881
  61. package/dist/teams/team-fullstack.txt +316 -273
  62. package/dist/teams/team-ide-minimal.txt +276 -619
  63. package/dist/teams/team-no-ui.txt +281 -238
  64. package/docs/versioning-and-releases.md +114 -44
  65. package/eslint.config.mjs +119 -0
  66. 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
  67. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  68. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  69. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  70. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  71. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  72. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  73. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  74. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  75. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  76. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  77. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  78. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  79. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  80. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  81. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  82. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  83. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  84. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  85. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  86. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  87. package/package.json +62 -39
  88. package/prettier.config.mjs +32 -0
  89. package/release_notes.md +30 -0
  90. package/tools/bmad-npx-wrapper.js +10 -10
  91. package/tools/builders/web-builder.js +124 -130
  92. package/tools/bump-all-versions.js +42 -33
  93. package/tools/bump-expansion-version.js +23 -16
  94. package/tools/cli.js +10 -12
  95. package/tools/flattener/aggregate.js +10 -10
  96. package/tools/flattener/binary.js +44 -17
  97. package/tools/flattener/discovery.js +19 -18
  98. package/tools/flattener/files.js +6 -6
  99. package/tools/flattener/ignoreRules.js +125 -125
  100. package/tools/flattener/main.js +201 -304
  101. package/tools/flattener/projectRoot.js +75 -73
  102. package/tools/flattener/prompts.js +9 -9
  103. package/tools/flattener/stats.helpers.js +131 -67
  104. package/tools/flattener/stats.js +3 -3
  105. package/tools/flattener/test-matrix.js +201 -193
  106. package/tools/flattener/xml.js +33 -31
  107. package/tools/installer/bin/bmad.js +130 -89
  108. package/tools/installer/config/ide-agent-config.yaml +1 -1
  109. package/tools/installer/config/install.config.yaml +2 -2
  110. package/tools/installer/lib/config-loader.js +46 -42
  111. package/tools/installer/lib/file-manager.js +91 -113
  112. package/tools/installer/lib/ide-base-setup.js +57 -56
  113. package/tools/installer/lib/ide-setup.js +375 -343
  114. package/tools/installer/lib/installer.js +875 -714
  115. package/tools/installer/lib/memory-profiler.js +54 -53
  116. package/tools/installer/lib/module-manager.js +19 -15
  117. package/tools/installer/lib/resource-locator.js +26 -28
  118. package/tools/installer/package.json +19 -19
  119. package/tools/lib/dependency-resolver.js +26 -30
  120. package/tools/lib/yaml-utils.js +7 -7
  121. package/tools/preview-release-notes.js +66 -0
  122. package/tools/shared/bannerArt.js +3 -3
  123. package/tools/sync-installer-version.js +7 -9
  124. package/tools/update-expansion-version.js +14 -15
  125. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  126. package/tools/version-bump.js +41 -26
  127. package/tools/yaml-format.js +56 -43
  128. package/.github/workflows/promote-to-stable.yml +0 -144
  129. package/.github/workflows/release.yaml +0 -60
  130. package/.releaserc.json +0 -21
  131. 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: "{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)
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: "SEC-001" # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
82
+ id: 'SEC-001' # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
83
83
  category: security
84
- title: "Insufficient input validation on user forms"
85
- description: "Form inputs not properly sanitized could lead to XSS attacks"
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
- - "UserRegistrationForm"
88
- - "ProfileUpdateForm"
89
- detection_method: "Code review revealed missing validation"
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: "SEC-001"
137
- strategy: "preventive" # preventive|detective|corrective
136
+ risk_id: 'SEC-001'
137
+ strategy: 'preventive' # preventive|detective|corrective
138
138
  actions:
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"
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
- - "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"
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: "XSS on profile form"
175
+ title: 'XSS on profile form'
176
176
  recommendations:
177
177
  must_fix:
178
- - "Add input sanitization & CSP"
178
+ - 'Add input sanitization & CSP'
179
179
  monitor:
180
- - "Add security alerts for auth endpoints"
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: "{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)
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: "{epic}.{story}-{LEVEL}-{SEQ}"
66
- requirement: "AC reference"
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: "What is being tested"
70
- justification: "Why this level was chosen"
71
- mitigates_risks: ["RISK-001"] # If risk profile exists
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: "AC1: User can login with valid credentials"
34
+ requirement: 'AC1: User can login with valid credentials'
35
35
  test_mappings:
36
- - test_file: "auth/login.test.ts"
37
- test_case: "should successfully login with valid email and password"
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: "A registered user with valid credentials"
40
- when: "They submit the login form"
41
- then: "They are redirected to dashboard and session is created"
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: "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"
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: "AC3: Password reset email sent within 60 seconds"
71
- gap: "No test for email delivery timing"
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: "Test email service SLA compliance"
75
+ description: 'Test email service SLA compliance'
76
76
 
77
- - requirement: "AC5: Support 1000 concurrent users"
78
- gap: "No load testing implemented"
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: "Load test with 1000 concurrent connections"
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: "docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md"
98
+ planning_ref: 'docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
99
99
  uncovered:
100
- - ac: "AC3"
101
- reason: "No test found for password reset timing"
102
- notes: "See docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md"
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*