bmad-plus 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/CHANGELOG.md +637 -580
  2. package/README.md +123 -120
  3. package/osint-agent-package/agents/osint-investigator.md +12 -0
  4. package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +491 -482
  5. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +126 -126
  6. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/lawful-basis-record.md +48 -48
  7. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
  8. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/gdpr-osint.md +48 -48
  9. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
  13. package/package.json +106 -91
  14. package/readme-international/README.de.md +625 -594
  15. package/readme-international/README.es.md +642 -611
  16. package/readme-international/README.fr.md +640 -609
  17. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +2 -0
  18. package/src/bmad-plus/agents/agent-shadow/SKILL.md +18 -0
  19. package/src/bmad-plus/data/role-triggers.yaml +52 -0
  20. package/src/bmad-plus/module.yaml +333 -283
  21. package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -325
  22. package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -55
  23. package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -71
  24. package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -51
  25. package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
  77. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
  78. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
  79. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
  80. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
  81. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
  82. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
  83. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
  84. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
  85. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
  86. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
  87. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
  88. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
  89. package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -171
  90. package/src/bmad-plus/packs/pack-seo/checklist.md +140 -140
  91. package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -320
  92. package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -187
  93. package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -87
  94. package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -123
  95. package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -167
  96. package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -153
  97. package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -133
  98. package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -91
  99. package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -356
  100. package/src/bmad-plus/packs/pack-seo/requirements.txt +17 -0
  101. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +456 -0
  102. package/src/bmad-plus/packs/pack-seo/scripts/seo_crawl.py +359 -0
  103. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +303 -0
  104. package/src/bmad-plus/packs/pack-seo/scripts/seo_parse.py +255 -0
  105. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +409 -0
  106. package/src/bmad-plus/packs/pack-seo/scripts/seo_screenshot.py +202 -0
  107. package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -294
  108. package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -241
  109. package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -171
  110. package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -241
  111. package/src/bmad-plus/packs/pack-shield/README.md +6 -6
  112. package/src/bmad-plus/packs/pack-shield/SKILL.md +2 -2
  113. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +11 -11
  114. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +11 -11
  115. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +11 -11
  116. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +11 -11
  117. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +11 -11
  118. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +11 -11
  119. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +11 -11
  120. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +11 -11
  121. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +11 -11
  122. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +11 -11
  123. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +11 -11
  124. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +11 -11
  125. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +11 -11
  126. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +11 -11
  127. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +11 -11
  128. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +11 -11
  129. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +11 -11
  130. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +11 -11
  131. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +11 -11
  132. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +11 -11
  133. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +11 -11
  134. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +11 -11
  135. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +1 -1
  136. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +1 -1
  137. package/tools/bmad-plus-npx.js +4 -2
  138. package/tools/build/adapters.config.js +60 -51
  139. package/tools/build/check-counts.js +626 -0
  140. package/tools/build/check-install-contract.js +298 -0
  141. package/tools/build/generate-adapters.js +252 -56
  142. package/tools/build/generate.js +187 -10
  143. package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
  144. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
  145. package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
  146. package/tools/build/generated-adapters/AGENTS.md +20 -7
  147. package/tools/build/generated-adapters/CLAUDE.md +20 -7
  148. package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
  149. package/tools/build/generated-adapters/GEMINI.md +20 -7
  150. package/tools/build/module.template.yaml +82 -0
  151. package/tools/cli/bmad-plus-cli.js +16 -1
  152. package/tools/cli/commands/autoconfig.js +470 -470
  153. package/tools/cli/commands/doctor.js +205 -233
  154. package/tools/cli/commands/install.js +543 -501
  155. package/tools/cli/commands/memory-journal-cmd.js +311 -311
  156. package/tools/cli/commands/memory.js +195 -195
  157. package/tools/cli/commands/scan.js +348 -348
  158. package/tools/cli/commands/uninstall.js +209 -101
  159. package/tools/cli/commands/update-check.js +31 -0
  160. package/tools/cli/commands/update-policy.js +39 -0
  161. package/tools/cli/commands/update.js +123 -134
  162. package/tools/cli/i18n.js +905 -845
  163. package/tools/cli/lib/README-memory-journal.md +125 -125
  164. package/tools/cli/lib/ide-config.js +10 -259
  165. package/tools/cli/lib/install-manifest.js +17 -0
  166. package/tools/cli/lib/installed-adapters.js +89 -0
  167. package/tools/cli/lib/npm-runner.js +177 -0
  168. package/tools/cli/lib/pack-copy.js +62 -66
  169. package/tools/cli/lib/packs.js +437 -3
  170. package/tools/cli/lib/python-provision.js +508 -508
  171. package/tools/cli/lib/stack-detect.js +102 -102
  172. package/tools/cli/lib/update-check.js +153 -0
  173. package/tools/cli/lib/update-dispatch.js +182 -0
  174. package/tools/cli/lib/update-policy.js +90 -0
  175. package/tools/cli/lib/update-transaction.js +334 -0
  176. package/tools/cli/lib/validate.js +50 -50
