bmad-method 4.27.5 → 5.0.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 (274) hide show
  1. package/.bmad-core/agent-teams/team-all.yml +16 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yml +26 -0
  3. package/.bmad-core/agent-teams/team-no-ui.yml +15 -0
  4. package/{bmad-core → .bmad-core}/agents/analyst.md +23 -30
  5. package/.bmad-core/agents/architect.md +66 -0
  6. package/.bmad-core/agents/bmad-master.md +104 -0
  7. package/.bmad-core/agents/bmad-orchestrator.md +81 -0
  8. package/.bmad-core/agents/dev.md +70 -0
  9. package/{bmad-core → .bmad-core}/agents/pm.md +24 -25
  10. package/{bmad-core → .bmad-core}/agents/po.md +24 -28
  11. package/.bmad-core/agents/qa.md +52 -0
  12. package/.bmad-core/agents/sm.md +55 -0
  13. package/.bmad-core/agents/ux-expert.md +66 -0
  14. package/{bmad-core → .bmad-core}/checklists/change-checklist.md +2 -2
  15. package/{bmad-core → .bmad-core}/checklists/story-draft-checklist.md +1 -1
  16. package/.bmad-core/data/bmad-kb.md +47 -0
  17. package/.bmad-core/schemas/agent-team-schema.yml +153 -0
  18. package/.bmad-core/tasks/advanced-elicitation.md +92 -0
  19. package/.bmad-core/tasks/brainstorming-techniques.md +238 -0
  20. package/.bmad-core/tasks/core-dump.md +74 -0
  21. package/{expansion-packs/bmad-creator-tools → .bmad-core}/tasks/create-agent.md +11 -9
  22. package/.bmad-core/tasks/create-doc.md +74 -0
  23. package/.bmad-core/tasks/create-expansion-pack.md +425 -0
  24. package/.bmad-core/tasks/create-next-story.md +206 -0
  25. package/.bmad-core/tasks/create-team.md +229 -0
  26. package/{bmad-core → .bmad-core}/tasks/doc-migration-task.md +9 -9
  27. package/{common → .bmad-core}/tasks/execute-checklist.md +6 -2
  28. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +58 -0
  29. package/{bmad-core → .bmad-core}/tasks/index-docs.md +7 -3
  30. package/{bmad-core → .bmad-core}/tasks/shard-doc.md +7 -25
  31. package/.bmad-core/templates/agent-tmpl.md +58 -0
  32. package/.bmad-core/templates/architecture-tmpl.md +771 -0
  33. package/.bmad-core/templates/brownfield-architecture-tmpl.md +542 -0
  34. package/.bmad-core/templates/brownfield-prd-tmpl.md +240 -0
  35. package/.bmad-core/templates/competitor-analysis-tmpl.md +289 -0
  36. package/.bmad-core/templates/expansion-pack-plan-tmpl.md +91 -0
  37. package/.bmad-core/templates/front-end-architecture-tmpl.md +173 -0
  38. package/.bmad-core/templates/front-end-spec-tmpl.md +411 -0
  39. package/.bmad-core/templates/fullstack-architecture-tmpl.md +1016 -0
  40. package/.bmad-core/templates/market-research-tmpl.md +261 -0
  41. package/.bmad-core/templates/prd-tmpl.md +200 -0
  42. package/.bmad-core/templates/project-brief-tmpl.md +228 -0
  43. package/.bmad-core/templates/simple-project-prd-tmpl.md +461 -0
  44. package/.bmad-core/templates/story-tmpl.md +61 -0
  45. package/.bmad-core/templates/web-agent-startup-instructions-template.md +39 -0
  46. package/.bmad-core/utils/agent-switcher.ide.md +112 -0
  47. package/.bmad-core/utils/template-format.md +26 -0
  48. package/.bmad-core/utils/workflow-management.md +224 -0
  49. package/.bmad-core/web-bundles/agents/analyst.txt +1684 -0
  50. package/.bmad-core/web-bundles/agents/architect.txt +3584 -0
  51. package/.bmad-core/web-bundles/agents/bmad-master.txt +9491 -0
  52. package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +1466 -0
  53. package/{dist → .bmad-core/web-bundles}/agents/dev.txt +71 -179
  54. package/{dist → .bmad-core/web-bundles}/agents/pm.txt +1058 -624
  55. package/{dist → .bmad-core/web-bundles}/agents/po.txt +138 -337
  56. package/.bmad-core/web-bundles/agents/qa.txt +129 -0
  57. package/.bmad-core/web-bundles/agents/sm.txt +658 -0
  58. package/.bmad-core/web-bundles/agents/ux-expert.txt +1099 -0
  59. package/.bmad-core/web-bundles/teams/team-all.txt +10757 -0
  60. package/.bmad-core/web-bundles/teams/team-fullstack.txt +10109 -0
  61. package/.bmad-core/web-bundles/teams/team-no-ui.txt +8950 -0
  62. package/.bmad-core/workflows/brownfield-fullstack.yml +116 -0
  63. package/.bmad-core/workflows/brownfield-service.yml +117 -0
  64. package/.bmad-core/workflows/brownfield-ui.yml +127 -0
  65. package/{bmad-core/workflows/greenfield-fullstack.yaml → .bmad-core/workflows/greenfield-fullstack.yml} +77 -140
  66. package/.bmad-core/workflows/greenfield-service.yml +143 -0
  67. package/.bmad-core/workflows/greenfield-ui.yml +172 -0
  68. package/.claude/commands/analyst.md +63 -0
  69. package/.claude/commands/architect.md +70 -0
  70. package/.claude/commands/bmad-master.md +108 -0
  71. package/.claude/commands/bmad-orchestrator.md +85 -0
  72. package/.claude/commands/dev.md +74 -0
  73. package/.claude/commands/pm.md +63 -0
  74. package/.claude/commands/po.md +64 -0
  75. package/.claude/commands/qa.md +56 -0
  76. package/.claude/commands/sm.md +59 -0
  77. package/.claude/commands/ux-expert.md +70 -0
  78. package/.cursor/rules/analyst.mdc +77 -0
  79. package/.cursor/rules/architect.mdc +84 -0
  80. package/.cursor/rules/bmad-master.mdc +122 -0
  81. package/.cursor/rules/bmad-orchestrator.mdc +99 -0
  82. package/.cursor/rules/dev.mdc +88 -0
  83. package/.cursor/rules/pm.mdc +77 -0
  84. package/.cursor/rules/po.mdc +78 -0
  85. package/.cursor/rules/qa.mdc +70 -0
  86. package/.cursor/rules/sm.mdc +73 -0
  87. package/.cursor/rules/ux-expert.mdc +84 -0
  88. package/.roo/.roomodes +95 -0
  89. package/.roo/README.md +38 -0
  90. package/.vscode/extensions.json +6 -0
  91. package/.vscode/settings.json +75 -49
  92. package/.windsurf/rules/analyst.md +71 -0
  93. package/.windsurf/rules/architect.md +78 -0
  94. package/.windsurf/rules/bmad-master.md +116 -0
  95. package/.windsurf/rules/bmad-orchestrator.md +93 -0
  96. package/.windsurf/rules/dev.md +82 -0
  97. package/.windsurf/rules/pm.md +71 -0
  98. package/.windsurf/rules/po.md +72 -0
  99. package/.windsurf/rules/qa.md +64 -0
  100. package/.windsurf/rules/sm.md +67 -0
  101. package/.windsurf/rules/ux-expert.md +78 -0
  102. package/CHANGELOG.md +16 -452
  103. package/CONTRIBUTING.md +5 -168
  104. package/LICENSE +1 -1
  105. package/README.md +230 -77
  106. package/docs/bmad-workflow-guide.md +15 -19
  107. package/docs/claude-code-guide.md +119 -0
  108. package/docs/cursor-guide.md +127 -0
  109. package/docs/roo-code-guide.md +140 -0
  110. package/docs/sample-output/simple-fullstack-greenfield/prd.md +42 -0
  111. package/docs/versioning-and-releases.md +16 -8
  112. package/docs/versions.md +5 -4
  113. package/docs/windsurf-guide.md +127 -0
  114. package/expansion-packs/README.md +112 -2
  115. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/README.md +9 -9
  116. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/agents/infra-devops-platform.md +15 -15
  117. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/checklists/infrastructure-checklist.md +1 -1
  118. package/expansion-packs/infrastructure-devops/manifest.yml +38 -0
  119. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/review-infrastructure.md +4 -4
  120. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/validate-infrastructure.md +4 -4
  121. package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +415 -0
  122. package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
  123. package/package.json +11 -19
  124. package/tools/bmad-npx-wrapper.js +1 -1
  125. package/tools/builders/web-builder.js +28 -563
  126. package/tools/cli.js +22 -55
  127. package/tools/installer/README.md +53 -3
  128. package/tools/installer/bin/bmad.js +56 -294
  129. package/tools/installer/config/install.config.yml +139 -0
  130. package/tools/installer/lib/config-loader.js +34 -198
  131. package/tools/installer/lib/file-manager.js +5 -123
  132. package/tools/installer/lib/ide-setup.js +189 -545
  133. package/tools/installer/lib/installer.js +55 -1136
  134. package/tools/installer/package-lock.json +3 -3
  135. package/tools/installer/package.json +4 -4
  136. package/tools/installer/templates/claude-commands.md +7 -0
  137. package/tools/installer/templates/cursor-rules.md +22 -0
  138. package/tools/installer/templates/windsurf-rules.md +22 -0
  139. package/tools/lib/dependency-resolver.js +22 -22
  140. package/tools/upgraders/v3-to-v4-upgrader.js +43 -35
  141. package/tools/version-bump.js +1 -1
  142. package/tools/yaml-format.js +2 -2
  143. package/.github/FUNDING.yaml +0 -15
  144. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
  145. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  146. package/.prettierignore +0 -21
  147. package/.prettierrc +0 -23
  148. package/bmad-core/agent-teams/team-all.yaml +0 -14
  149. package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  150. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  151. package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  152. package/bmad-core/agents/architect.md +0 -63
  153. package/bmad-core/agents/bmad-master.md +0 -110
  154. package/bmad-core/agents/bmad-orchestrator.md +0 -140
  155. package/bmad-core/agents/dev.md +0 -57
  156. package/bmad-core/agents/qa.md +0 -55
  157. package/bmad-core/agents/sm.md +0 -46
  158. package/bmad-core/agents/ux-expert.md +0 -54
  159. package/bmad-core/core-config.yaml +0 -25
  160. package/bmad-core/data/bmad-kb.md +0 -803
  161. package/bmad-core/data/brainstorming-techniques.md +0 -36
  162. package/bmad-core/data/elicitation-methods.md +0 -134
  163. package/bmad-core/tasks/advanced-elicitation.md +0 -117
  164. package/bmad-core/tasks/create-brownfield-story.md +0 -355
  165. package/bmad-core/tasks/create-next-story.md +0 -114
  166. package/bmad-core/tasks/create-workflow-plan.md +0 -289
  167. package/bmad-core/tasks/document-project.md +0 -317
  168. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  169. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  170. package/bmad-core/tasks/kb-mode-interaction.md +0 -70
  171. package/bmad-core/tasks/review-story.md +0 -145
  172. package/bmad-core/tasks/update-workflow-plan.md +0 -248
  173. package/bmad-core/tasks/validate-next-story.md +0 -134
  174. package/bmad-core/templates/architecture-tmpl.yaml +0 -650
  175. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  176. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  177. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  178. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  179. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  180. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  181. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
  182. package/bmad-core/templates/market-research-tmpl.yaml +0 -252
  183. package/bmad-core/templates/prd-tmpl.yaml +0 -202
  184. package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  185. package/bmad-core/templates/story-tmpl.yaml +0 -137
  186. package/bmad-core/utils/plan-management.md +0 -219
  187. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  188. package/bmad-core/workflows/brownfield-service.yaml +0 -187
  189. package/bmad-core/workflows/brownfield-ui.yaml +0 -197
  190. package/bmad-core/workflows/greenfield-service.yaml +0 -206
  191. package/bmad-core/workflows/greenfield-ui.yaml +0 -235
  192. package/common/tasks/create-doc.md +0 -79
  193. package/common/utils/bmad-doc-template.md +0 -325
  194. package/common/utils/workflow-management.md +0 -69
  195. package/dist/agents/analyst.txt +0 -2849
  196. package/dist/agents/architect.txt +0 -3505
  197. package/dist/agents/bmad-master.txt +0 -9588
  198. package/dist/agents/bmad-orchestrator.txt +0 -2232
  199. package/dist/agents/qa.txt +0 -388
  200. package/dist/agents/sm.txt +0 -673
  201. package/dist/agents/ux-expert.txt +0 -987
  202. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2401
  203. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1635
  204. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -825
  205. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -11730
  206. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +0 -2023
  207. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2052
  208. package/dist/teams/team-all.txt +0 -11799
  209. package/dist/teams/team-fullstack.txt +0 -11129
  210. package/dist/teams/team-ide-minimal.txt +0 -4573
  211. package/dist/teams/team-no-ui.txt +0 -9684
  212. package/docs/GUIDING-PRINCIPLES.md +0 -91
  213. package/docs/agentic-tools/claude-code-guide.md +0 -19
  214. package/docs/agentic-tools/cline-guide.md +0 -16
  215. package/docs/agentic-tools/cursor-guide.md +0 -14
  216. package/docs/agentic-tools/gemini-cli-guide.md +0 -32
  217. package/docs/agentic-tools/github-copilot-guide.md +0 -42
  218. package/docs/agentic-tools/roo-code-guide.md +0 -15
  219. package/docs/agentic-tools/trae-guide.md +0 -14
  220. package/docs/agentic-tools/windsurf-guide.md +0 -14
  221. package/docs/core-architecture.md +0 -219
  222. package/docs/expansion-packs.md +0 -280
  223. package/docs/how-to-contribute-with-pull-requests.md +0 -158
  224. package/docs/template-markup-references.md +0 -86
  225. package/docs/user-guide.md +0 -1142
  226. package/docs/working-in-the-brownfield.md +0 -361
  227. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  228. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -60
  229. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -68
  230. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -53
  231. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  232. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  233. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -7
  234. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
  235. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
  236. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
  237. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  238. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
  239. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  240. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  241. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  242. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  243. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  244. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  245. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  246. package/expansion-packs/bmad-creator-tools/README.md +0 -8
  247. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +0 -55
  248. package/expansion-packs/bmad-creator-tools/config.yaml +0 -5
  249. package/expansion-packs/bmad-creator-tools/tasks/generate-expansion-pack.md +0 -1020
  250. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +0 -178
  251. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +0 -154
  252. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +0 -120
  253. package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -8
  254. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
  255. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  256. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  257. package/tools/bump-all-versions.js +0 -107
  258. package/tools/bump-core-version.js +0 -57
  259. package/tools/bump-expansion-version.js +0 -78
  260. package/tools/installer/config/ide-agent-config.yaml +0 -58
  261. package/tools/installer/config/install.config.yaml +0 -91
  262. package/tools/lib/yaml-utils.js +0 -29
  263. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  264. package/tools/update-expansion-version.js +0 -54
  265. /package/{bmad-core → .bmad-core}/checklists/architect-checklist.md +0 -0
  266. /package/{bmad-core → .bmad-core}/checklists/pm-checklist.md +0 -0
  267. /package/{bmad-core → .bmad-core}/checklists/po-master-checklist.md +0 -0
  268. /package/{bmad-core → .bmad-core}/checklists/story-dod-checklist.md +0 -0
  269. /package/{bmad-core → .bmad-core}/data/technical-preferences.md +0 -0
  270. /package/{bmad-core → .bmad-core}/tasks/brownfield-create-epic.md +0 -0
  271. /package/{bmad-core → .bmad-core}/tasks/brownfield-create-story.md +0 -0
  272. /package/{bmad-core → .bmad-core}/tasks/correct-course.md +0 -0
  273. /package/{bmad-core → .bmad-core}/tasks/create-deep-research-prompt.md +0 -0
  274. /package/.github/workflows/{release.yaml → release.yml} +0 -0
@@ -1,6 +1,6 @@
1
1
  # Web Agent Bundle Instructions
2
2
 
3
- You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
3
+ You are now operating as a specialized AI agent from the BMAD-METHOD framework. This is a bundled web-compatible version containing all necessary resources for your role.
4
4
 
5
5
  ## Important Instructions
6
6
 
@@ -8,14 +8,14 @@ You are now operating as a specialized AI agent from the BMad-Method framework.
8
8
 
9
9
  2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
10
10
 
11
- - `==================== START: .bmad-core/folder/filename.md ====================`
12
- - `==================== END: .bmad-core/folder/filename.md ====================`
11
+ - `==================== START: folder#filename ====================`
12
+ - `==================== END: folder#filename ====================`
13
13
 
14
14
  When you need to reference a resource mentioned in your instructions:
15
15
 
16
16
  - Look for the corresponding START/END tags
17
- - The format is always the full path with dot prefix (e.g., `.bmad-core/personas/analyst.md`, `.bmad-core/tasks/create-story.md`)
18
- - If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
17
+ - The format is always `folder#filename` (e.g., `personas#analyst`, `tasks#create-story`)
18
+ - If a section is specified (e.g., `tasks#create-story#section-name`), navigate to that section within the file
19
19
 
20
20
  **Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
21
21
 
@@ -29,28 +29,26 @@ dependencies:
29
29
 
30
30
  These references map directly to bundle sections:
31
31
 
32
- - `utils: template-format` → Look for `==================== START: .bmad-core/utils/template-format.md ====================`
33
- - `tasks: create-story` → Look for `==================== START: .bmad-core/tasks/create-story.md ====================`
32
+ - `utils: template-format` → Look for `==================== START: utils#template-format ====================`
33
+ - `tasks: create-story` → Look for `==================== START: tasks#create-story ====================`
34
34
 
35
35
  3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
36
36
 
37
- 4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMad-Method framework.
37
+ 4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMAD-METHOD framework.
38
38
 
39
39
  ---
40
40
 
41
-
42
- ==================== START: .bmad-core/agents/pm.md ====================
41
+ ==================== START: agents#pm ====================
43
42
  # pm
44
43
 
45
- CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
44
+ CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
46
45
 
47
- ```yaml
46
+ ```yml
48
47
  activation-instructions:
49
48
  - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
50
49
  - Only read the files/tasks listed here when user selects them for execution to minimize context usage
51
50
  - The customization field ALWAYS takes precedence over any conflicting instructions
52
51
  - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
53
- - Greet the user with your name and role, and inform of the *help command.
54
52
  agent:
55
53
  name: John
56
54
  id: pm
@@ -72,115 +70,114 @@ persona:
72
70
  - Collaborative & iterative approach
73
71
  - Proactive risk identification
74
72
  - Strategic thinking & outcome-oriented
73
+ startup:
74
+ - Greet the user with your name and role, and inform of the *help command.
75
75
  commands:
76
- - help: Show numbered list of the following commands to allow selection
77
- - create-doc {template}: execute task create-doc for template provided, if no template then ONLY list dependencies.templates
78
- - yolo: Toggle Yolo Mode
79
- - doc-out: Output full document to current destination file
80
- - exit: Exit (confirm)
76
+ - '*help" - Show: numbered list of the following commands to allow selection'
77
+ - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
78
+ - '*create-doc {template}" - Create doc (no template = show available templates)'
79
+ - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
81
80
  dependencies:
82
81
  tasks:
83
- - create-doc.md
84
- - correct-course.md
85
- - create-deep-research-prompt.md
86
- - brownfield-create-epic.md
87
- - brownfield-create-story.md
88
- - execute-checklist.md
89
- - shard-doc.md
82
+ - create-doc
83
+ - correct-course
84
+ - create-deep-research-prompt
85
+ - brownfield-create-epic
86
+ - brownfield-create-story
87
+ - execute-checklist
88
+ - shard-doc
90
89
  templates:
91
- - prd-tmpl.yaml
92
- - brownfield-prd-tmpl.yaml
90
+ - prd-tmpl
91
+ - brownfield-prd-tmpl
92
+ - simple-project-prd-tmpl
93
93
  checklists:
94
- - pm-checklist.md
95
- - change-checklist.md
94
+ - pm-checklist
95
+ - change-checklist
96
96
  data:
97
- - technical-preferences.md
97
+ - technical-preferences
98
+ utils:
99
+ - template-format
98
100
  ```
99
- ==================== END: .bmad-core/agents/pm.md ====================
101
+ ==================== END: agents#pm ====================
100
102
 
101
- ==================== START: .bmad-core/tasks/create-doc.md ====================
102
- # Create Document from Template (YAML Driven)
103
+ ==================== START: tasks#create-doc ====================
104
+ # Create Document from Template Task
103
105
 
104
- ## CRITICAL: Mandatory Elicitation Format
106
+ ## Purpose
107
+
108
+ - Generate documents from any specified template following embedded instructions from the perspective of the selected agent persona
105
109
 
106
- **When `elicit: true`, ALWAYS use this exact format:**
110
+ ## Instructions
107
111
 
108
- 1. Present section content
109
- 2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
110
- 3. Present numbered options 1-9:
111
- - **Option 1:** Always "Proceed to next section"
112
- - **Options 2-9:** Select 8 methods from data/elicitation-methods
113
- - End with: "Select 1-9 or just type your question/feedback:"
112
+ ### 1. Identify Template and Context
114
113
 
115
- **NEVER ask yes/no questions or use any other format.**
114
+ - Determine which template to use (user-provided or list available for selection to user)
116
115
 
117
- ## Processing Flow
116
+ - Agent-specific templates are listed in the agent's dependencies under `templates`. For each template listed, consider it a document the agent can create. So if an agent has:
118
117
 
119
- 1. **Parse YAML template** - Load template metadata and sections
120
- 2. **Set preferences** - Show current mode (Interactive), confirm output file
121
- 3. **Process each section:**
122
- - Skip if condition unmet
123
- - Check agent permissions (owner/editors) - note if section is restricted to specific agents
124
- - Draft content using section instruction
125
- - Present content + detailed rationale
126
- - **IF elicit: true** → MANDATORY 1-9 options format
127
- - Save to file if possible
128
- 4. **Continue until complete**
118
+ @{example}
119
+ dependencies:
120
+ templates: - prd-tmpl - architecture-tmpl
121
+ @{/example}
129
122
 
130
- ## Detailed Rationale Requirements
123
+ You would offer to create "PRD" and "Architecture" documents when the user asks what you can help with.
131
124
 
132
- When presenting section content, ALWAYS include rationale that explains:
125
+ - Gather all relevant inputs, or ask for them, or else rely on user providing necessary details to complete the document
126
+ - Understand the document purpose and target audience
133
127
 
134
- - Trade-offs and choices made (what was chosen over alternatives and why)
135
- - Key assumptions made during drafting
136
- - Interesting or questionable decisions that need user attention
137
- - Areas that might need validation
128
+ ### 2. Determine Interaction Mode
138
129
 
139
- ## Elicitation Results Flow
130
+ Confirm with the user their preferred interaction style:
140
131
 
141
- After user selects elicitation method (2-9):
132
+ - **Incremental:** Work through chunks of the document.
133
+ - **YOLO Mode:** Draft complete document making reasonable assumptions in one shot. (Can be entered also after starting incremental by just typing /yolo)
142
134
 
143
- 1. Execute method from data/elicitation-methods
144
- 2. Present results with insights
145
- 3. Offer options:
146
- - **1. Apply changes and update section**
147
- - **2. Return to elicitation menu**
148
- - **3. Ask any questions or engage further with this elicitation**
135
+ ### 3. Execute Template
149
136
 
150
- ## Agent Permissions
137
+ - Load specified template from `templates#*` or the /templates directory
138
+ - Follow ALL embedded LLM instructions within the template
139
+ - Process template markup according to `utils#template-format` conventions
151
140
 
152
- When processing sections with agent permission fields:
141
+ ### 4. Template Processing Rules
153
142
 
154
- - **owner**: Note which agent role initially creates/populates the section
155
- - **editors**: List agent roles allowed to modify the section
156
- - **readonly**: Mark sections that cannot be modified after creation
143
+ #### CRITICAL: Never display template markup, LLM instructions, or examples to users
157
144
 
158
- **For sections with restricted access:**
145
+ - Replace all {{placeholders}} with actual content
146
+ - Execute all [[LLM: instructions]] internally
147
+ - Process `<<REPEAT>>` sections as needed
148
+ - Evaluate ^^CONDITION^^ blocks and include only if applicable
149
+ - Use @{examples} for guidance but never output them
159
150
 
160
- - Include a note in the generated document indicating the responsible agent
161
- - Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
151
+ ### 5. Content Generation
162
152
 
163
- ## YOLO Mode
153
+ - **Incremental Mode**: Present each major section for review before proceeding
154
+ - **YOLO Mode**: Generate all sections, then review complete document with user
155
+ - Apply any elicitation protocols specified in template
156
+ - Incorporate user feedback and iterate as needed
157
+
158
+ ### 6. Validation
164
159
 
165
- User can type `#yolo` to toggle to YOLO mode (process all sections at once).
160
+ If template specifies a checklist:
166
161
 
167
- ## CRITICAL REMINDERS
162
+ - Run the appropriate checklist against completed document
163
+ - Document completion status for each item
164
+ - Address any deficiencies found
165
+ - Present validation summary to user
168
166
 
169
- **❌ NEVER:**
167
+ ### 7. Final Presentation
170
168
 
171
- - Ask yes/no questions for elicitation
172
- - Use any format other than 1-9 numbered options
173
- - Create new elicitation methods
169
+ - Present clean, formatted content only
170
+ - Ensure all sections are complete
171
+ - DO NOT truncate or summarize content
172
+ - Begin directly with document content (no preamble)
173
+ - Include any handoff prompts specified in template
174
174
 
175
- **✅ ALWAYS:**
175
+ ## Important Notes
176
176
 
177
- - Use exact 1-9 format when elicit: true
178
- - Select options 2-9 from data/elicitation-methods only
179
- - Provide detailed rationale explaining decisions
180
- - End with "Select 1-9 or just type your question/feedback:"
181
- ==================== END: .bmad-core/tasks/create-doc.md ====================
177
+ - Template markup is for AI processing only - never expose to users
178
+ ==================== END: tasks#create-doc ====================
182
179
 
183
- ==================== START: .bmad-core/tasks/correct-course.md ====================
180
+ ==================== START: tasks#correct-course ====================
184
181
  # Correct Course Task
185
182
 
186
183
  ## Purpose
@@ -254,9 +251,9 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
254
251
  - A summary of the `change-checklist` analysis (issue, impact, rationale for the chosen path).
255
252
  - Specific, clearly drafted proposed edits for all affected project artifacts.
256
253
  - **Implicit:** An annotated `change-checklist` (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
257
- ==================== END: .bmad-core/tasks/correct-course.md ====================
254
+ ==================== END: tasks#correct-course ====================
258
255
 
259
- ==================== START: .bmad-core/tasks/create-deep-research-prompt.md ====================
256
+ ==================== START: tasks#create-deep-research-prompt ====================
260
257
  # Create Deep Research Prompt Task
261
258
 
262
259
  This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
@@ -558,9 +555,9 @@ Present these numbered options to the user:
558
555
  - Balance comprehensiveness with focus
559
556
  - Document assumptions and limitations clearly
560
557
  - Plan for iterative refinement based on initial findings
561
- ==================== END: .bmad-core/tasks/create-deep-research-prompt.md ====================
558
+ ==================== END: tasks#create-deep-research-prompt ====================
562
559
 
563
- ==================== START: .bmad-core/tasks/brownfield-create-epic.md ====================
560
+ ==================== START: tasks#brownfield-create-epic ====================
564
561
  # Create Brownfield Epic Task
565
562
 
566
563
  ## Purpose
@@ -721,9 +718,9 @@ The epic creation is successful when:
721
718
  - If the scope grows beyond 3 stories, consider the full brownfield PRD process
722
719
  - Always prioritize existing system integrity over new functionality
723
720
  - When in doubt about scope or complexity, escalate to full brownfield planning
724
- ==================== END: .bmad-core/tasks/brownfield-create-epic.md ====================
721
+ ==================== END: tasks#brownfield-create-epic ====================
725
722
 
726
- ==================== START: .bmad-core/tasks/brownfield-create-story.md ====================
723
+ ==================== START: tasks#brownfield-create-story ====================
727
724
  # Create Brownfield Story Task
728
725
 
729
726
  ## Purpose
@@ -871,16 +868,20 @@ The story creation is successful when:
871
868
  - Always prioritize existing system integrity
872
869
  - When in doubt about integration complexity, use brownfield-create-epic instead
873
870
  - Stories should take no more than 4 hours of focused development work
874
- ==================== END: .bmad-core/tasks/brownfield-create-story.md ====================
871
+ ==================== END: tasks#brownfield-create-story ====================
875
872
 
876
- ==================== START: .bmad-core/tasks/execute-checklist.md ====================
873
+ ==================== START: tasks#execute-checklist ====================
877
874
  # Checklist Validation Task
878
875
 
879
876
  This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
880
877
 
878
+ ## Context
879
+
880
+ The BMAD Method uses various checklists to ensure quality and completeness of different artifacts. Each checklist contains embedded prompts and instructions to guide the LLM through thorough validation and advanced elicitation. The checklists automatically identify their required artifacts and guide the validation process.
881
+
881
882
  ## Available Checklists
882
883
 
883
- If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the .bmad-core/checklists folder to select the appropriate one to run.
884
+ If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the bmad-core/checklists folder to select the appropriate one to run.
884
885
 
885
886
  ## Instructions
886
887
 
@@ -889,7 +890,7 @@ If the user asks or does not specify a specific checklist, list the checklists a
889
890
  - If user or the task being run provides a checklist name:
890
891
  - Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
891
892
  - If multiple matches found, ask user to clarify
892
- - Load the appropriate checklist from .bmad-core/checklists/
893
+ - Load the appropriate checklist from bmad-core/checklists/
893
894
  - If no checklist specified:
894
895
  - Ask the user which checklist they want to use
895
896
  - Present the available options from the files in the checklists folder
@@ -967,9 +968,9 @@ The LLM will:
967
968
  - Execute the complete checklist validation
968
969
  - Present a final report with pass/fail rates and key findings
969
970
  - Offer to provide detailed analysis of any section, especially those with warnings or failures
970
- ==================== END: .bmad-core/tasks/execute-checklist.md ====================
971
+ ==================== END: tasks#execute-checklist ====================
971
972
 
972
- ==================== START: .bmad-core/tasks/shard-doc.md ====================
973
+ ==================== START: tasks#shard-doc ====================
973
974
  # Document Sharding Task
974
975
 
975
976
  ## Purpose
@@ -978,27 +979,9 @@ The LLM will:
978
979
  - Create a folder structure to organize the sharded documents
979
980
  - Maintain all content integrity including code blocks, diagrams, and markdown formatting
980
981
 
981
- ## Primary Method: Automatic with markdown-tree
982
-
983
- [[LLM: First, check if markdownExploder is set to true in bmad-core/core-config.yaml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
984
-
985
- If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
986
-
987
- If the command fails (especially with an error indicating the command is not found or not available), inform the user: "The markdownExploder setting is enabled but the md-tree command is not available. Please either:
988
-
989
- 1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
990
- 2. Or set markdownExploder to false in bmad-core/core-config.yaml
991
-
992
- **IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
993
-
994
- If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
995
-
996
- 1. Set markdownExploder to true in bmad-core/core-config.yaml
997
- 2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
998
-
999
- I will now proceed with the manual sharding process."
982
+ ## Recommended Method: @kayvan/markdown-tree-parser
1000
983
 
1001
- Then proceed with the manual method below ONLY if markdownExploder is false.]]
984
+ [[LLM: First, suggest the user install and use the @kayvan/markdown-tree-parser tool if the md-tree command is unavailable so we can have the best performance and reliable document sharding. Let the user know this will save cost of having the LLM to the expensive sharding operation. Give instructions for MPV NPX and PNPM global installs.]]
1002
985
 
1003
986
  ### Installation and Usage
1004
987
 
@@ -1031,19 +1014,19 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
1031
1014
 
1032
1015
  ---
1033
1016
 
1034
- ## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
1017
+ ## Manual Method (if @kayvan/markdown-tree-parser is not available)
1035
1018
 
1036
1019
  [[LLM: Only proceed with the manual instructions below if the user cannot or does not want to use @kayvan/markdown-tree-parser.]]
1037
1020
 
1038
1021
  ### Task Instructions
1039
1022
 
1040
- 1. Identify Document and Target Location
1023
+ ### 1. Identify Document and Target Location
1041
1024
 
1042
1025
  - Determine which document to shard (user-provided path)
1043
1026
  - Create a new folder under `docs/` with the same name as the document (without extension)
1044
1027
  - Example: `docs/prd.md` → create folder `docs/prd/`
1045
1028
 
1046
- 2. Parse and Extract Sections
1029
+ ### 2. Parse and Extract Sections
1047
1030
 
1048
1031
  [[LLM: When sharding the document:
1049
1032
 
@@ -1053,7 +1036,7 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
1053
1036
  - Extract the section heading and ALL content until the next level 2 section
1054
1037
  - Include all subsections, code blocks, diagrams, lists, tables, etc.
1055
1038
  - Be extremely careful with:
1056
- - Fenced code blocks (```) - ensure you capture the full block including closing backticks and account for potential misleading level 2's that are actually part of a fenced section example
1039
+ - Fenced code blocks (```) - ensure you capture the full block including closing backticks
1057
1040
  - Mermaid diagrams - preserve the complete diagram syntax
1058
1041
  - Nested markdown elements
1059
1042
  - Multi-line content that might contain ## inside code blocks
@@ -1072,7 +1055,7 @@ For each extracted section:
1072
1055
 
1073
1056
  2. **Adjust heading levels**:
1074
1057
 
1075
- - The level 2 heading becomes level 1 (# instead of ##) in the sharded new document
1058
+ - The level 2 heading becomes level 1 (# instead of ##)
1076
1059
  - All subsection levels decrease by 1:
1077
1060
 
1078
1061
  ```txt
@@ -1161,497 +1144,919 @@ Document sharded successfully:
1161
1144
  - Preserve ALL formatting, including whitespace where significant
1162
1145
  - Handle edge cases like sections with code blocks containing ## symbols
1163
1146
  - Ensure the sharding is reversible (could reconstruct the original from shards)
1164
- ==================== END: .bmad-core/tasks/shard-doc.md ====================
1165
-
1166
- ==================== START: .bmad-core/templates/prd-tmpl.yaml ====================
1167
- template:
1168
- id: prd-template-v2
1169
- name: Product Requirements Document
1170
- version: 2.0
1171
- output:
1172
- format: markdown
1173
- filename: docs/prd.md
1174
- title: "{{project_name}} Product Requirements Document (PRD)"
1175
-
1176
- workflow:
1177
- mode: interactive
1178
- elicitation: advanced-elicitation
1179
-
1180
- sections:
1181
- - id: goals-context
1182
- title: Goals and Background Context
1183
- instruction: |
1184
- Ask if Project Brief document is available. If NO Project Brief exists, STRONGLY recommend creating one first using project-brief-tmpl (it provides essential foundation: problem statement, target users, success metrics, MVP scope, constraints). If user insists on PRD without brief, gather this information during Goals section. If Project Brief exists, review and use it to populate Goals (bullet list of desired outcomes) and Background Context (1-2 paragraphs on what this solves and why) so we can determine what is and is not in scope for PRD mvp. Either way this is critical to determine the requirements. Include Change Log table.
1185
- sections:
1186
- - id: goals
1187
- title: Goals
1188
- type: bullet-list
1189
- instruction: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires
1190
- - id: background
1191
- title: Background Context
1192
- type: paragraphs
1193
- instruction: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is
1194
- - id: changelog
1195
- title: Change Log
1196
- type: table
1197
- columns: [Date, Version, Description, Author]
1198
- instruction: Track document versions and changes
1199
-
1200
- - id: requirements
1201
- title: Requirements
1202
- instruction: Draft the list of functional and non functional requirements under the two child sections
1203
- elicit: true
1204
- sections:
1205
- - id: functional
1206
- title: Functional
1207
- type: numbered-list
1208
- prefix: FR
1209
- instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with FR
1210
- examples:
1211
- - "FR6: The Todo List uses AI to detect and warn against potentially duplicate todo items that are worded differently."
1212
- - id: non-functional
1213
- title: Non Functional
1214
- type: numbered-list
1215
- prefix: NFR
1216
- instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR
1217
- examples:
1218
- - "NFR1: AWS service usage must aim to stay within free-tier limits where feasible."
1219
-
1220
- - id: ui-goals
1221
- title: User Interface Design Goals
1222
- condition: PRD has UX/UI requirements
1223
- instruction: |
1224
- Capture high-level UI/UX vision to guide Design Architect and to inform story creation. Steps:
1225
-
1226
- 1. Pre-fill all subsections with educated guesses based on project context
1227
- 2. Present the complete rendered section to user
1228
- 3. Clearly let the user know where assumptions were made
1229
- 4. Ask targeted questions for unclear/missing elements or areas needing more specification
1230
- 5. This is NOT detailed UI spec - focus on product vision and user goals
1231
- elicit: true
1232
- choices:
1233
- accessibility: [None, WCAG AA, WCAG AAA]
1234
- platforms: [Web Responsive, Mobile Only, Desktop Only, Cross-Platform]
1235
- sections:
1236
- - id: ux-vision
1237
- title: Overall UX Vision
1238
- - id: interaction-paradigms
1239
- title: Key Interaction Paradigms
1240
- - id: core-screens
1241
- title: Core Screens and Views
1242
- instruction: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories
1243
- examples:
1244
- - "Login Screen"
1245
- - "Main Dashboard"
1246
- - "Item Detail Page"
1247
- - "Settings Page"
1248
- - id: accessibility
1249
- title: "Accessibility: {None|WCAG AA|WCAG AAA|Custom Requirements}"
1250
- - id: branding
1251
- title: Branding
1252
- instruction: Any known branding elements or style guides that must be incorporated?
1253
- examples:
1254
- - "Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions."
1255
- - "Attached is the full color pallet and tokens for our corporate branding."
1256
- - id: target-platforms
1257
- title: "Target Device and Platforms: {Web Responsive|Mobile Only|Desktop Only|Cross-Platform}"
1258
- examples:
1259
- - "Web Responsive, and all mobile platforms"
1260
- - "iPhone Only"
1261
- - "ASCII Windows Desktop"
1262
-
1263
- - id: technical-assumptions
1264
- title: Technical Assumptions
1265
- instruction: |
1266
- Gather technical decisions that will guide the Architect. Steps:
1267
-
1268
- 1. Check if .bmad-core/data/technical-preferences.yaml or an attached technical-preferences file exists - use it to pre-populate choices
1269
- 2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
1270
- 3. For unknowns, offer guidance based on project goals and MVP scope
1271
- 4. Document ALL technical choices with rationale (why this choice fits the project)
1272
- 5. These become constraints for the Architect - be specific and complete
1273
- elicit: true
1274
- choices:
1275
- repository: [Monorepo, Polyrepo]
1276
- architecture: [Monolith, Microservices, Serverless]
1277
- testing: [Unit Only, Unit + Integration, Full Testing Pyramid]
1278
- sections:
1279
- - id: repository-structure
1280
- title: "Repository Structure: {Monorepo|Polyrepo|Multi-repo}"
1281
- - id: service-architecture
1282
- title: Service Architecture
1283
- instruction: "CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo)."
1284
- - id: testing-requirements
1285
- title: Testing Requirements
1286
- instruction: "CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods)."
1287
- - id: additional-assumptions
1288
- title: Additional Technical Assumptions and Requests
1289
- instruction: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items
1290
-
1291
- - id: epic-list
1292
- title: Epic List
1293
- instruction: |
1294
- Present a high-level list of all epics for user approval. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
1295
-
1296
- CRITICAL: Epics MUST be logically sequential following agile best practices:
1297
-
1298
- - Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
1299
- - Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
1300
- - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
1301
- - Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
1302
- - Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
1303
- - Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.
1304
- elicit: true
1305
- examples:
1306
- - "Epic 1: Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management"
1307
- - "Epic 2: Core Business Entities: Create and manage primary domain objects with CRUD operations"
1308
- - "Epic 3: User Workflows & Interactions: Enable key user journeys and business processes"
1309
- - "Epic 4: Reporting & Analytics: Provide insights and data visualization for users"
1310
-
1311
- - id: epic-details
1312
- title: Epic {{epic_number}} {{epic_title}}
1313
- repeatable: true
1314
- instruction: |
1315
- After the epic list is approved, present each epic with all its stories and acceptance criteria as a complete review unit.
1316
-
1317
- For each epic provide expanded goal (2-3 sentences describing the objective and value all the stories will achieve).
1318
-
1319
- CRITICAL STORY SEQUENCING REQUIREMENTS:
1320
-
1321
- - Stories within each epic MUST be logically sequential
1322
- - Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
1323
- - No story should depend on work from a later story or epic
1324
- - Identify and note any direct prerequisite stories
1325
- - Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
1326
- - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
1327
- - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
1328
- - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
1329
- - If a story seems complex, break it down further as long as it can deliver a vertical slice
1330
- elicit: true
1331
- template: "{{epic_goal}}"
1332
- sections:
1333
- - id: story
1334
- title: Story {{epic_number}}.{{story_number}} {{story_title}}
1335
- repeatable: true
1336
- template: |
1337
- As a {{user_type}},
1338
- I want {{action}},
1339
- so that {{benefit}}.
1340
- sections:
1341
- - id: acceptance-criteria
1342
- title: Acceptance Criteria
1343
- type: numbered-list
1344
- item_template: "{{criterion_number}}: {{criteria}}"
1345
- repeatable: true
1346
- instruction: |
1347
- Define clear, comprehensive, and testable acceptance criteria that:
1348
-
1349
- - Precisely define what "done" means from a functional perspective
1350
- - Are unambiguous and serve as basis for verification
1351
- - Include any critical non-functional requirements from the PRD
1352
- - Consider local testability for backend/data components
1353
- - Specify UI/UX requirements and framework adherence where applicable
1354
- - Avoid cross-cutting concerns that should be in other stories or PRD sections
1355
-
1356
- - id: checklist-results
1357
- title: Checklist Results Report
1358
- instruction: Before running the checklist and drafting the prompts, offer to output the full updated PRD. If outputting it, confirm with the user that you will be proceeding to run the checklist and produce the report. Once the user confirms, execute the pm-checklist and populate the results in this section.
1359
-
1360
- - id: next-steps
1361
- title: Next Steps
1362
- sections:
1363
- - id: ux-expert-prompt
1364
- title: UX Expert Prompt
1365
- instruction: This section will contain the prompt for the UX Expert, keep it short and to the point to initiate create architecture mode using this document as input.
1366
- - id: architect-prompt
1367
- title: Architect Prompt
1368
- instruction: This section will contain the prompt for the Architect, keep it short and to the point to initiate create architecture mode using this document as input.
1369
- ==================== END: .bmad-core/templates/prd-tmpl.yaml ====================
1370
-
1371
- ==================== START: .bmad-core/templates/brownfield-prd-tmpl.yaml ====================
1372
- template:
1373
- id: brownfield-prd-template-v2
1374
- name: Brownfield Enhancement PRD
1375
- version: 2.0
1376
- output:
1377
- format: markdown
1378
- filename: docs/prd.md
1379
- title: "{{project_name}} Brownfield Enhancement PRD"
1380
-
1381
- workflow:
1382
- mode: interactive
1383
- elicitation: advanced-elicitation
1384
-
1385
- sections:
1386
- - id: intro-analysis
1387
- title: Intro Project Analysis and Context
1388
- instruction: |
1389
- IMPORTANT - SCOPE ASSESSMENT REQUIRED:
1390
-
1391
- This PRD is for SIGNIFICANT enhancements to existing projects that require comprehensive planning and multiple stories. Before proceeding:
1392
-
1393
- 1. **Assess Enhancement Complexity**: If this is a simple feature addition or bug fix that could be completed in 1-2 focused development sessions, STOP and recommend: "For simpler changes, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead. This full PRD process is designed for substantial enhancements that require architectural planning and multiple coordinated stories."
1394
-
1395
- 2. **Project Context**: Determine if we're working in an IDE with the project already loaded or if the user needs to provide project information. If project files are available, analyze existing documentation in the docs folder. If insufficient documentation exists, recommend running the document-project task first.
1396
-
1397
- 3. **Deep Assessment Requirement**: You MUST thoroughly analyze the existing project structure, patterns, and constraints before making ANY suggestions. Every recommendation must be grounded in actual project analysis, not assumptions.
1398
-
1399
- Gather comprehensive information about the existing project. This section must be completed before proceeding with requirements.
1400
-
1401
- CRITICAL: Throughout this analysis, explicitly confirm your understanding with the user. For every assumption you make about the existing project, ask: "Based on my analysis, I understand that [assumption]. Is this correct?"
1402
-
1403
- Do not proceed with any recommendations until the user has validated your understanding of the existing system.
1404
- sections:
1405
- - id: existing-project-overview
1406
- title: Existing Project Overview
1407
- instruction: Check if document-project analysis was already performed. If yes, reference that output instead of re-analyzing.
1408
- sections:
1409
- - id: analysis-source
1410
- title: Analysis Source
1411
- instruction: |
1412
- Indicate one of the following:
1413
- - Document-project output available at: {{path}}
1414
- - IDE-based fresh analysis
1415
- - User-provided information
1416
- - id: current-state
1417
- title: Current Project State
1418
- instruction: |
1419
- - If document-project output exists: Extract summary from "High Level Architecture" and "Technical Summary" sections
1420
- - Otherwise: Brief description of what the project currently does and its primary purpose
1421
- - id: documentation-analysis
1422
- title: Available Documentation Analysis
1423
- instruction: |
1424
- If document-project was run:
1425
- - Note: "Document-project analysis available - using existing technical documentation"
1426
- - List key documents created by document-project
1427
- - Skip the missing documentation check below
1428
-
1429
- Otherwise, check for existing documentation:
1430
- sections:
1431
- - id: available-docs
1432
- title: Available Documentation
1433
- type: checklist
1434
- items:
1435
- - Tech Stack Documentation [[LLM: If from document-project, check ✓]]
1436
- - Source Tree/Architecture [[LLM: If from document-project, check ]]
1437
- - Coding Standards [[LLM: If from document-project, may be partial]]
1438
- - API Documentation [[LLM: If from document-project, check ]]
1439
- - External API Documentation [[LLM: If from document-project, check ✓]]
1440
- - UX/UI Guidelines [[LLM: May not be in document-project]]
1441
- - Technical Debt Documentation [[LLM: If from document-project, check ✓]]
1442
- - "Other: {{other_docs}}"
1443
- instruction: |
1444
- - If document-project was already run: "Using existing project analysis from document-project output."
1445
- - If critical documentation is missing and no document-project: "I recommend running the document-project task first..."
1446
- - id: enhancement-scope
1447
- title: Enhancement Scope Definition
1448
- instruction: Work with user to clearly define what type of enhancement this is. This is critical for scoping and approach.
1449
- sections:
1450
- - id: enhancement-type
1451
- title: Enhancement Type
1452
- type: checklist
1453
- instruction: Determine with user which applies
1454
- items:
1455
- - New Feature Addition
1456
- - Major Feature Modification
1457
- - Integration with New Systems
1458
- - Performance/Scalability Improvements
1459
- - UI/UX Overhaul
1460
- - Technology Stack Upgrade
1461
- - Bug Fix and Stability Improvements
1462
- - "Other: {{other_type}}"
1463
- - id: enhancement-description
1464
- title: Enhancement Description
1465
- instruction: 2-3 sentences describing what the user wants to add or change
1466
- - id: impact-assessment
1467
- title: Impact Assessment
1468
- type: checklist
1469
- instruction: Assess the scope of impact on existing codebase
1470
- items:
1471
- - Minimal Impact (isolated additions)
1472
- - Moderate Impact (some existing code changes)
1473
- - Significant Impact (substantial existing code changes)
1474
- - Major Impact (architectural changes required)
1475
- - id: goals-context
1476
- title: Goals and Background Context
1477
- sections:
1478
- - id: goals
1479
- title: Goals
1480
- type: bullet-list
1481
- instruction: Bullet list of 1-line desired outcomes this enhancement will deliver if successful
1482
- - id: background
1483
- title: Background Context
1484
- type: paragraphs
1485
- instruction: 1-2 short paragraphs explaining why this enhancement is needed, what problem it solves, and how it fits with the existing project
1486
- - id: changelog
1487
- title: Change Log
1488
- type: table
1489
- columns: [Change, Date, Version, Description, Author]
1490
-
1491
- - id: requirements
1492
- title: Requirements
1493
- instruction: |
1494
- Draft functional and non-functional requirements based on your validated understanding of the existing project. Before presenting requirements, confirm: "These requirements are based on my understanding of your existing system. Please review carefully and confirm they align with your project's reality."
1495
- elicit: true
1496
- sections:
1497
- - id: functional
1498
- title: Functional
1499
- type: numbered-list
1500
- prefix: FR
1501
- instruction: Each Requirement will be a bullet markdown with identifier starting with FR
1502
- examples:
1503
- - "FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality."
1504
- - id: non-functional
1505
- title: Non Functional
1506
- type: numbered-list
1507
- prefix: NFR
1508
- instruction: Each Requirement will be a bullet markdown with identifier starting with NFR. Include constraints from existing system
1509
- examples:
1510
- - "NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%."
1511
- - id: compatibility
1512
- title: Compatibility Requirements
1513
- instruction: Critical for brownfield - what must remain compatible
1514
- type: numbered-list
1515
- prefix: CR
1516
- template: "{{requirement}}: {{description}}"
1517
- items:
1518
- - id: cr1
1519
- template: "CR1: {{existing_api_compatibility}}"
1520
- - id: cr2
1521
- template: "CR2: {{database_schema_compatibility}}"
1522
- - id: cr3
1523
- template: "CR3: {{ui_ux_consistency}}"
1524
- - id: cr4
1525
- template: "CR4: {{integration_compatibility}}"
1526
-
1527
- - id: ui-enhancement-goals
1528
- title: User Interface Enhancement Goals
1529
- condition: Enhancement includes UI changes
1530
- instruction: For UI changes, capture how they will integrate with existing UI patterns and design systems
1531
- sections:
1532
- - id: existing-ui-integration
1533
- title: Integration with Existing UI
1534
- instruction: Describe how new UI elements will fit with existing design patterns, style guides, and component libraries
1535
- - id: modified-screens
1536
- title: Modified/New Screens and Views
1537
- instruction: List only the screens/views that will be modified or added
1538
- - id: ui-consistency
1539
- title: UI Consistency Requirements
1540
- instruction: Specific requirements for maintaining visual and interaction consistency with existing application
1541
-
1542
- - id: technical-constraints
1543
- title: Technical Constraints and Integration Requirements
1544
- instruction: This section replaces separate architecture documentation. Gather detailed technical constraints from existing project analysis.
1545
- sections:
1546
- - id: existing-tech-stack
1547
- title: Existing Technology Stack
1548
- instruction: |
1549
- If document-project output available:
1550
- - Extract from "Actual Tech Stack" table in High Level Architecture section
1551
- - Include version numbers and any noted constraints
1552
-
1553
- Otherwise, document the current technology stack:
1554
- template: |
1555
- **Languages**: {{languages}}
1556
- **Frameworks**: {{frameworks}}
1557
- **Database**: {{database}}
1558
- **Infrastructure**: {{infrastructure}}
1559
- **External Dependencies**: {{external_dependencies}}
1560
- - id: integration-approach
1561
- title: Integration Approach
1562
- instruction: Define how the enhancement will integrate with existing architecture
1563
- template: |
1564
- **Database Integration Strategy**: {{database_integration}}
1565
- **API Integration Strategy**: {{api_integration}}
1566
- **Frontend Integration Strategy**: {{frontend_integration}}
1567
- **Testing Integration Strategy**: {{testing_integration}}
1568
- - id: code-organization
1569
- title: Code Organization and Standards
1570
- instruction: Based on existing project analysis, define how new code will fit existing patterns
1571
- template: |
1572
- **File Structure Approach**: {{file_structure}}
1573
- **Naming Conventions**: {{naming_conventions}}
1574
- **Coding Standards**: {{coding_standards}}
1575
- **Documentation Standards**: {{documentation_standards}}
1576
- - id: deployment-operations
1577
- title: Deployment and Operations
1578
- instruction: How the enhancement fits existing deployment pipeline
1579
- template: |
1580
- **Build Process Integration**: {{build_integration}}
1581
- **Deployment Strategy**: {{deployment_strategy}}
1582
- **Monitoring and Logging**: {{monitoring_logging}}
1583
- **Configuration Management**: {{config_management}}
1584
- - id: risk-assessment
1585
- title: Risk Assessment and Mitigation
1586
- instruction: |
1587
- If document-project output available:
1588
- - Reference "Technical Debt and Known Issues" section
1589
- - Include "Workarounds and Gotchas" that might impact enhancement
1590
- - Note any identified constraints from "Critical Technical Debt"
1591
-
1592
- Build risk assessment incorporating existing known issues:
1593
- template: |
1594
- **Technical Risks**: {{technical_risks}}
1595
- **Integration Risks**: {{integration_risks}}
1596
- **Deployment Risks**: {{deployment_risks}}
1597
- **Mitigation Strategies**: {{mitigation_strategies}}
1598
-
1599
- - id: epic-structure
1600
- title: Epic and Story Structure
1601
- instruction: |
1602
- For brownfield projects, favor a single comprehensive epic unless the user is clearly requesting multiple unrelated enhancements. Before presenting the epic structure, confirm: "Based on my analysis of your existing project, I believe this enhancement should be structured as [single epic/multiple epics] because [rationale based on actual project analysis]. Does this align with your understanding of the work required?"
1603
- elicit: true
1604
- sections:
1605
- - id: epic-approach
1606
- title: Epic Approach
1607
- instruction: Explain the rationale for epic structure - typically single epic for brownfield unless multiple unrelated features
1608
- template: "**Epic Structure Decision**: {{epic_decision}} with rationale"
1609
-
1610
- - id: epic-details
1611
- title: "Epic 1: {{enhancement_title}}"
1612
- instruction: |
1613
- Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality
1614
-
1615
- CRITICAL STORY SEQUENCING FOR BROWNFIELD:
1616
- - Stories must ensure existing functionality remains intact
1617
- - Each story should include verification that existing features still work
1618
- - Stories should be sequenced to minimize risk to existing system
1619
- - Include rollback considerations for each story
1620
- - Focus on incremental integration rather than big-bang changes
1621
- - Size stories for AI agent execution in existing codebase context
1622
- - MANDATORY: Present the complete story sequence and ask: "This story sequence is designed to minimize risk to your existing system. Does this order make sense given your project's architecture and constraints?"
1623
- - Stories must be logically sequential with clear dependencies identified
1624
- - Each story must deliver value while maintaining system integrity
1625
- template: |
1626
- **Epic Goal**: {{epic_goal}}
1627
-
1628
- **Integration Requirements**: {{integration_requirements}}
1629
- sections:
1630
- - id: story
1631
- title: "Story 1.{{story_number}} {{story_title}}"
1632
- repeatable: true
1633
- template: |
1634
- As a {{user_type}},
1635
- I want {{action}},
1636
- so that {{benefit}}.
1637
- sections:
1638
- - id: acceptance-criteria
1639
- title: Acceptance Criteria
1640
- type: numbered-list
1641
- instruction: Define criteria that include both new functionality and existing system integrity
1642
- item_template: "{{criterion_number}}: {{criteria}}"
1643
- - id: integration-verification
1644
- title: Integration Verification
1645
- instruction: Specific verification steps to ensure existing functionality remains intact
1646
- type: numbered-list
1647
- prefix: IV
1648
- items:
1649
- - template: "IV1: {{existing_functionality_verification}}"
1650
- - template: "IV2: {{integration_point_verification}}"
1651
- - template: "IV3: {{performance_impact_verification}}"
1652
- ==================== END: .bmad-core/templates/brownfield-prd-tmpl.yaml ====================
1653
-
1654
- ==================== START: .bmad-core/checklists/pm-checklist.md ====================
1147
+ ==================== END: tasks#shard-doc ====================
1148
+
1149
+ ==================== START: templates#prd-tmpl ====================
1150
+ # {{Project Name}} Product Requirements Document (PRD)
1151
+
1152
+ [[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
1153
+
1154
+ ## Goals and Background Context
1155
+
1156
+ [[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
1157
+
1158
+ ### Goals
1159
+
1160
+ [[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
1161
+
1162
+ ### Background Context
1163
+
1164
+ [[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
1165
+
1166
+ ### Change Log
1167
+
1168
+ [[LLM: Track document versions and changes]]
1169
+
1170
+ | Date | Version | Description | Author |
1171
+ | :--- | :------ | :---------- | :----- |
1172
+
1173
+ ## Requirements
1174
+
1175
+ [[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
1176
+
1177
+ ### Functional
1178
+
1179
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
1180
+ @{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
1181
+
1182
+ ### Non Functional
1183
+
1184
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
1185
+ @{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
1186
+
1187
+ ^^CONDITION: has_ui^^
1188
+
1189
+ ## User Interface Design Goals
1190
+
1191
+ [[LLM: Capture high-level UI/UX vision to guide Design Architect and to inform story creation. Steps:
1192
+
1193
+ 1. Pre-fill all subsections with educated guesses based on project context
1194
+ 2. Present the complete rendered section to user
1195
+ 3. Clearly let the user know where assumptions were made
1196
+ 4. Ask targeted questions for unclear/missing elements or areas needing more specification
1197
+ 5. This is NOT detailed UI spec - focus on product vision and user goals
1198
+ 6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
1199
+
1200
+ ### Overall UX Vision
1201
+
1202
+ ### Key Interaction Paradigms
1203
+
1204
+ ### Core Screens and Views
1205
+
1206
+ [[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
1207
+
1208
+ @{example}
1209
+
1210
+ - Login Screen
1211
+ - Main Dashboard
1212
+ - Item Detail Page
1213
+ - Settings Page
1214
+ @{/example}
1215
+
1216
+ ### Accessibility: { None, WCAG, etc }
1217
+
1218
+ ### Branding
1219
+
1220
+ [[LLM: Any known branding elements or style guides that must be incorporated?]]
1221
+
1222
+ @{example}
1223
+
1224
+ - Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
1225
+ - Attached is the full color pallet and tokens for our corporate branding.
1226
+ @{/example}
1227
+
1228
+ ### Target Device and Platforms
1229
+
1230
+ @{example}
1231
+ "Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
1232
+ @{/example}
1233
+
1234
+ ^^/CONDITION: has_ui^^
1235
+
1236
+ ## Technical Assumptions
1237
+
1238
+ [[LLM: Gather technical decisions that will guide the Architect. Steps:
1239
+
1240
+ 1. Check if `data#technical-preferences` file exists - use it to pre-populate choices
1241
+ 2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
1242
+ 3. For unknowns, offer guidance based on project goals and MVP scope
1243
+ 4. Document ALL technical choices with rationale (why this choice fits the project)
1244
+ 5. These become constraints for the Architect - be specific and complete
1245
+ 6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
1246
+
1247
+ ### Repository Structure: { Monorepo, Polyrepo, etc...}
1248
+
1249
+ ### Service Architecture
1250
+
1251
+ [[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
1252
+
1253
+ ### Testing requirements
1254
+
1255
+ [[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
1256
+
1257
+ ### Additional Technical Assumptions and Requests
1258
+
1259
+ [[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
1260
+
1261
+ ## Epics
1262
+
1263
+ [[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
1264
+
1265
+ CRITICAL: Epics MUST be logically sequential following agile best practices:
1266
+
1267
+ - Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
1268
+ - Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
1269
+ - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
1270
+ - Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
1271
+ - Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
1272
+ - Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
1273
+
1274
+ <<REPEAT: epic_list>>
1275
+
1276
+ - Epic{{epic_number}} {{epic_title}}: {{short_goal}}
1277
+
1278
+ <</REPEAT>>
1279
+
1280
+ @{example: epic_list}
1281
+
1282
+ 1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
1283
+ 2. Core Business Entities: Create and manage primary domain objects with CRUD operations
1284
+ 3. User Workflows & Interactions: Enable key user journeys and business processes
1285
+ 4. Reporting & Analytics: Provide insights and data visualization for users
1286
+
1287
+ @{/example}
1288
+
1289
+ [[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
1290
+
1291
+ <<REPEAT: epic_details>>
1292
+
1293
+ ## Epic {{epic_number}} {{epic_title}}
1294
+
1295
+ {{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
1296
+
1297
+ [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
1298
+
1299
+ - Stories within each epic MUST be logically sequential
1300
+ - Each story should be a "vertical slice" delivering complete functionality
1301
+ - No story should depend on work from a later story or epic
1302
+ - Identify and note any direct prerequisite stories
1303
+ - Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
1304
+ - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
1305
+ - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
1306
+ - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
1307
+ - If a story seems complex, break it down further as long as it can deliver a vertical slice
1308
+ - Each story should result in working, testable code before the agent's context window fills]]
1309
+
1310
+ <<REPEAT: story>>
1311
+
1312
+ ### Story {{epic_number}}.{{story_number}} {{story_title}}
1313
+
1314
+ As a {{user_type}},
1315
+ I want {{action}},
1316
+ so that {{benefit}}.
1317
+
1318
+ #### Acceptance Criteria
1319
+
1320
+ [[LLM: Define clear, comprehensive, and testable acceptance criteria that:
1321
+
1322
+ - Precisely define what "done" means from a functional perspective
1323
+ - Are unambiguous and serve as basis for verification
1324
+ - Include any critical non-functional requirements from the PRD
1325
+ - Consider local testability for backend/data components
1326
+ - Specify UI/UX requirements and framework adherence where applicable
1327
+ - Avoid cross-cutting concerns that should be in other stories or PRD sections]]
1328
+
1329
+ <<REPEAT: criteria>>
1330
+
1331
+ - {{criterion number}}: {{criteria}}
1332
+
1333
+ <</REPEAT>>
1334
+ <</REPEAT>>
1335
+ <</REPEAT>>
1336
+
1337
+ ## Checklist Results Report
1338
+
1339
+ [[LLM: Before running the checklist and drafting the prompts, offer to output the full updated PRD. If outputting it, confirm with the user that you will be proceeding to run the checklist and produce the report. Once the user confirms, execute the `pm-checklist` and populate the results in this section.]]
1340
+
1341
+ ## Next Steps
1342
+
1343
+ ### Design Architect Prompt
1344
+
1345
+ [[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
1346
+
1347
+ ### Architect Prompt
1348
+
1349
+ [[LLM: This section will contain the prompt for the Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
1350
+ ==================== END: templates#prd-tmpl ====================
1351
+
1352
+ ==================== START: templates#brownfield-prd-tmpl ====================
1353
+ # {{Project Name}} Brownfield Enhancement PRD
1354
+
1355
+ [[LLM: IMPORTANT - SCOPE ASSESSMENT REQUIRED:
1356
+
1357
+ This PRD is for SIGNIFICANT enhancements to existing projects that require comprehensive planning and multiple stories. Before proceeding:
1358
+
1359
+ 1. **Assess Enhancement Complexity**: If this is a simple feature addition or bug fix that could be completed in 1-2 focused development sessions, STOP and recommend: "For simpler changes, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead. This full PRD process is designed for substantial enhancements that require architectural planning and multiple coordinated stories."
1360
+
1361
+ 2. **Project Context**: Determine if we're working in an IDE with the project already loaded or if the user needs to provide project information. If project files are available, analyze existing documentation in the docs folder. If insufficient documentation exists, recommend running the document-project task first.
1362
+
1363
+ 3. **Deep Assessment Requirement**: You MUST thoroughly analyze the existing project structure, patterns, and constraints before making ANY suggestions. Every recommendation must be grounded in actual project analysis, not assumptions.]]
1364
+
1365
+ ## Intro Project Analysis and Context
1366
+
1367
+ [[LLM: Gather comprehensive information about the existing project. This section must be completed before proceeding with requirements.
1368
+
1369
+ CRITICAL: Throughout this analysis, explicitly confirm your understanding with the user. For every assumption you make about the existing project, ask: "Based on my analysis, I understand that [assumption]. Is this correct?"
1370
+
1371
+ Do not proceed with any recommendations until the user has validated your understanding of the existing system.]]
1372
+
1373
+ ### Existing Project Overview
1374
+
1375
+ [[LLM: If working in IDE with project loaded, analyze the project structure and existing documentation. If working in web interface, request project upload or detailed project information from user.]]
1376
+
1377
+ **Project Location**: [[LLM: Note if this is IDE-based analysis or user-provided information]]
1378
+
1379
+ **Current Project State**: [[LLM: Brief description of what the project currently does and its primary purpose]]
1380
+
1381
+ ### Available Documentation Analysis
1382
+
1383
+ [[LLM: Check for existing documentation in docs folder or provided by user. List what documentation is available and assess its completeness. Required documents include:
1384
+
1385
+ - Tech stack documentation
1386
+ - Source tree/architecture overview
1387
+ - Coding standards
1388
+ - API documentation or OpenAPI specs
1389
+ - External API integrations
1390
+ - UX/UI guidelines or existing patterns]]
1391
+
1392
+ **Available Documentation**:
1393
+
1394
+ - [ ] Tech Stack Documentation
1395
+ - [ ] Source Tree/Architecture
1396
+ - [ ] Coding Standards
1397
+ - [ ] API Documentation
1398
+ - [ ] External API Documentation
1399
+ - [ ] UX/UI Guidelines
1400
+ - [ ] Other: \***\*\_\_\_\*\***
1401
+
1402
+ [[LLM: If critical documentation is missing, STOP and recommend: "I recommend running the document-project task first to generate baseline documentation including tech-stack, source-tree, coding-standards, APIs, external-APIs, and UX/UI information. This will provide the foundation needed for a comprehensive brownfield PRD."]]
1403
+
1404
+ ### Enhancement Scope Definition
1405
+
1406
+ [[LLM: Work with user to clearly define what type of enhancement this is. This is critical for scoping and approach.]]
1407
+
1408
+ **Enhancement Type**: [[LLM: Determine with user which applies]]
1409
+
1410
+ - [ ] New Feature Addition
1411
+ - [ ] Major Feature Modification
1412
+ - [ ] Integration with New Systems
1413
+ - [ ] Performance/Scalability Improvements
1414
+ - [ ] UI/UX Overhaul
1415
+ - [ ] Technology Stack Upgrade
1416
+ - [ ] Bug Fix and Stability Improvements
1417
+ - [ ] Other: \***\*\_\_\_\*\***
1418
+
1419
+ **Enhancement Description**: [[LLM: 2-3 sentences describing what the user wants to add or change]]
1420
+
1421
+ **Impact Assessment**: [[LLM: Assess the scope of impact on existing codebase]]
1422
+
1423
+ - [ ] Minimal Impact (isolated additions)
1424
+ - [ ] Moderate Impact (some existing code changes)
1425
+ - [ ] Significant Impact (substantial existing code changes)
1426
+ - [ ] Major Impact (architectural changes required)
1427
+
1428
+ ### Goals and Background Context
1429
+
1430
+ #### Goals
1431
+
1432
+ [[LLM: Bullet list of 1-line desired outcomes this enhancement will deliver if successful]]
1433
+
1434
+ #### Background Context
1435
+
1436
+ [[LLM: 1-2 short paragraphs explaining why this enhancement is needed, what problem it solves, and how it fits with the existing project]]
1437
+
1438
+ ### Change Log
1439
+
1440
+ | Change | Date | Version | Description | Author |
1441
+ | ------ | ---- | ------- | ----------- | ------ |
1442
+
1443
+ ## Requirements
1444
+
1445
+ [[LLM: Draft functional and non-functional requirements based on your validated understanding of the existing project. Before presenting requirements, confirm: "These requirements are based on my understanding of your existing system. Please review carefully and confirm they align with your project's reality." Then immediately execute tasks#advanced-elicitation display]]
1446
+
1447
+ ### Functional
1448
+
1449
+ [[LLM: Each Requirement will be a bullet markdown with identifier starting with FR]]
1450
+ @{example: - FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality.}
1451
+
1452
+ ### Non Functional
1453
+
1454
+ [[LLM: Each Requirement will be a bullet markdown with identifier starting with NFR. Include constraints from existing system]]
1455
+ @{example: - NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%.}
1456
+
1457
+ ### Compatibility Requirements
1458
+
1459
+ [[LLM: Critical for brownfield - what must remain compatible]]
1460
+
1461
+ - CR1: [[LLM: Existing API compatibility requirements]]
1462
+ - CR2: [[LLM: Database schema compatibility requirements]]
1463
+ - CR3: [[LLM: UI/UX consistency requirements]]
1464
+ - CR4: [[LLM: Integration compatibility requirements]]
1465
+
1466
+ ^^CONDITION: has_ui^^
1467
+
1468
+ ## User Interface Enhancement Goals
1469
+
1470
+ [[LLM: For UI changes, capture how they will integrate with existing UI patterns and design systems]]
1471
+
1472
+ ### Integration with Existing UI
1473
+
1474
+ [[LLM: Describe how new UI elements will fit with existing design patterns, style guides, and component libraries]]
1475
+
1476
+ ### Modified/New Screens and Views
1477
+
1478
+ [[LLM: List only the screens/views that will be modified or added]]
1479
+
1480
+ ### UI Consistency Requirements
1481
+
1482
+ [[LLM: Specific requirements for maintaining visual and interaction consistency with existing application]]
1483
+
1484
+ ^^/CONDITION: has_ui^^
1485
+
1486
+ ## Technical Constraints and Integration Requirements
1487
+
1488
+ [[LLM: This section replaces separate architecture documentation. Gather detailed technical constraints from existing project analysis.]]
1489
+
1490
+ ### Existing Technology Stack
1491
+
1492
+ [[LLM: Document the current technology stack that must be maintained or integrated with]]
1493
+
1494
+ **Languages**: [[LLM: Current programming languages in use]]
1495
+ **Frameworks**: [[LLM: Current frameworks and their versions]]
1496
+ **Database**: [[LLM: Current database technology and schema considerations]]
1497
+ **Infrastructure**: [[LLM: Current deployment and hosting infrastructure]]
1498
+ **External Dependencies**: [[LLM: Current third-party services and APIs]]
1499
+
1500
+ ### Integration Approach
1501
+
1502
+ [[LLM: Define how the enhancement will integrate with existing architecture]]
1503
+
1504
+ **Database Integration Strategy**: [[LLM: How new features will interact with existing database]]
1505
+ **API Integration Strategy**: [[LLM: How new APIs will integrate with existing API structure]]
1506
+ **Frontend Integration Strategy**: [[LLM: How new UI components will integrate with existing frontend]]
1507
+ **Testing Integration Strategy**: [[LLM: How new tests will integrate with existing test suite]]
1508
+
1509
+ ### Code Organization and Standards
1510
+
1511
+ [[LLM: Based on existing project analysis, define how new code will fit existing patterns]]
1512
+
1513
+ **File Structure Approach**: [[LLM: How new files will fit existing project structure]]
1514
+ **Naming Conventions**: [[LLM: Existing naming conventions that must be followed]]
1515
+ **Coding Standards**: [[LLM: Existing coding standards and linting rules]]
1516
+ **Documentation Standards**: [[LLM: How new code documentation will match existing patterns]]
1517
+
1518
+ ### Deployment and Operations
1519
+
1520
+ [[LLM: How the enhancement fits existing deployment pipeline]]
1521
+
1522
+ **Build Process Integration**: [[LLM: How enhancement builds with existing process]]
1523
+ **Deployment Strategy**: [[LLM: How enhancement will be deployed alongside existing features]]
1524
+ **Monitoring and Logging**: [[LLM: How enhancement will integrate with existing monitoring]]
1525
+ **Configuration Management**: [[LLM: How new configuration will integrate with existing config]]
1526
+
1527
+ ### Risk Assessment and Mitigation
1528
+
1529
+ [[LLM: Identify risks specific to working with existing codebase]]
1530
+
1531
+ **Technical Risks**: [[LLM: Risks related to modifying existing code]]
1532
+ **Integration Risks**: [[LLM: Risks in integrating with existing systems]]
1533
+ **Deployment Risks**: [[LLM: Risks in deploying alongside existing features]]
1534
+ **Mitigation Strategies**: [[LLM: Specific strategies to address identified risks]]
1535
+
1536
+ ## Epic and Story Structure
1537
+
1538
+ [[LLM: For brownfield projects, favor a single comprehensive epic unless the user is clearly requesting multiple unrelated enhancements. Before presenting the epic structure, confirm: "Based on my analysis of your existing project, I believe this enhancement should be structured as [single epic/multiple epics] because [rationale based on actual project analysis]. Does this align with your understanding of the work required?" Then present the epic structure and immediately execute tasks#advanced-elicitation display.]]
1539
+
1540
+ ### Epic Approach
1541
+
1542
+ [[LLM: Explain the rationale for epic structure - typically single epic for brownfield unless multiple unrelated features]]
1543
+
1544
+ **Epic Structure Decision**: [[LLM: Single Epic or Multiple Epics with rationale]]
1545
+
1546
+ ## Epic 1: {{enhancement_title}}
1547
+
1548
+ [[LLM: Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality]]
1549
+
1550
+ **Epic Goal**: [[LLM: 2-3 sentences describing the complete enhancement objective and value]]
1551
+
1552
+ **Integration Requirements**: [[LLM: Key integration points with existing system]]
1553
+
1554
+ [[LLM: CRITICAL STORY SEQUENCING FOR BROWNFIELD:
1555
+
1556
+ - Stories must ensure existing functionality remains intact
1557
+ - Each story should include verification that existing features still work
1558
+ - Stories should be sequenced to minimize risk to existing system
1559
+ - Include rollback considerations for each story
1560
+ - Focus on incremental integration rather than big-bang changes
1561
+ - Size stories for AI agent execution in existing codebase context
1562
+ - MANDATORY: Present the complete story sequence and ask: "This story sequence is designed to minimize risk to your existing system. Does this order make sense given your project's architecture and constraints?"
1563
+ - Stories must be logically sequential with clear dependencies identified
1564
+ - Each story must deliver value while maintaining system integrity]]
1565
+
1566
+ <<REPEAT: story>>
1567
+
1568
+ ### Story 1.{{story_number}} {{story_title}}
1569
+
1570
+ As a {{user_type}},
1571
+ I want {{action}},
1572
+ so that {{benefit}}.
1573
+
1574
+ #### Acceptance Criteria
1575
+
1576
+ [[LLM: Define criteria that include both new functionality and existing system integrity]]
1577
+
1578
+ <<REPEAT: criteria>>
1579
+
1580
+ - {{criterion number}}: {{criteria}}
1581
+
1582
+ <</REPEAT>>
1583
+
1584
+ #### Integration Verification
1585
+
1586
+ [[LLM: Specific verification steps to ensure existing functionality remains intact]]
1587
+
1588
+ - IV1: [[LLM: Existing functionality verification requirement]]
1589
+ - IV2: [[LLM: Integration point verification requirement]]
1590
+ - IV3: [[LLM: Performance impact verification requirement]]
1591
+
1592
+ <</REPEAT>>
1593
+ ==================== END: templates#brownfield-prd-tmpl ====================
1594
+
1595
+ ==================== START: templates#simple-project-prd-tmpl ====================
1596
+ # {{Project Name}} Product Requirements Document (PRD)
1597
+
1598
+ [[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
1599
+
1600
+ ## Goals and Background Context
1601
+
1602
+ [[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
1603
+
1604
+ ### Goals
1605
+
1606
+ [[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
1607
+
1608
+ ### Background Context
1609
+
1610
+ [[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
1611
+
1612
+ ### Change Log
1613
+
1614
+ [[LLM: Track document versions and changes]]
1615
+
1616
+ | Date | Version | Description | Author |
1617
+ | :--- | :------ | :---------- | :----- |
1618
+
1619
+ ## Requirements
1620
+
1621
+ [[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
1622
+
1623
+ ### Functional
1624
+
1625
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
1626
+ @{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
1627
+
1628
+ ### Non Functional
1629
+
1630
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
1631
+ @{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
1632
+
1633
+ ^^CONDITION: has_ui^^
1634
+
1635
+ ## User Interface Design Goals
1636
+
1637
+ [[LLM: Capture high-level UI/UX vision to inform story creation and also generate a prompt for Lovable or V0 if the user would like either. Steps:
1638
+
1639
+ 1. Pre-fill all subsections with educated guesses based on project context
1640
+ 2. Present the complete rendered section to user
1641
+ 3. Clearly let the user know where assumptions were made
1642
+ 4. Ask targeted questions for unclear/missing elements or areas needing more specification
1643
+ 5. This is NOT detailed UI spec - focus on product vision and user goals
1644
+ 6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
1645
+
1646
+ ### Overall UX Vision
1647
+
1648
+ ### Key Interaction Paradigms
1649
+
1650
+ ### Core Screens and Views
1651
+
1652
+ [[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
1653
+
1654
+ @{example}
1655
+
1656
+ - Login Screen
1657
+ - Main Dashboard
1658
+ - Item Detail Page
1659
+ - Settings Page
1660
+ @{/example}
1661
+
1662
+ ### Accessibility: { None, WCAG, etc }
1663
+
1664
+ ### Branding
1665
+
1666
+ [[LLM: Any known branding elements or style guides that must be incorporated?]]
1667
+
1668
+ @{example}
1669
+
1670
+ - Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
1671
+ - Attached is the full color pallet and tokens for our corporate branding.
1672
+ @{/example}
1673
+
1674
+ ### Target Device and Platforms
1675
+
1676
+ @{example}
1677
+ "Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
1678
+ @{/example}
1679
+
1680
+ ^^/CONDITION: has_ui^^
1681
+
1682
+ ## Technical Assumptions
1683
+
1684
+ [[LLM: Gather technical decisions that will be used for this simple technical PRD that includes architecture decisions. Steps:
1685
+
1686
+ 1. Check if `data#technical-preferences` file exists - use it to pre-populate choices
1687
+ 2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
1688
+ 3. For unknowns, offer guidance based on project goals and MVP scope
1689
+ 4. Document ALL technical choices with rationale (why this choice fits the project)
1690
+ 5. These become constraints for the Architect - be specific and complete
1691
+ 6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
1692
+
1693
+ ### Repository Structure: { Monorepo, Polyrepo, etc...}
1694
+
1695
+ ### Service Architecture
1696
+
1697
+ [[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
1698
+
1699
+ ## Testing requirements
1700
+
1701
+ [[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
1702
+
1703
+ ### Additional Technical Assumptions and Requests
1704
+
1705
+ [[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
1706
+
1707
+ ## Data Models
1708
+
1709
+ [[LLM: Define the core data models/entities that will be used in the front end (if there is one), core application or back end, and if both, shared between frontend and backend:
1710
+
1711
+ 1. Review PRD requirements and identify key business entities
1712
+ 2. For each model, explain its purpose and relationships
1713
+ 3. Include key attributes and data types
1714
+ 4. Show relationships between models
1715
+ 5. Create TypeScript interfaces that can be shared
1716
+ 6. Discuss design decisions with user
1717
+
1718
+ Create a clear conceptual model before moving to database schema.
1719
+
1720
+ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
1721
+
1722
+ <<REPEAT: data_model>>
1723
+
1724
+ ### {{model_name}}
1725
+
1726
+ **Purpose:** {{model_purpose}}
1727
+
1728
+ **Key Attributes:**
1729
+
1730
+ - {{attribute_1}}: {{type_1}} - {{description_1}}
1731
+ - {{attribute_2}}: {{type_2}} - {{description_2}}
1732
+
1733
+ **TypeScript Interface:**
1734
+
1735
+ ````typescript
1736
+ {
1737
+ {
1738
+ model_interface;
1739
+ }
1740
+ }
1741
+ ```text
1742
+
1743
+ **Relationships:**
1744
+
1745
+ - {{relationship_1}}
1746
+ - {{relationship_2}}
1747
+ <</REPEAT>>
1748
+
1749
+ @{example: data_model}
1750
+
1751
+ ### User
1752
+
1753
+ **Purpose:** Represents authenticated users in the system
1754
+
1755
+ **Key Attributes:**
1756
+
1757
+ - id: string - Unique identifier
1758
+ - email: string - User's email address
1759
+ - name: string - Display name
1760
+ - role: enum - User permission level
1761
+ - timestamps: Date - Created and updated times
1762
+
1763
+ **TypeScript Interface:**
1764
+
1765
+ ```typescript
1766
+ interface User {
1767
+ id: string;
1768
+ email: string;
1769
+ name: string;
1770
+ role: "admin" | "user" | "guest";
1771
+ createdAt: Date;
1772
+ updatedAt: Date;
1773
+ profile?: UserProfile;
1774
+ }
1775
+
1776
+ interface UserProfile {
1777
+ avatarUrl?: string;
1778
+ bio?: string;
1779
+ preferences: Record<string, any>;
1780
+ }
1781
+ ````
1782
+
1783
+ **Relationships:**
1784
+
1785
+ - Has many Posts (1:n)
1786
+ - Has one Profile (1:1)
1787
+ @{/example}
1788
+
1789
+ ## REST API Spec
1790
+
1791
+ [[LLM: Based on the chosen API style from Tech Stack:
1792
+
1793
+ 1. If REST API, create an OpenAPI 3.0 specification
1794
+ 2. If GraphQL, provide the GraphQL schema
1795
+ 3. If tRPC, show router definitions
1796
+ 4. Include all endpoints from epics/stories
1797
+ 5. Define request/response schemas based on data models
1798
+ 6. Document authentication requirements
1799
+ 7. Include example requests/responses
1800
+
1801
+ Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.]]
1802
+
1803
+ ^^CONDITION: has_rest_api^^
1804
+
1805
+ ````yml
1806
+ openapi: 3.0.0
1807
+ info:
1808
+ title:
1809
+ '[object Object]': null
1810
+ version:
1811
+ '[object Object]': null
1812
+ description:
1813
+ '[object Object]': null
1814
+ servers:
1815
+ - url:
1816
+ '[object Object]': null
1817
+ description:
1818
+ '[object Object]': null
1819
+ ```text
1820
+
1821
+ ^^/CONDITION: has_rest_api^^
1822
+
1823
+ ^^CONDITION: has_graphql_api^^
1824
+
1825
+ ```graphql
1826
+ # GraphQL Schema
1827
+ {{graphql_schema}}
1828
+ ````
1829
+
1830
+ ^^/CONDITION: has_graphql_api^^
1831
+
1832
+ ^^CONDITION: has_trpc_api^^
1833
+
1834
+ ```typescript
1835
+ // tRPC Router Definitions
1836
+ {
1837
+ {
1838
+ trpc_routers;
1839
+ }
1840
+ }
1841
+ ```
1842
+
1843
+ ^^/CONDITION: has_trpc_api^^
1844
+
1845
+ [[LLM: After presenting the API spec (or noting its absence if not applicable), apply `tasks#advanced-elicitation` protocol]]
1846
+
1847
+ ## Components
1848
+
1849
+ [[LLM: Based on the architectural patterns, tech stack, and data models from above:
1850
+
1851
+ 1. Identify major logical components/services across the fullstack
1852
+ 2. Consider both frontend and backend components
1853
+ 3. Define clear boundaries and interfaces between components
1854
+ 4. For each component, specify:
1855
+
1856
+ - Primary responsibility
1857
+ - Key interfaces/APIs exposed
1858
+ - Dependencies on other components
1859
+ - Technology specifics based on tech stack choices
1860
+
1861
+ 5. Create component diagrams where helpful
1862
+ 6. After presenting all components, apply `tasks#advanced-elicitation` protocol]]
1863
+
1864
+ <<REPEAT: component>>
1865
+
1866
+ ### {{component_name}}
1867
+
1868
+ **Responsibility:** {{component_description}}
1869
+
1870
+ **Key Interfaces:**
1871
+
1872
+ - {{interface_1}}
1873
+ - {{interface_2}}
1874
+
1875
+ **Dependencies:** {{dependencies}}
1876
+
1877
+ **Technology Stack:** {{component_tech_details}}
1878
+ <</REPEAT>>
1879
+
1880
+ ### Component Diagrams
1881
+
1882
+ [[LLM: Create Mermaid diagrams to visualize component relationships. Options:
1883
+
1884
+ - C4 Container diagram for high-level view
1885
+ - Component diagram for detailed internal structure
1886
+ - Sequence diagrams for complex interactions
1887
+ Choose the most appropriate for clarity
1888
+
1889
+ After presenting the diagrams, apply `tasks#advanced-elicitation` protocol]]
1890
+
1891
+ ## External APIs
1892
+
1893
+ [[LLM: For each external service integration:
1894
+
1895
+ 1. Identify APIs needed based on PRD requirements and component design
1896
+ 2. If documentation URLs are unknown, ask user for specifics
1897
+ 3. Document authentication methods and security considerations
1898
+ 4. List specific endpoints that will be used
1899
+ 5. Note any rate limits or usage constraints
1900
+
1901
+ If no external APIs are needed, state this explicitly and skip to next section.]]
1902
+
1903
+ ^^CONDITION: has_external_apis^^
1904
+
1905
+ <<REPEAT: external_api>>
1906
+
1907
+ ### {{api_name}} API
1908
+
1909
+ - **Purpose:** {{api_purpose}}
1910
+ - **Documentation:** {{api_docs_url}}
1911
+ - **Base URL(s):** {{api_base_url}}
1912
+ - **Authentication:** {{auth_method}}
1913
+ - **Rate Limits:** {{rate_limits}}
1914
+
1915
+ **Key Endpoints Used:**
1916
+ <<REPEAT: endpoint>>
1917
+
1918
+ - `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
1919
+ <</REPEAT>>
1920
+
1921
+ **Integration Notes:** {{integration_considerations}}
1922
+ <</REPEAT>>
1923
+
1924
+ @{example: external_api}
1925
+
1926
+ ### Stripe API
1927
+
1928
+ - **Purpose:** Payment processing and subscription management
1929
+ - **Documentation:** https://stripe.com/docs/api
1930
+ - **Base URL(s):** `https://api.stripe.com/v1`
1931
+ - **Authentication:** Bearer token with secret key
1932
+ - **Rate Limits:** 100 requests per second
1933
+
1934
+ **Key Endpoints Used:**
1935
+
1936
+ - `POST /customers` - Create customer profiles
1937
+ - `POST /payment_intents` - Process payments
1938
+ - `POST /subscriptions` - Manage subscriptions
1939
+ @{/example}
1940
+
1941
+ ^^/CONDITION: has_external_apis^^
1942
+
1943
+ [[LLM: After presenting external APIs (or noting their absence), apply `tasks#advanced-elicitation` protocol]]
1944
+
1945
+ ## Coding Standards
1946
+
1947
+ [[LLM: Define MINIMAL but CRITICAL standards for AI agents. Focus only on project-specific rules that prevent common mistakes. These will be used by dev agents.
1948
+
1949
+ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
1950
+
1951
+ ### Critical Fullstack Rules
1952
+
1953
+ <<REPEAT: critical_rule>>
1954
+
1955
+ - **{{rule_name}}:** {{rule_description}}
1956
+ <</REPEAT>>
1957
+
1958
+ @{example: critical_rules}
1959
+
1960
+ - **Type Sharing:** Always define types in packages/shared and import from there
1961
+ - **API Calls:** Never make direct HTTP calls - use the service layer
1962
+ - **Environment Variables:** Access only through config objects, never process.env directly
1963
+ - **Error Handling:** All API routes must use the standard error handler
1964
+ - **State Updates:** Never mutate state directly - use proper state management patterns
1965
+ @{/example}
1966
+
1967
+ ### Naming Conventions
1968
+
1969
+ | Element | Frontend | Backend | Example |
1970
+ | :-------------- | :------------------- | :--------- | :------------------ |
1971
+ | Components | PascalCase | - | `UserProfile.tsx` |
1972
+ | Hooks | camelCase with 'use' | - | `useAuth.ts` |
1973
+ | API Routes | - | kebab-case | `/api/user-profile` |
1974
+ | Database Tables | - | snake_case | `user_profiles` |
1975
+
1976
+ ## Epics
1977
+
1978
+ [[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
1979
+
1980
+ CRITICAL: Epics MUST be logically sequential following agile best practices:
1981
+
1982
+ - Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
1983
+ - Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
1984
+ - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
1985
+ - Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
1986
+ - Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
1987
+ - Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
1988
+
1989
+ <<REPEAT: epic_list>>
1990
+
1991
+ - Epic{{epic_number}} {{epic_title}}: {{short_goal}}
1992
+
1993
+ <</REPEAT>>
1994
+
1995
+ @{example: epic_list}
1996
+
1997
+ 1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
1998
+ 2. Core Business Entities: Create and manage primary domain objects with CRUD operations
1999
+ 3. User Workflows & Interactions: Enable key user journeys and business processes
2000
+ 4. Reporting & Analytics: Provide insights and data visualization for users
2001
+
2002
+ @{/example}
2003
+
2004
+ [[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
2005
+
2006
+ <<REPEAT: epic_details>>
2007
+
2008
+ ## Epic {{epic_number}} {{epic_title}}
2009
+
2010
+ {{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
2011
+
2012
+ [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
2013
+
2014
+ - Stories within each epic MUST be logically sequential
2015
+ - Each story should be a "vertical slice" delivering complete functionality
2016
+ - No story should depend on work from a later story or epic
2017
+ - Identify and note any direct prerequisite stories
2018
+ - Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
2019
+ - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
2020
+ - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
2021
+ - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
2022
+ - If a story seems complex, break it down further as long as it can deliver a vertical slice
2023
+ - Each story should result in working, testable code before the agent's context window fills]]
2024
+
2025
+ <<REPEAT: story>>
2026
+
2027
+ ### Story {{epic_number}}.{{story_number}} {{story_title}}
2028
+
2029
+ As a {{user_type}},
2030
+ I want {{action}},
2031
+ so that {{benefit}}.
2032
+
2033
+ #### Acceptance Criteria
2034
+
2035
+ [[LLM: Define clear, comprehensive, and testable acceptance criteria that:
2036
+
2037
+ - Precisely define what "done" means from a functional perspective
2038
+ - Are unambiguous and serve as basis for verification
2039
+ - Include any critical non-functional requirements from the PRD
2040
+ - Consider local testability for backend/data components
2041
+ - Specify UI/UX requirements and framework adherence where applicable
2042
+ - Avoid cross-cutting concerns that should be in other stories or PRD sections]]
2043
+
2044
+ <<REPEAT: criteria>>
2045
+
2046
+ - {{criterion number}}: {{criteria}}
2047
+
2048
+ <</REPEAT>>
2049
+ <</REPEAT>>
2050
+ <</REPEAT>>
2051
+
2052
+ ## Next Steps
2053
+
2054
+ ### Design Architect Prompt
2055
+
2056
+ [[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
2057
+ ==================== END: templates#simple-project-prd-tmpl ====================
2058
+
2059
+ ==================== START: checklists#pm-checklist ====================
1655
2060
  # Product Manager (PM) Requirements Checklist
1656
2061
 
1657
2062
  This checklist serves as a comprehensive framework to ensure the Product Requirements Document (PRD) and Epic definitions are complete, well-structured, and appropriately scoped for MVP development. The PM should systematically work through each item during the product definition process.
@@ -2027,12 +2432,12 @@ After presenting the report, ask if the user wants:
2027
2432
 
2028
2433
  - **READY FOR ARCHITECT**: The PRD and epics are comprehensive, properly structured, and ready for architectural design.
2029
2434
  - **NEEDS REFINEMENT**: The requirements documentation requires additional work to address the identified deficiencies.
2030
- ==================== END: .bmad-core/checklists/pm-checklist.md ====================
2435
+ ==================== END: checklists#pm-checklist ====================
2031
2436
 
2032
- ==================== START: .bmad-core/checklists/change-checklist.md ====================
2437
+ ==================== START: checklists#change-checklist ====================
2033
2438
  # Change Navigation Checklist
2034
2439
 
2035
- **Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
2440
+ **Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMAD workflow.
2036
2441
 
2037
2442
  **Instructions:** Review each item with the user. Mark `[x]` for completed/confirmed, `[N/A]` if not applicable, or add notes for discussion points.
2038
2443
 
@@ -2107,7 +2512,7 @@ Think about both immediate and downstream effects.]]
2107
2512
 
2108
2513
  ## 3. Artifact Conflict & Impact Analysis
2109
2514
 
2110
- [[LLM: Documentation drives development in BMad. Check each artifact:
2515
+ [[LLM: Documentation drives development in BMAD. Check each artifact:
2111
2516
 
2112
2517
  1. Does this change invalidate documented decisions?
2113
2518
  2. Are architectural assumptions still valid?
@@ -2212,10 +2617,39 @@ Keep it action-oriented and forward-looking.]]
2212
2617
  - [ ] **Confirm Next Steps:** Reiterate the handoff plan and the next actions to be taken by specific agents.
2213
2618
 
2214
2619
  ---
2215
- ==================== END: .bmad-core/checklists/change-checklist.md ====================
2620
+ ==================== END: checklists#change-checklist ====================
2216
2621
 
2217
- ==================== START: .bmad-core/data/technical-preferences.md ====================
2622
+ ==================== START: data#technical-preferences ====================
2218
2623
  # User-Defined Preferred Patterns and Preferences
2219
2624
 
2220
2625
  None Listed
2221
- ==================== END: .bmad-core/data/technical-preferences.md ====================
2626
+ ==================== END: data#technical-preferences ====================
2627
+
2628
+ ==================== START: utils#template-format ====================
2629
+ # Template Format Conventions
2630
+
2631
+ Templates in the BMAD method use standardized markup for AI processing. These conventions ensure consistent document generation.
2632
+
2633
+ ## Template Markup Elements
2634
+
2635
+ - **{{placeholders}}**: Variables to be replaced with actual content
2636
+ - **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
2637
+ - **REPEAT** sections: Content blocks that may be repeated as needed
2638
+ - **^^CONDITION^^** blocks: Conditional content included only if criteria are met
2639
+ - **@{examples}**: Example content for guidance (never output to users)
2640
+
2641
+ ## Processing Rules
2642
+
2643
+ - Replace all {{placeholders}} with project-specific content
2644
+ - Execute all [[LLM: instructions]] internally without showing users
2645
+ - Process conditional and repeat blocks as specified
2646
+ - Use examples for guidance but never include them in final output
2647
+ - Present only clean, formatted content to users
2648
+
2649
+ ## Critical Guidelines
2650
+
2651
+ - **NEVER display template markup, LLM instructions, or examples to users**
2652
+ - Template elements are for AI processing only
2653
+ - Focus on faithful template execution and clean output
2654
+ - All template-specific instructions are embedded within templates
2655
+ ==================== END: utils#template-format ====================