bmad-method 4.37.0-beta.5 → 4.37.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 (206) hide show
  1. package/.github/FUNDING.yaml +15 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  4. package/.github/workflows/discord.yaml +16 -0
  5. package/.github/workflows/release.yaml +60 -0
  6. package/.releaserc.json +21 -0
  7. package/.vscode/settings.json +44 -0
  8. package/CHANGELOG.md +707 -0
  9. package/CONTRIBUTING.md +209 -0
  10. package/LICENSE +21 -0
  11. package/README.md +214 -3
  12. package/bmad-core/agent-teams/team-all.yaml +14 -0
  13. package/bmad-core/agent-teams/team-fullstack.yaml +18 -0
  14. package/bmad-core/agent-teams/team-ide-minimal.yaml +10 -0
  15. package/bmad-core/agent-teams/team-no-ui.yaml +13 -0
  16. package/bmad-core/agents/analyst.md +81 -0
  17. package/bmad-core/agents/architect.md +83 -0
  18. package/bmad-core/agents/bmad-master.md +107 -0
  19. package/bmad-core/agents/bmad-orchestrator.md +149 -0
  20. package/bmad-core/agents/dev.md +75 -0
  21. package/bmad-core/agents/pm.md +81 -0
  22. package/bmad-core/agents/po.md +76 -0
  23. package/bmad-core/agents/qa.md +69 -0
  24. package/bmad-core/agents/sm.md +62 -0
  25. package/bmad-core/agents/ux-expert.md +66 -0
  26. package/bmad-core/checklists/architect-checklist.md +438 -0
  27. package/bmad-core/checklists/change-checklist.md +182 -0
  28. package/bmad-core/checklists/pm-checklist.md +370 -0
  29. package/bmad-core/checklists/po-master-checklist.md +432 -0
  30. package/bmad-core/checklists/story-dod-checklist.md +94 -0
  31. package/bmad-core/checklists/story-draft-checklist.md +153 -0
  32. package/bmad-core/core-config.yaml +20 -0
  33. package/bmad-core/data/bmad-kb.md +806 -0
  34. package/bmad-core/data/brainstorming-techniques.md +36 -0
  35. package/bmad-core/data/elicitation-methods.md +154 -0
  36. package/bmad-core/data/technical-preferences.md +3 -0
  37. package/bmad-core/tasks/advanced-elicitation.md +117 -0
  38. package/bmad-core/tasks/brownfield-create-epic.md +160 -0
  39. package/bmad-core/tasks/brownfield-create-story.md +147 -0
  40. package/bmad-core/tasks/correct-course.md +70 -0
  41. package/bmad-core/tasks/create-brownfield-story.md +312 -0
  42. package/bmad-core/tasks/create-deep-research-prompt.md +278 -0
  43. package/bmad-core/tasks/create-next-story.md +112 -0
  44. package/bmad-core/tasks/document-project.md +343 -0
  45. package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
  46. package/bmad-core/tasks/generate-ai-frontend-prompt.md +51 -0
  47. package/bmad-core/tasks/index-docs.md +173 -0
  48. package/bmad-core/tasks/kb-mode-interaction.md +75 -0
  49. package/bmad-core/tasks/review-story.md +154 -0
  50. package/bmad-core/tasks/shard-doc.md +185 -0
  51. package/bmad-core/tasks/validate-next-story.md +134 -0
  52. package/bmad-core/templates/architecture-tmpl.yaml +650 -0
  53. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  54. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  55. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  56. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  57. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  58. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  59. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
  60. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  61. package/bmad-core/templates/prd-tmpl.yaml +202 -0
  62. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  63. package/bmad-core/templates/story-tmpl.yaml +137 -0
  64. package/bmad-core/workflows/brownfield-fullstack.yaml +297 -0
  65. package/bmad-core/workflows/brownfield-service.yaml +187 -0
  66. package/bmad-core/workflows/brownfield-ui.yaml +197 -0
  67. package/bmad-core/workflows/greenfield-fullstack.yaml +240 -0
  68. package/bmad-core/workflows/greenfield-service.yaml +206 -0
  69. package/bmad-core/workflows/greenfield-ui.yaml +235 -0
  70. package/common/tasks/create-doc.md +101 -0
  71. package/common/tasks/execute-checklist.md +86 -0
  72. package/common/utils/bmad-doc-template.md +325 -0
  73. package/common/utils/workflow-management.md +69 -0
  74. package/dist/agents/analyst.txt +2882 -0
  75. package/dist/agents/architect.txt +3543 -0
  76. package/dist/agents/bmad-master.txt +8756 -0
  77. package/dist/agents/bmad-orchestrator.txt +1490 -0
  78. package/dist/agents/dev.txt +428 -0
  79. package/dist/agents/pm.txt +2229 -0
  80. package/dist/agents/po.txt +1364 -0
  81. package/dist/agents/qa.txt +386 -0
  82. package/dist/agents/sm.txt +668 -0
  83. package/dist/agents/ux-expert.txt +701 -0
  84. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +2408 -0
  85. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +1631 -0
  86. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +822 -0
  87. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +10989 -0
  88. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +4047 -0
  89. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +3744 -0
  90. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +465 -0
  91. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +990 -0
  92. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +15467 -0
  93. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +2077 -0
  94. package/dist/teams/team-all.txt +11062 -0
  95. package/dist/teams/team-fullstack.txt +10392 -0
  96. package/dist/teams/team-ide-minimal.txt +3507 -0
  97. package/dist/teams/team-no-ui.txt +8951 -0
  98. package/docs/GUIDING-PRINCIPLES.md +91 -0
  99. package/docs/core-architecture.md +219 -0
  100. package/docs/enhanced-ide-development-workflow.md +43 -0
  101. package/docs/expansion-packs.md +280 -0
  102. package/docs/how-to-contribute-with-pull-requests.md +158 -0
  103. package/docs/user-guide.md +251 -0
  104. package/docs/versioning-and-releases.md +77 -0
  105. package/docs/versions.md +48 -0
  106. package/docs/working-in-the-brownfield.md +364 -0
  107. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +102 -0
  108. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +13 -0
  109. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +13 -0
  110. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +25 -0
  111. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +34 -0
  112. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +70 -0
  113. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +26 -0
  114. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +109 -0
  115. package/expansion-packs/README.md +3 -0
  116. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +13 -0
  117. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +71 -0
  118. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +78 -0
  119. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +64 -0
  120. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +201 -0
  121. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +160 -0
  122. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +8 -0
  123. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +250 -0
  124. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +649 -0
  125. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +110 -0
  126. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +216 -0
  127. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +290 -0
  128. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
  129. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
  130. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  131. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
  132. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  133. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +183 -0
  134. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +175 -0
  135. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +14 -0
  136. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +80 -0
  137. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +77 -0
  138. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +78 -0
  139. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +65 -0
  140. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +391 -0
  141. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +203 -0
  142. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +201 -0
  143. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +124 -0
  144. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +6 -0
  145. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +769 -0
  146. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +586 -0
  147. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +110 -0
  148. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +141 -0
  149. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +184 -0
  150. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +290 -0
  151. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +200 -0
  152. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +1030 -0
  153. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +356 -0
  154. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +705 -0
  155. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +256 -0
  156. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  157. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +183 -0
  158. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +175 -0
  159. package/expansion-packs/bmad-infrastructure-devops/README.md +147 -0
  160. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +71 -0
  161. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +484 -0
  162. package/expansion-packs/bmad-infrastructure-devops/config.yaml +9 -0
  163. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +305 -0
  164. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +159 -0
  165. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +153 -0
  166. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
  167. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
  168. package/package.json +62 -24
  169. package/tools/bmad-npx-wrapper.js +39 -0
  170. package/tools/builders/web-builder.js +681 -0
  171. package/tools/bump-all-versions.js +106 -0
  172. package/tools/bump-expansion-version.js +83 -0
  173. package/tools/cli.js +154 -0
  174. package/tools/flattener/aggregate.js +76 -0
  175. package/tools/flattener/binary.js +53 -0
  176. package/tools/flattener/discovery.js +70 -0
  177. package/tools/flattener/files.js +35 -0
  178. package/tools/flattener/ignoreRules.js +176 -0
  179. package/tools/flattener/main.js +217 -0
  180. package/tools/flattener/projectRoot.js +45 -0
  181. package/tools/flattener/prompts.js +44 -0
  182. package/tools/flattener/stats.js +30 -0
  183. package/tools/flattener/xml.js +86 -0
  184. package/tools/installer/README.md +8 -0
  185. package/tools/installer/package.json +44 -0
  186. package/tools/lib/dependency-resolver.js +179 -0
  187. package/tools/lib/yaml-utils.js +29 -0
  188. package/tools/md-assets/web-agent-startup-instructions.md +39 -0
  189. package/tools/semantic-release-sync-installer.js +30 -0
  190. package/tools/shared/bannerArt.js +105 -0
  191. package/tools/sync-installer-version.js +34 -0
  192. package/tools/update-expansion-version.js +54 -0
  193. package/tools/upgraders/v3-to-v4-upgrader.js +763 -0
  194. package/tools/version-bump.js +79 -0
  195. package/tools/yaml-format.js +240 -0
  196. /package/{bin → tools/installer/bin}/bmad.js +0 -0
  197. /package/{config → tools/installer/config}/ide-agent-config.yaml +0 -0
  198. /package/{config → tools/installer/config}/install.config.yaml +0 -0
  199. /package/{lib → tools/installer/lib}/config-loader.js +0 -0
  200. /package/{lib → tools/installer/lib}/file-manager.js +0 -0
  201. /package/{lib → tools/installer/lib}/ide-base-setup.js +0 -0
  202. /package/{lib → tools/installer/lib}/ide-setup.js +0 -0
  203. /package/{lib → tools/installer/lib}/installer.js +0 -0
  204. /package/{lib → tools/installer/lib}/memory-profiler.js +0 -0
  205. /package/{lib → tools/installer/lib}/module-manager.js +0 -0
  206. /package/{lib → tools/installer/lib}/resource-locator.js +0 -0
@@ -0,0 +1,173 @@
1
+ # Index Documentation Task
2
+
3
+ ## Purpose
4
+
5
+ This task maintains the integrity and completeness of the `docs/index.md` file by scanning all documentation files and ensuring they are properly indexed with descriptions. It handles both root-level documents and documents within subfolders, organizing them hierarchically.
6
+
7
+ ## Task Instructions
8
+
9
+ You are now operating as a Documentation Indexer. Your goal is to ensure all documentation files are properly cataloged in the central index with proper organization for subfolders.
10
+
11
+ ### Required Steps
12
+
13
+ 1. First, locate and scan:
14
+ - The `docs/` directory and all subdirectories
15
+ - The existing `docs/index.md` file (create if absent)
16
+ - All markdown (`.md`) and text (`.txt`) files in the documentation structure
17
+ - Note the folder structure for hierarchical organization
18
+
19
+ 2. For the existing `docs/index.md`:
20
+ - Parse current entries
21
+ - Note existing file references and descriptions
22
+ - Identify any broken links or missing files
23
+ - Keep track of already-indexed content
24
+ - Preserve existing folder sections
25
+
26
+ 3. For each documentation file found:
27
+ - Extract the title (from first heading or filename)
28
+ - Generate a brief description by analyzing the content
29
+ - Create a relative markdown link to the file
30
+ - Check if it's already in the index
31
+ - Note which folder it belongs to (if in a subfolder)
32
+ - If missing or outdated, prepare an update
33
+
34
+ 4. For any missing or non-existent files found in index:
35
+ - Present a list of all entries that reference non-existent files
36
+ - For each entry:
37
+ - Show the full entry details (title, path, description)
38
+ - Ask for explicit confirmation before removal
39
+ - Provide option to update the path if file was moved
40
+ - Log the decision (remove/update/keep) for final report
41
+
42
+ 5. Update `docs/index.md`:
43
+ - Maintain existing structure and organization
44
+ - Create level 2 sections (`##`) for each subfolder
45
+ - List root-level documents first
46
+ - Add missing entries with descriptions
47
+ - Update outdated entries
48
+ - Remove only entries that were confirmed for removal
49
+ - Ensure consistent formatting throughout
50
+
51
+ ### Index Structure Format
52
+
53
+ The index should be organized as follows:
54
+
55
+ ```markdown
56
+ # Documentation Index
57
+
58
+ ## Root Documents
59
+
60
+ ### [Document Title](./document.md)
61
+
62
+ Brief description of the document's purpose and contents.
63
+
64
+ ### [Another Document](./another.md)
65
+
66
+ Description here.
67
+
68
+ ## Folder Name
69
+
70
+ Documents within the `folder-name/` directory:
71
+
72
+ ### [Document in Folder](./folder-name/document.md)
73
+
74
+ Description of this document.
75
+
76
+ ### [Another in Folder](./folder-name/another.md)
77
+
78
+ Description here.
79
+
80
+ ## Another Folder
81
+
82
+ Documents within the `another-folder/` directory:
83
+
84
+ ### [Nested Document](./another-folder/document.md)
85
+
86
+ Description of nested document.
87
+ ```
88
+
89
+ ### Index Entry Format
90
+
91
+ Each entry should follow this format:
92
+
93
+ ```markdown
94
+ ### [Document Title](relative/path/to/file.md)
95
+
96
+ Brief description of the document's purpose and contents.
97
+ ```
98
+
99
+ ### Rules of Operation
100
+
101
+ 1. NEVER modify the content of indexed files
102
+ 2. Preserve existing descriptions in index.md when they are adequate
103
+ 3. Maintain any existing categorization or grouping in the index
104
+ 4. Use relative paths for all links (starting with `./`)
105
+ 5. Ensure descriptions are concise but informative
106
+ 6. NEVER remove entries without explicit confirmation
107
+ 7. Report any broken links or inconsistencies found
108
+ 8. Allow path updates for moved files before considering removal
109
+ 9. Create folder sections using level 2 headings (`##`)
110
+ 10. Sort folders alphabetically, with root documents listed first
111
+ 11. Within each section, sort documents alphabetically by title
112
+
113
+ ### Process Output
114
+
115
+ The task will provide:
116
+
117
+ 1. A summary of changes made to index.md
118
+ 2. List of newly indexed files (organized by folder)
119
+ 3. List of updated entries
120
+ 4. List of entries presented for removal and their status:
121
+ - Confirmed removals
122
+ - Updated paths
123
+ - Kept despite missing file
124
+ 5. Any new folders discovered
125
+ 6. Any other issues or inconsistencies found
126
+
127
+ ### Handling Missing Files
128
+
129
+ For each file referenced in the index but not found in the filesystem:
130
+
131
+ 1. Present the entry:
132
+
133
+ ```markdown
134
+ Missing file detected:
135
+ Title: [Document Title]
136
+ Path: relative/path/to/file.md
137
+ Description: Existing description
138
+ Section: [Root Documents | Folder Name]
139
+
140
+ Options:
141
+
142
+ 1. Remove this entry
143
+ 2. Update the file path
144
+ 3. Keep entry (mark as temporarily unavailable)
145
+
146
+ Please choose an option (1/2/3):
147
+ ```
148
+
149
+ 2. Wait for user confirmation before taking any action
150
+ 3. Log the decision for the final report
151
+
152
+ ### Special Cases
153
+
154
+ 1. **Sharded Documents**: If a folder contains an `index.md` file, treat it as a sharded document:
155
+ - Use the folder's `index.md` title as the section title
156
+ - List the folder's documents as subsections
157
+ - Note in the description that this is a multi-part document
158
+
159
+ 2. **README files**: Convert `README.md` to more descriptive titles based on content
160
+
161
+ 3. **Nested Subfolders**: For deeply nested folders, maintain the hierarchy but limit to 2 levels in the main index. Deeper structures should have their own index files.
162
+
163
+ ## Required Input
164
+
165
+ Please provide:
166
+
167
+ 1. Location of the `docs/` directory (default: `./docs`)
168
+ 2. Confirmation of write access to `docs/index.md`
169
+ 3. Any specific categorization preferences
170
+ 4. Any files or directories to exclude from indexing (e.g., `.git`, `node_modules`)
171
+ 5. Whether to include hidden files/folders (starting with `.`)
172
+
173
+ Would you like to proceed with documentation indexing? Please provide the required input above.
@@ -0,0 +1,75 @@
1
+ # KB Mode Interaction Task
2
+
3
+ ## Purpose
4
+
5
+ Provide a user-friendly interface to the BMad knowledge base without overwhelming users with information upfront.
6
+
7
+ ## Instructions
8
+
9
+ When entering KB mode (\*kb-mode), follow these steps:
10
+
11
+ ### 1. Welcome and Guide
12
+
13
+ Announce entering KB mode with a brief, friendly introduction.
14
+
15
+ ### 2. Present Topic Areas
16
+
17
+ Offer a concise list of main topic areas the user might want to explore:
18
+
19
+ **What would you like to know more about?**
20
+
21
+ 1. **Setup & Installation** - Getting started with BMad
22
+ 2. **Workflows** - Choosing the right workflow for your project
23
+ 3. **Web vs IDE** - When to use each environment
24
+ 4. **Agents** - Understanding specialized agents and their roles
25
+ 5. **Documents** - PRDs, Architecture, Stories, and more
26
+ 6. **Agile Process** - How BMad implements Agile methodologies
27
+ 7. **Configuration** - Customizing BMad for your needs
28
+ 8. **Best Practices** - Tips for effective BMad usage
29
+
30
+ Or ask me about anything else related to BMad-Method!
31
+
32
+ ### 3. Respond Contextually
33
+
34
+ - Wait for user's specific question or topic selection
35
+ - Provide focused, relevant information from the knowledge base
36
+ - Offer to dive deeper or explore related topics
37
+ - Keep responses concise unless user asks for detailed explanations
38
+
39
+ ### 4. Interactive Exploration
40
+
41
+ - After answering, suggest related topics they might find helpful
42
+ - Maintain conversational flow rather than data dumping
43
+ - Use examples when appropriate
44
+ - Reference specific documentation sections when relevant
45
+
46
+ ### 5. Exit Gracefully
47
+
48
+ When user is done or wants to exit KB mode:
49
+
50
+ - Summarize key points discussed if helpful
51
+ - Remind them they can return to KB mode anytime with \*kb-mode
52
+ - Suggest next steps based on what was discussed
53
+
54
+ ## Example Interaction
55
+
56
+ **User**: \*kb-mode
57
+
58
+ **Assistant**: I've entered KB mode and have access to the full BMad knowledge base. I can help you with detailed information about any aspect of BMad-Method.
59
+
60
+ **What would you like to know more about?**
61
+
62
+ 1. **Setup & Installation** - Getting started with BMad
63
+ 2. **Workflows** - Choosing the right workflow for your project
64
+ 3. **Web vs IDE** - When to use each environment
65
+ 4. **Agents** - Understanding specialized agents and their roles
66
+ 5. **Documents** - PRDs, Architecture, Stories, and more
67
+ 6. **Agile Process** - How BMad implements Agile methodologies
68
+ 7. **Configuration** - Customizing BMad for your needs
69
+ 8. **Best Practices** - Tips for effective BMad usage
70
+
71
+ Or ask me about anything else related to BMad-Method!
72
+
73
+ **User**: Tell me about workflows
74
+
75
+ **Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
@@ -0,0 +1,154 @@
1
+ # review-story
2
+
3
+ When a developer agent marks a story as "Ready for Review", perform a comprehensive senior developer code review with the ability to refactor and improve code directly.
4
+
5
+ ## Prerequisites
6
+
7
+ - Story status must be "Review"
8
+ - Developer has completed all tasks and updated the File List
9
+ - All automated tests are passing
10
+
11
+ ## Review Process
12
+
13
+ 1. **Read the Complete Story**
14
+ - Review all acceptance criteria
15
+ - Understand the dev notes and requirements
16
+ - Note any completion notes from the developer
17
+
18
+ 2. **Verify Implementation Against Dev Notes Guidance**
19
+ - Review the "Dev Notes" section for specific technical guidance provided to the developer
20
+ - Verify the developer's implementation follows the architectural patterns specified in Dev Notes
21
+ - Check that file locations match the project structure guidance in Dev Notes
22
+ - Confirm any specified libraries, frameworks, or technical approaches were used correctly
23
+ - Validate that security considerations mentioned in Dev Notes were implemented
24
+
25
+ 3. **Focus on the File List**
26
+ - Verify all files listed were actually created/modified
27
+ - Check for any missing files that should have been updated
28
+ - Ensure file locations align with the project structure guidance from Dev Notes
29
+
30
+ 4. **Senior Developer Code Review**
31
+ - Review code with the eye of a senior developer
32
+ - If changes form a cohesive whole, review them together
33
+ - If changes are independent, review incrementally file by file
34
+ - Focus on:
35
+ - Code architecture and design patterns
36
+ - Refactoring opportunities
37
+ - Code duplication or inefficiencies
38
+ - Performance optimizations
39
+ - Security concerns
40
+ - Best practices and patterns
41
+
42
+ 5. **Active Refactoring**
43
+ - As a senior developer, you CAN and SHOULD refactor code where improvements are needed
44
+ - When refactoring:
45
+ - Make the changes directly in the files
46
+ - Explain WHY you're making the change
47
+ - Describe HOW the change improves the code
48
+ - Ensure all tests still pass after refactoring
49
+ - Update the File List if you modify additional files
50
+
51
+ 6. **Standards Compliance Check**
52
+ - Verify adherence to `docs/coding-standards.md`
53
+ - Check compliance with `docs/unified-project-structure.md`
54
+ - Validate testing approach against `docs/testing-strategy.md`
55
+ - Ensure all guidelines mentioned in the story are followed
56
+
57
+ 7. **Acceptance Criteria Validation**
58
+ - Verify each AC is fully implemented
59
+ - Check for any missing functionality
60
+ - Validate edge cases are handled
61
+
62
+ 8. **Test Coverage Review**
63
+ - Ensure unit tests cover edge cases
64
+ - Add missing tests if critical coverage is lacking
65
+ - Verify integration tests (if required) are comprehensive
66
+ - Check that test assertions are meaningful
67
+ - Look for missing test scenarios
68
+
69
+ 9. **Documentation and Comments**
70
+ - Verify code is self-documenting where possible
71
+ - Add comments for complex logic if missing
72
+ - Ensure any API changes are documented
73
+
74
+ ## Update Story File - QA Results Section ONLY
75
+
76
+ **CRITICAL**: You are ONLY authorized to update the "QA Results" section of the story file. DO NOT modify any other sections.
77
+
78
+ After review and any refactoring, append your results to the story file in the QA Results section:
79
+
80
+ ```markdown
81
+ ## QA Results
82
+
83
+ ### Review Date: [Date]
84
+
85
+ ### Reviewed By: Quinn (Senior Developer QA)
86
+
87
+ ### Code Quality Assessment
88
+
89
+ [Overall assessment of implementation quality]
90
+
91
+ ### Refactoring Performed
92
+
93
+ [List any refactoring you performed with explanations]
94
+
95
+ - **File**: [filename]
96
+ - **Change**: [what was changed]
97
+ - **Why**: [reason for change]
98
+ - **How**: [how it improves the code]
99
+
100
+ ### Compliance Check
101
+
102
+ - Coding Standards: [✓/✗] [notes if any]
103
+ - Project Structure: [✓/✗] [notes if any]
104
+ - Testing Strategy: [✓/✗] [notes if any]
105
+ - All ACs Met: [✓/✗] [notes if any]
106
+
107
+ ### Improvements Checklist
108
+
109
+ [Check off items you handled yourself, leave unchecked for dev to address]
110
+
111
+ - [x] Refactored user service for better error handling (services/user.service.ts)
112
+ - [x] Added missing edge case tests (services/user.service.test.ts)
113
+ - [ ] Consider extracting validation logic to separate validator class
114
+ - [ ] Add integration test for error scenarios
115
+ - [ ] Update API documentation for new error codes
116
+
117
+ ### Security Review
118
+
119
+ [Any security concerns found and whether addressed]
120
+
121
+ ### Performance Considerations
122
+
123
+ [Any performance issues found and whether addressed]
124
+
125
+ ### Final Status
126
+
127
+ [✓ Approved - Ready for Done] / [✗ Changes Required - See unchecked items above]
128
+ ```
129
+
130
+ ## Key Principles
131
+
132
+ - You are a SENIOR developer reviewing junior/mid-level work
133
+ - You have the authority and responsibility to improve code directly
134
+ - Always explain your changes for learning purposes
135
+ - Balance between perfection and pragmatism
136
+ - Focus on significant improvements, not nitpicks
137
+
138
+ ## Blocking Conditions
139
+
140
+ Stop the review and request clarification if:
141
+
142
+ - Story file is incomplete or missing critical sections
143
+ - File List is empty or clearly incomplete
144
+ - No tests exist when they were required
145
+ - Code changes don't align with story requirements
146
+ - Critical architectural issues that require discussion
147
+
148
+ ## Completion
149
+
150
+ After review:
151
+
152
+ 1. If all items are checked and approved: Update story status to "Done"
153
+ 2. If unchecked items remain: Keep status as "Review" for dev to address
154
+ 3. Always provide constructive feedback and explanations for learning
@@ -0,0 +1,185 @@
1
+ # Document Sharding Task
2
+
3
+ ## Purpose
4
+
5
+ - Split a large document into multiple smaller documents based on level 2 sections
6
+ - Create a folder structure to organize the sharded documents
7
+ - Maintain all content integrity including code blocks, diagrams, and markdown formatting
8
+
9
+ ## Primary Method: Automatic with markdown-tree
10
+
11
+ [[LLM: First, check if markdownExploder is set to true in {root}/core-config.yaml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
12
+
13
+ If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
14
+
15
+ 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:
16
+
17
+ 1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
18
+ 2. Or set markdownExploder to false in {root}/core-config.yaml
19
+
20
+ **IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
21
+
22
+ If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
23
+
24
+ 1. Set markdownExploder to true in {root}/core-config.yaml
25
+ 2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
26
+
27
+ I will now proceed with the manual sharding process."
28
+
29
+ Then proceed with the manual method below ONLY if markdownExploder is false.]]
30
+
31
+ ### Installation and Usage
32
+
33
+ 1. **Install globally**:
34
+
35
+ ```bash
36
+ npm install -g @kayvan/markdown-tree-parser
37
+ ```
38
+
39
+ 2. **Use the explode command**:
40
+
41
+ ```bash
42
+ # For PRD
43
+ md-tree explode docs/prd.md docs/prd
44
+
45
+ # For Architecture
46
+ md-tree explode docs/architecture.md docs/architecture
47
+
48
+ # For any document
49
+ md-tree explode [source-document] [destination-folder]
50
+ ```
51
+
52
+ 3. **What it does**:
53
+ - Automatically splits the document by level 2 sections
54
+ - Creates properly named files
55
+ - Adjusts heading levels appropriately
56
+ - Handles all edge cases with code blocks and special markdown
57
+
58
+ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manual process below.
59
+
60
+ ---
61
+
62
+ ## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
63
+
64
+ ### Task Instructions
65
+
66
+ 1. Identify Document and Target Location
67
+
68
+ - Determine which document to shard (user-provided path)
69
+ - Create a new folder under `docs/` with the same name as the document (without extension)
70
+ - Example: `docs/prd.md` → create folder `docs/prd/`
71
+
72
+ 2. Parse and Extract Sections
73
+
74
+ CRITICAL AEGNT SHARDING RULES:
75
+
76
+ 1. Read the entire document content
77
+ 2. Identify all level 2 sections (## headings)
78
+ 3. For each level 2 section:
79
+ - Extract the section heading and ALL content until the next level 2 section
80
+ - Include all subsections, code blocks, diagrams, lists, tables, etc.
81
+ - Be extremely careful with:
82
+ - 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
83
+ - Mermaid diagrams - preserve the complete diagram syntax
84
+ - Nested markdown elements
85
+ - Multi-line content that might contain ## inside code blocks
86
+
87
+ CRITICAL: Use proper parsing that understands markdown context. A ## inside a code block is NOT a section header.]]
88
+
89
+ ### 3. Create Individual Files
90
+
91
+ For each extracted section:
92
+
93
+ 1. **Generate filename**: Convert the section heading to lowercase-dash-case
94
+ - Remove special characters
95
+ - Replace spaces with dashes
96
+ - Example: "## Tech Stack" → `tech-stack.md`
97
+
98
+ 2. **Adjust heading levels**:
99
+ - The level 2 heading becomes level 1 (# instead of ##) in the sharded new document
100
+ - All subsection levels decrease by 1:
101
+
102
+ ```txt
103
+ - ### → ##
104
+ - #### → ###
105
+ - ##### → ####
106
+ - etc.
107
+ ```
108
+
109
+ 3. **Write content**: Save the adjusted content to the new file
110
+
111
+ ### 4. Create Index File
112
+
113
+ Create an `index.md` file in the sharded folder that:
114
+
115
+ 1. Contains the original level 1 heading and any content before the first level 2 section
116
+ 2. Lists all the sharded files with links:
117
+
118
+ ```markdown
119
+ # Original Document Title
120
+
121
+ [Original introduction content if any]
122
+
123
+ ## Sections
124
+
125
+ - [Section Name 1](./section-name-1.md)
126
+ - [Section Name 2](./section-name-2.md)
127
+ - [Section Name 3](./section-name-3.md)
128
+ ...
129
+ ```
130
+
131
+ ### 5. Preserve Special Content
132
+
133
+ 1. **Code blocks**: Must capture complete blocks including:
134
+
135
+ ```language
136
+ content
137
+ ```
138
+
139
+ 2. **Mermaid diagrams**: Preserve complete syntax:
140
+
141
+ ```mermaid
142
+ graph TD
143
+ ...
144
+ ```
145
+
146
+ 3. **Tables**: Maintain proper markdown table formatting
147
+
148
+ 4. **Lists**: Preserve indentation and nesting
149
+
150
+ 5. **Inline code**: Preserve backticks
151
+
152
+ 6. **Links and references**: Keep all markdown links intact
153
+
154
+ 7. **Template markup**: If documents contain {{placeholders}} ,preserve exactly
155
+
156
+ ### 6. Validation
157
+
158
+ After sharding:
159
+
160
+ 1. Verify all sections were extracted
161
+ 2. Check that no content was lost
162
+ 3. Ensure heading levels were properly adjusted
163
+ 4. Confirm all files were created successfully
164
+
165
+ ### 7. Report Results
166
+
167
+ Provide a summary:
168
+
169
+ ```text
170
+ Document sharded successfully:
171
+ - Source: [original document path]
172
+ - Destination: docs/[folder-name]/
173
+ - Files created: [count]
174
+ - Sections:
175
+ - section-name-1.md: "Section Title 1"
176
+ - section-name-2.md: "Section Title 2"
177
+ ...
178
+ ```
179
+
180
+ ## Important Notes
181
+
182
+ - Never modify the actual content, only adjust heading levels
183
+ - Preserve ALL formatting, including whitespace where significant
184
+ - Handle edge cases like sections with code blocks containing ## symbols
185
+ - Ensure the sharding is reversible (could reconstruct the original from shards)