@@ -1,318 +1,318 @@
1
- # Step 4: Core Architectural Decisions
2
-
3
- ## MANDATORY EXECUTION RULES (READ FIRST):
4
-
5
- - 🛑 NEVER generate content without user input
6
-
7
- - 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
8
- - 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
9
- - ✅ ALWAYS treat this as collaborative discovery between architectural peers
10
- - 📋 YOU ARE A FACILITATOR, not a content generator
11
- - 💬 FOCUS on making critical architectural decisions collaboratively
12
- - 🌐 ALWAYS search the web to verify current technology versions
13
- - ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
14
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
15
-
16
- ## EXECUTION PROTOCOLS:
17
-
18
- - 🎯 Show your analysis before taking any action
19
- - 🌐 Search the web to verify technology versions and options
20
- - ⚠️ Present A/P/C menu after each major decision category
21
- - 💾 ONLY save when user chooses C (Continue)
22
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
23
- - 🚫 FORBIDDEN to load next step until C is selected
24
-
25
- ## COLLABORATION MENUS (A/P/C):
26
-
27
- This step will generate content and present choices for each decision category:
28
-
29
- - **A (Advanced Elicitation)**: Use discovery protocols to explore innovative approaches to specific decisions
30
- - **P (Party Mode)**: Bring multiple perspectives to evaluate decision trade-offs
31
- - **C (Continue)**: Save the current decisions and proceed to next decision category
32
-
33
- ## PROTOCOL INTEGRATION:
34
-
35
- - When 'A' selected: Invoke the `bmad-advanced-elicitation` skill
36
- - When 'P' selected: Invoke the `bmad-party-mode` skill
37
- - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
38
- - User accepts/rejects protocol changes before proceeding
39
-
40
- ## CONTEXT BOUNDARIES:
41
-
42
- - Project context from step 2 is available
43
- - Starter template choice from step 3 is available
44
- - Project context file may contain technical preferences and rules
45
- - Technical preferences discovered in step 3 are available
46
- - Focus on decisions not already made by starter template or existing preferences
47
- - Collaborative decision making, not recommendations
48
-
49
- ## YOUR TASK:
50
-
51
- Facilitate collaborative architectural decision making, leveraging existing technical preferences and starter template decisions, focusing on remaining choices critical to the project's success.
52
-
53
- ## DECISION MAKING SEQUENCE:
54
-
55
- ### 1. Load Decision Framework & Check Existing Preferences
56
-
57
- **Review Technical Preferences from Step 3:**
58
- "Based on our technical preferences discussion in step 3, let's build on those foundations:
59
-
60
- **Your Technical Preferences:**
61
- {{user_technical_preferences_from_step_3}}
62
-
63
- **Starter Template Decisions:**
64
- {{starter_template_decisions}}
65
-
66
- **Project Context Technical Rules:**
67
- {{project_context_technical_rules}}"
68
-
69
- **Identify Remaining Decisions:**
70
- Based on technical preferences, starter template choice, and project context, identify remaining critical decisions:
71
-
72
- **Already Decided (Don't re-decide these):**
73
-
74
- - {{starter_template_decisions}}
75
- - {{user_technology_preferences}}
76
- - {{project_context_technical_rules}}
77
-
78
- **Critical Decisions:** Must be decided before implementation can proceed
79
- **Important Decisions:** Shape the architecture significantly
80
- **Nice-to-Have:** Can be deferred if needed
81
-
82
- ### 2. Decision Categories by Priority
83
-
84
- #### Category 1: Data Architecture
85
-
86
- - Database choice (if not determined by starter)
87
- - Data modeling approach
88
- - Data validation strategy
89
- - Migration approach
90
- - Caching strategy
91
-
92
- #### Category 2: Authentication & Security
93
-
94
- - Authentication method
95
- - Authorization patterns
96
- - Security middleware
97
- - Data encryption approach
98
- - API security strategy
99
-
100
- #### Category 3: API & Communication
101
-
102
- - API design patterns (REST, GraphQL, etc.)
103
- - API documentation approach
104
- - Error handling standards
105
- - Rate limiting strategy
106
- - Communication between services
107
-
108
- #### Category 4: Frontend Architecture (if applicable)
109
-
110
- - State management approach
111
- - Component architecture
112
- - Routing strategy
113
- - Performance optimization
114
- - Bundle optimization
115
-
116
- #### Category 5: Infrastructure & Deployment
117
-
118
- - Hosting strategy
119
- - CI/CD pipeline approach
120
- - Environment configuration
121
- - Monitoring and logging
122
- - Scaling strategy
123
-
124
- ### 3. Facilitate Each Decision Category
125
-
126
- For each category, facilitate collaborative decision making:
127
-
128
- **Present the Decision:**
129
- Based on user skill level and project context:
130
-
131
- **Expert Mode:**
132
- "{{Decision_Category}}: {{Specific_Decision}}
133
-
134
- Options: {{concise_option_list_with_tradeoffs}}
135
-
136
- What's your preference for this decision?"
137
-
138
- **Intermediate Mode:**
139
- "Next decision: {{Human_Friendly_Category}}
140
-
141
- We need to choose {{Specific_Decision}}.
142
-
143
- Common options:
144
- {{option_list_with_brief_explanations}}
145
-
146
- For your project, I'd lean toward {{recommendation}} because {{reason}}. What are your thoughts?"
147
-
148
- **Beginner Mode:**
149
- "Let's talk about {{Human_Friendly_Category}}.
150
-
151
- {{Educational_Context_About_Why_This_Matters}}
152
-
153
- Think of it like {{real_world_analogy}}.
154
-
155
- Your main options:
156
- {{friendly_options_with_pros_cons}}
157
-
158
- My suggestion: {{recommendation}}
159
- This is good for you because {{beginner_friendly_reason}}.
160
-
161
- What feels right to you?"
162
-
163
- **Verify Technology Versions:**
164
- If decision involves specific technology:
165
-
166
- ```
167
- Search the web: "{{technology}} latest stable version"
168
- Search the web: "{{technology}} current LTS version"
169
- Search the web: "{{technology}} production readiness"
170
- ```
171
-
172
- **Get User Input:**
173
- "What's your preference? (or 'explain more' for details)"
174
-
175
- **Handle User Response:**
176
-
177
- - If user wants more info: Provide deeper explanation
178
- - If user has preference: Discuss implications and record decision
179
- - If user wants alternatives: Explore other options
180
-
181
- **Record the Decision:**
182
-
183
- - Category: {{category}}
184
- - Decision: {{user_choice}}
185
- - Version: {{verified_version_if_applicable}}
186
- - Rationale: {{user_reasoning_or_default}}
187
- - Affects: {{components_or_epics}}
188
- - Provided by Starter: {{yes_if_from_starter}}
189
-
190
- ### 4. Check for Cascading Implications
191
-
192
- After each major decision, identify related decisions:
193
-
194
- "This choice means we'll also need to decide:
195
-
196
- - {{related_decision_1}}
197
- - {{related_decision_2}}"
198
-
199
- ### 5. Generate Decisions Content
200
-
201
- After facilitating all decision categories, prepare the content to append:
202
-
203
- #### Content Structure:
204
-
205
- ```markdown
206
- ## Core Architectural Decisions
207
-
208
- ### Decision Priority Analysis
209
-
210
- **Critical Decisions (Block Implementation):**
211
- {{critical_decisions_made}}
212
-
213
- **Important Decisions (Shape Architecture):**
214
- {{important_decisions_made}}
215
-
216
- **Deferred Decisions (Post-MVP):**
217
- {{decisions_deferred_with_rationale}}
218
-
219
- ### Data Architecture
220
-
221
- {{data_related_decisions_with_versions_and_rationale}}
222
-
223
- ### Authentication & Security
224
-
225
- {{security_related_decisions_with_versions_and_rationale}}
226
-
227
- ### API & Communication Patterns
228
-
229
- {{api_related_decisions_with_versions_and_rationale}}
230
-
231
- ### Frontend Architecture
232
-
233
- {{frontend_related_decisions_with_versions_and_rationale}}
234
-
235
- ### Infrastructure & Deployment
236
-
237
- {{infrastructure_related_decisions_with_versions_and_rationale}}
238
-
239
- ### Decision Impact Analysis
240
-
241
- **Implementation Sequence:**
242
- {{ordered_list_of_decisions_for_implementation}}
243
-
244
- **Cross-Component Dependencies:**
245
- {{how_decisions_affect_each_other}}
246
- ```
247
-
248
- ### 6. Present Content and Menu
249
-
250
- Show the generated decisions content and present choices:
251
-
252
- "I've documented all the core architectural decisions we've made together.
253
-
254
- **Here's what I'll add to the document:**
255
-
256
- [Show the complete markdown content from step 5]
257
-
258
- **What would you like to do?**
259
- [A] Advanced Elicitation - Explore innovative approaches to any specific decisions
260
- [P] Party Mode - Review decisions from multiple perspectives
261
- [C] Continue - Save these decisions and move to implementation patterns"
262
-
263
- ### 7. Handle Menu Selection
264
-
265
- #### If 'A' (Advanced Elicitation):
266
-
267
- - Invoke the `bmad-advanced-elicitation` skill with specific decision categories
268
- - Process enhanced insights about particular decisions
269
- - Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
270
- - If yes: Update content, then return to A/P/C menu
271
- - If no: Keep original content, then return to A/P/C menu
272
-
273
- #### If 'P' (Party Mode):
274
-
275
- - Invoke the `bmad-party-mode` skill with architectural decisions context
276
- - Process collaborative insights about decision trade-offs
277
- - Ask user: "Accept these changes to the architectural decisions? (y/n)"
278
- - If yes: Update content, then return to A/P/C menu
279
- - If no: Keep original content, then return to A/P/C menu
280
-
281
- #### If 'C' (Continue):
282
-
283
- - Append the final content to `{planning_artifacts}/architecture.md`
284
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
285
- - Load `./step-05-patterns.md`
286
-
287
- ## APPEND TO DOCUMENT:
288
-
289
- When user selects 'C', append the content directly to the document using the structure from step 5.
290
-
291
- ## SUCCESS METRICS:
292
-
293
- ✅ All critical architectural decisions made collaboratively
294
- ✅ Technology versions verified using web search
295
- ✅ Decision rationale clearly documented
296
- ✅ Cascading implications identified and addressed
297
- ✅ User provided appropriate level of explanation for skill level
298
- ✅ A/P/C menu presented and handled correctly for each category
299
- ✅ Content properly appended to document when C selected
300
-
301
- ## FAILURE MODES:
302
-
303
- ❌ Making recommendations instead of facilitating decisions
304
- ❌ Not verifying technology versions with web search
305
- ❌ Missing cascading implications between decisions
306
- ❌ Not adapting explanations to user skill level
307
- ❌ Forgetting to document decisions made by starter template
308
- ❌ Not presenting A/P/C menu after content generation
309
-
310
- ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
311
- ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
312
- ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
313
-
314
- ## NEXT STEP:
315
-
316
- After user selects 'C' and content is saved to document, load `./step-05-patterns.md` to define implementation patterns that ensure consistency across AI agents.
317
-
318
- Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved!
1
+ # Step 4: Core Architectural Decisions
2
+
3
+ ## MANDATORY EXECUTION RULES (READ FIRST):
4
+
5
+ - 🛑 NEVER generate content without user input
6
+
7
+ - 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
8
+ - 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
9
+ - ✅ ALWAYS treat this as collaborative discovery between architectural peers
10
+ - 📋 YOU ARE A FACILITATOR, not a content generator
11
+ - 💬 FOCUS on making critical architectural decisions collaboratively
12
+ - 🌐 ALWAYS search the web to verify current technology versions
13
+ - ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
14
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
15
+
16
+ ## EXECUTION PROTOCOLS:
17
+
18
+ - 🎯 Show your analysis before taking any action
19
+ - 🌐 Search the web to verify technology versions and options
20
+ - ⚠️ Present A/P/C menu after each major decision category
21
+ - 💾 ONLY save when user chooses C (Continue)
22
+ - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
23
+ - 🚫 FORBIDDEN to load next step until C is selected
24
+
25
+ ## COLLABORATION MENUS (A/P/C):
26
+
27
+ This step will generate content and present choices for each decision category:
28
+
29
+ - **A (Advanced Elicitation)**: Use discovery protocols to explore innovative approaches to specific decisions
30
+ - **P (Party Mode)**: Bring multiple perspectives to evaluate decision trade-offs
31
+ - **C (Continue)**: Save the current decisions and proceed to next decision category
32
+
33
+ ## PROTOCOL INTEGRATION:
34
+
35
+ - When 'A' selected: Invoke the `bmad-advanced-elicitation` skill
36
+ - When 'P' selected: Invoke the `bmad-party-mode` skill
37
+ - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
38
+ - User accepts/rejects protocol changes before proceeding
39
+
40
+ ## CONTEXT BOUNDARIES:
41
+
42
+ - Project context from step 2 is available
43
+ - Starter template choice from step 3 is available
44
+ - Project context file may contain technical preferences and rules
45
+ - Technical preferences discovered in step 3 are available
46
+ - Focus on decisions not already made by starter template or existing preferences
47
+ - Collaborative decision making, not recommendations
48
+
49
+ ## YOUR TASK:
50
+
51
+ Facilitate collaborative architectural decision making, leveraging existing technical preferences and starter template decisions, focusing on remaining choices critical to the project's success.
52
+
53
+ ## DECISION MAKING SEQUENCE:
54
+
55
+ ### 1. Load Decision Framework & Check Existing Preferences
56
+
57
+ **Review Technical Preferences from Step 3:**
58
+ "Based on our technical preferences discussion in step 3, let's build on those foundations:
59
+
60
+ **Your Technical Preferences:**
61
+ {{user_technical_preferences_from_step_3}}
62
+
63
+ **Starter Template Decisions:**
64
+ {{starter_template_decisions}}
65
+
66
+ **Project Context Technical Rules:**
67
+ {{project_context_technical_rules}}"
68
+
69
+ **Identify Remaining Decisions:**
70
+ Based on technical preferences, starter template choice, and project context, identify remaining critical decisions:
71
+
72
+ **Already Decided (Don't re-decide these):**
73
+
74
+ - {{starter_template_decisions}}
75
+ - {{user_technology_preferences}}
76
+ - {{project_context_technical_rules}}
77
+
78
+ **Critical Decisions:** Must be decided before implementation can proceed
79
+ **Important Decisions:** Shape the architecture significantly
80
+ **Nice-to-Have:** Can be deferred if needed
81
+
82
+ ### 2. Decision Categories by Priority
83
+
84
+ #### Category 1: Data Architecture
85
+
86
+ - Database choice (if not determined by starter)
87
+ - Data modeling approach
88
+ - Data validation strategy
89
+ - Migration approach
90
+ - Caching strategy
91
+
92
+ #### Category 2: Authentication & Security
93
+
94
+ - Authentication method
95
+ - Authorization patterns
96
+ - Security middleware
97
+ - Data encryption approach
98
+ - API security strategy
99
+
100
+ #### Category 3: API & Communication
101
+
102
+ - API design patterns (REST, GraphQL, etc.)
103
+ - API documentation approach
104
+ - Error handling standards
105
+ - Rate limiting strategy
106
+ - Communication between services
107
+
108
+ #### Category 4: Frontend Architecture (if applicable)
109
+
110
+ - State management approach
111
+ - Component architecture
112
+ - Routing strategy
113
+ - Performance optimization
114
+ - Bundle optimization
115
+
116
+ #### Category 5: Infrastructure & Deployment
117
+
118
+ - Hosting strategy
119
+ - CI/CD pipeline approach
120
+ - Environment configuration
121
+ - Monitoring and logging
122
+ - Scaling strategy
123
+
124
+ ### 3. Facilitate Each Decision Category
125
+
126
+ For each category, facilitate collaborative decision making:
127
+
128
+ **Present the Decision:**
129
+ Based on user skill level and project context:
130
+
131
+ **Expert Mode:**
132
+ "{{Decision_Category}}: {{Specific_Decision}}
133
+
134
+ Options: {{concise_option_list_with_tradeoffs}}
135
+
136
+ What's your preference for this decision?"
137
+
138
+ **Intermediate Mode:**
139
+ "Next decision: {{Human_Friendly_Category}}
140
+
141
+ We need to choose {{Specific_Decision}}.
142
+
143
+ Common options:
144
+ {{option_list_with_brief_explanations}}
145
+
146
+ For your project, I'd lean toward {{recommendation}} because {{reason}}. What are your thoughts?"
147
+
148
+ **Beginner Mode:**
149
+ "Let's talk about {{Human_Friendly_Category}}.
150
+
151
+ {{Educational_Context_About_Why_This_Matters}}
152
+
153
+ Think of it like {{real_world_analogy}}.
154
+
155
+ Your main options:
156
+ {{friendly_options_with_pros_cons}}
157
+
158
+ My suggestion: {{recommendation}}
159
+ This is good for you because {{beginner_friendly_reason}}.
160
+
161
+ What feels right to you?"
162
+
163
+ **Verify Technology Versions:**
164
+ If decision involves specific technology:
165
+
166
+ ```
167
+ Search the web: "{{technology}} latest stable version"
168
+ Search the web: "{{technology}} current LTS version"
169
+ Search the web: "{{technology}} production readiness"
170
+ ```
171
+
172
+ **Get User Input:**
173
+ "What's your preference? (or 'explain more' for details)"
174
+
175
+ **Handle User Response:**
176
+
177
+ - If user wants more info: Provide deeper explanation
178
+ - If user has preference: Discuss implications and record decision
179
+ - If user wants alternatives: Explore other options
180
+
181
+ **Record the Decision:**
182
+
183
+ - Category: {{category}}
184
+ - Decision: {{user_choice}}
185
+ - Version: {{verified_version_if_applicable}}
186
+ - Rationale: {{user_reasoning_or_default}}
187
+ - Affects: {{components_or_epics}}
188
+ - Provided by Starter: {{yes_if_from_starter}}
189
+
190
+ ### 4. Check for Cascading Implications
191
+
192
+ After each major decision, identify related decisions:
193
+
194
+ "This choice means we'll also need to decide:
195
+
196
+ - {{related_decision_1}}
197
+ - {{related_decision_2}}"
198
+
199
+ ### 5. Generate Decisions Content
200
+
201
+ After facilitating all decision categories, prepare the content to append:
202
+
203
+ #### Content Structure:
204
+
205
+ ```markdown
206
+ ## Core Architectural Decisions
207
+
208
+ ### Decision Priority Analysis
209
+
210
+ **Critical Decisions (Block Implementation):**
211
+ {{critical_decisions_made}}
212
+
213
+ **Important Decisions (Shape Architecture):**
214
+ {{important_decisions_made}}
215
+
216
+ **Deferred Decisions (Post-MVP):**
217
+ {{decisions_deferred_with_rationale}}
218
+
219
+ ### Data Architecture
220
+
221
+ {{data_related_decisions_with_versions_and_rationale}}
222
+
223
+ ### Authentication & Security
224
+
225
+ {{security_related_decisions_with_versions_and_rationale}}
226
+
227
+ ### API & Communication Patterns
228
+
229
+ {{api_related_decisions_with_versions_and_rationale}}
230
+
231
+ ### Frontend Architecture
232
+
233
+ {{frontend_related_decisions_with_versions_and_rationale}}
234
+
235
+ ### Infrastructure & Deployment
236
+
237
+ {{infrastructure_related_decisions_with_versions_and_rationale}}
238
+
239
+ ### Decision Impact Analysis
240
+
241
+ **Implementation Sequence:**
242
+ {{ordered_list_of_decisions_for_implementation}}
243
+
244
+ **Cross-Component Dependencies:**
245
+ {{how_decisions_affect_each_other}}
246
+ ```
247
+
248
+ ### 6. Present Content and Menu
249
+
250
+ Show the generated decisions content and present choices:
251
+
252
+ "I've documented all the core architectural decisions we've made together.
253
+
254
+ **Here's what I'll add to the document:**
255
+
256
+ [Show the complete markdown content from step 5]
257
+
258
+ **What would you like to do?**
259
+ [A] Advanced Elicitation - Explore innovative approaches to any specific decisions
260
+ [P] Party Mode - Review decisions from multiple perspectives
261
+ [C] Continue - Save these decisions and move to implementation patterns"
262
+
263
+ ### 7. Handle Menu Selection
264
+
265
+ #### If 'A' (Advanced Elicitation):
266
+
267
+ - Invoke the `bmad-advanced-elicitation` skill with specific decision categories
268
+ - Process enhanced insights about particular decisions
269
+ - Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
270
+ - If yes: Update content, then return to A/P/C menu
271
+ - If no: Keep original content, then return to A/P/C menu
272
+
273
+ #### If 'P' (Party Mode):
274
+
275
+ - Invoke the `bmad-party-mode` skill with architectural decisions context
276
+ - Process collaborative insights about decision trade-offs
277
+ - Ask user: "Accept these changes to the architectural decisions? (y/n)"
278
+ - If yes: Update content, then return to A/P/C menu
279
+ - If no: Keep original content, then return to A/P/C menu
280
+
281
+ #### If 'C' (Continue):
282
+
283
+ - Append the final content to `{planning_artifacts}/architecture.md`
284
+ - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
285
+ - Load `./step-05-patterns.md`
286
+
287
+ ## APPEND TO DOCUMENT:
288
+
289
+ When user selects 'C', append the content directly to the document using the structure from step 5.
290
+
291
+ ## SUCCESS METRICS:
292
+
293
+ ✅ All critical architectural decisions made collaboratively
294
+ ✅ Technology versions verified using web search
295
+ ✅ Decision rationale clearly documented
296
+ ✅ Cascading implications identified and addressed
297
+ ✅ User provided appropriate level of explanation for skill level
298
+ ✅ A/P/C menu presented and handled correctly for each category
299
+ ✅ Content properly appended to document when C selected
300
+
301
+ ## FAILURE MODES:
302
+
303
+ ❌ Making recommendations instead of facilitating decisions
304
+ ❌ Not verifying technology versions with web search
305
+ ❌ Missing cascading implications between decisions
306
+ ❌ Not adapting explanations to user skill level
307
+ ❌ Forgetting to document decisions made by starter template
308
+ ❌ Not presenting A/P/C menu after content generation
309
+
310
+ ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
311
+ ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
312
+ ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
313
+
314
+ ## NEXT STEP:
315
+
316
+ After user selects 'C' and content is saved to document, load `./step-05-patterns.md` to define implementation patterns that ensure consistency across AI agents.
317
+
318
+ Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved!