frappe-builder 1.1.0-dev.8

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 (423) hide show
  1. package/.fb/state.db +0 -0
  2. package/AGENTS.md +167 -0
  3. package/README.md +89 -0
  4. package/_bmad/_config/agent-manifest.csv +10 -0
  5. package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
  6. package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
  7. package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
  8. package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
  9. package/_bmad/_config/agents/bmm-qa.customize.yaml +41 -0
  10. package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
  11. package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
  12. package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
  13. package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
  14. package/_bmad/_config/bmad-help.csv +47 -0
  15. package/_bmad/_config/files-manifest.csv +369 -0
  16. package/_bmad/_config/ides/claude-code.yaml +5 -0
  17. package/_bmad/_config/manifest.yaml +28 -0
  18. package/_bmad/_config/skill-manifest.csv +41 -0
  19. package/_bmad/_config/task-manifest.csv +1 -0
  20. package/_bmad/_config/tool-manifest.csv +1 -0
  21. package/_bmad/_config/workflow-manifest.csv +1 -0
  22. package/_bmad/_memory/config.yaml +11 -0
  23. package/_bmad/_memory/tech-writer-sidecar/documentation-standards.md +224 -0
  24. package/_bmad/bmm/agents/analyst.md +69 -0
  25. package/_bmad/bmm/agents/architect.md +59 -0
  26. package/_bmad/bmm/agents/bmad-skill-manifest.yaml +39 -0
  27. package/_bmad/bmm/agents/dev.md +66 -0
  28. package/_bmad/bmm/agents/pm.md +63 -0
  29. package/_bmad/bmm/agents/qa.md +89 -0
  30. package/_bmad/bmm/agents/quick-flow-solo-dev.md +61 -0
  31. package/_bmad/bmm/agents/sm.md +67 -0
  32. package/_bmad/bmm/agents/tech-writer/bmad-skill-manifest.yaml +3 -0
  33. package/_bmad/bmm/agents/tech-writer/tech-writer.md +67 -0
  34. package/_bmad/bmm/agents/ux-designer.md +58 -0
  35. package/_bmad/bmm/config.yaml +16 -0
  36. package/_bmad/bmm/data/project-context-template.md +26 -0
  37. package/_bmad/bmm/module-help.csv +32 -0
  38. package/_bmad/bmm/teams/default-party.csv +20 -0
  39. package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
  40. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +6 -0
  41. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yaml +1 -0
  42. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +10 -0
  43. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +170 -0
  44. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +158 -0
  45. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +193 -0
  46. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +196 -0
  47. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +199 -0
  48. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +213 -0
  49. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +159 -0
  50. package/_bmad/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +55 -0
  51. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/SKILL.md +88 -0
  52. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/artifact-analyzer.md +60 -0
  53. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/opportunity-reviewer.md +44 -0
  54. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/skeptic-reviewer.md +44 -0
  55. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/web-researcher.md +49 -0
  56. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-manifest.json +17 -0
  57. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +1 -0
  58. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/contextual-discovery.md +57 -0
  59. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/draft-and-review.md +86 -0
  60. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/finalize.md +75 -0
  61. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/guided-elicitation.md +70 -0
  62. package/_bmad/bmm/workflows/1-analysis/bmad-product-brief-preview/resources/brief-template.md +60 -0
  63. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/SKILL.md +6 -0
  64. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/bmad-skill-manifest.yaml +1 -0
  65. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +137 -0
  66. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  67. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  68. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  69. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  70. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  71. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/research.template.md +29 -0
  72. package/_bmad/bmm/workflows/1-analysis/research/bmad-domain-research/workflow.md +49 -0
  73. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/SKILL.md +6 -0
  74. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/bmad-skill-manifest.yaml +1 -0
  75. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/research.template.md +29 -0
  76. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-01-init.md +184 -0
  77. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  78. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  79. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  80. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  81. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +478 -0
  82. package/_bmad/bmm/workflows/1-analysis/research/bmad-market-research/workflow.md +49 -0
  83. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md +6 -0
  84. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml +1 -0
  85. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md +29 -0
  86. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +137 -0
  87. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  88. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  89. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  90. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  91. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  92. package/_bmad/bmm/workflows/1-analysis/research/bmad-technical-research/workflow.md +50 -0
  93. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  94. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  95. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  96. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  97. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  98. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
  99. package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
  100. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/SKILL.md +6 -0
  101. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/bmad-skill-manifest.yaml +1 -0
  102. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +135 -0
  103. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
  104. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
  105. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
  106. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
  107. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
  108. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
  109. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
  110. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  111. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
  112. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
  113. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
  114. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  115. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  116. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +171 -0
  117. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/ux-design-template.md +13 -0
  118. package/_bmad/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md +36 -0
  119. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md +6 -0
  120. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml +1 -0
  121. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  122. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  123. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
  124. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
  125. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
  126. package/_bmad/bmm/workflows/2-plan-workflows/bmad-edit-prd/workflow.md +63 -0
  127. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md +6 -0
  128. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml +1 -0
  129. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv +15 -0
  130. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md +197 -0
  131. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv +11 -0
  132. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  133. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  134. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  135. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  136. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  137. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  138. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  139. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  140. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  141. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  142. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  143. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  144. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  145. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  146. package/_bmad/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md +62 -0
  147. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
  148. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  149. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  150. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +224 -0
  151. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  152. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  153. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  154. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  155. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  156. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  157. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  158. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  159. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  160. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  161. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  162. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  163. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +232 -0
  164. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +65 -0
  165. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md +6 -0
  166. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml +1 -0
  167. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  168. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  169. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  170. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  171. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  172. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  173. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  174. package/_bmad/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/workflow.md +49 -0
  175. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/SKILL.md +6 -0
  176. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/architecture-decision-template.md +12 -0
  177. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/bmad-skill-manifest.yaml +1 -0
  178. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/data/domain-complexity.csv +13 -0
  179. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/data/project-types.csv +7 -0
  180. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md +153 -0
  181. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01b-continue.md +173 -0
  182. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-02-context.md +224 -0
  183. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-03-starter.md +329 -0
  184. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-04-decisions.md +318 -0
  185. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-05-patterns.md +359 -0
  186. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-06-structure.md +379 -0
  187. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-07-validation.md +359 -0
  188. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +76 -0
  189. package/_bmad/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md +38 -0
  190. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md +6 -0
  191. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml +1 -0
  192. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  193. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  194. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  195. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  196. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  197. package/_bmad/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/workflow.md +53 -0
  198. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/SKILL.md +6 -0
  199. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml +1 -0
  200. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-01-gather-context.md +61 -0
  201. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +41 -0
  202. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-03-triage.md +50 -0
  203. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +38 -0
  204. package/_bmad/bmm/workflows/4-implementation/bmad-code-review/workflow.md +54 -0
  205. package/_bmad/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md +6 -0
  206. package/_bmad/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml +1 -0
  207. package/_bmad/bmm/workflows/4-implementation/bmad-correct-course/checklist.md +288 -0
  208. package/_bmad/bmm/workflows/4-implementation/bmad-correct-course/workflow.md +267 -0
  209. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/SKILL.md +6 -0
  210. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/bmad-skill-manifest.yaml +1 -0
  211. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/checklist.md +357 -0
  212. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/discover-inputs.md +88 -0
  213. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/template.md +49 -0
  214. package/_bmad/bmm/workflows/4-implementation/bmad-create-story/workflow.md +380 -0
  215. package/_bmad/bmm/workflows/4-implementation/bmad-dev-story/SKILL.md +6 -0
  216. package/_bmad/bmm/workflows/4-implementation/bmad-dev-story/bmad-skill-manifest.yaml +1 -0
  217. package/_bmad/bmm/workflows/4-implementation/bmad-dev-story/checklist.md +80 -0
  218. package/_bmad/bmm/workflows/4-implementation/bmad-dev-story/workflow.md +450 -0
  219. package/_bmad/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md +6 -0
  220. package/_bmad/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml +1 -0
  221. package/_bmad/bmm/workflows/4-implementation/bmad-retrospective/workflow.md +1479 -0
  222. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md +6 -0
  223. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +1 -0
  224. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-planning/checklist.md +33 -0
  225. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +56 -0
  226. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-planning/workflow.md +263 -0
  227. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md +6 -0
  228. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +1 -0
  229. package/_bmad/bmm/workflows/4-implementation/bmad-sprint-status/workflow.md +261 -0
  230. package/_bmad/bmm/workflows/bmad-document-project/SKILL.md +6 -0
  231. package/_bmad/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +1 -0
  232. package/_bmad/bmm/workflows/bmad-document-project/checklist.md +245 -0
  233. package/_bmad/bmm/workflows/bmad-document-project/documentation-requirements.csv +12 -0
  234. package/_bmad/bmm/workflows/bmad-document-project/instructions.md +128 -0
  235. package/_bmad/bmm/workflows/bmad-document-project/templates/deep-dive-template.md +345 -0
  236. package/_bmad/bmm/workflows/bmad-document-project/templates/index-template.md +169 -0
  237. package/_bmad/bmm/workflows/bmad-document-project/templates/project-overview-template.md +103 -0
  238. package/_bmad/bmm/workflows/bmad-document-project/templates/project-scan-report-schema.json +160 -0
  239. package/_bmad/bmm/workflows/bmad-document-project/templates/source-tree-template.md +135 -0
  240. package/_bmad/bmm/workflows/bmad-document-project/workflow.md +27 -0
  241. package/_bmad/bmm/workflows/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
  242. package/_bmad/bmm/workflows/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  243. package/_bmad/bmm/workflows/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
  244. package/_bmad/bmm/workflows/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  245. package/_bmad/bmm/workflows/bmad-generate-project-context/SKILL.md +6 -0
  246. package/_bmad/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +1 -0
  247. package/_bmad/bmm/workflows/bmad-generate-project-context/project-context-template.md +21 -0
  248. package/_bmad/bmm/workflows/bmad-generate-project-context/steps/step-01-discover.md +186 -0
  249. package/_bmad/bmm/workflows/bmad-generate-project-context/steps/step-02-generate.md +321 -0
  250. package/_bmad/bmm/workflows/bmad-generate-project-context/steps/step-03-complete.md +278 -0
  251. package/_bmad/bmm/workflows/bmad-generate-project-context/workflow.md +43 -0
  252. package/_bmad/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
  253. package/_bmad/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +1 -0
  254. package/_bmad/bmm/workflows/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  255. package/_bmad/bmm/workflows/bmad-qa-generate-e2e-tests/workflow.md +136 -0
  256. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +6 -0
  257. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/bmad-skill-manifest.yaml +1 -0
  258. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +169 -0
  259. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +114 -0
  260. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +107 -0
  261. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +107 -0
  262. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +94 -0
  263. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +144 -0
  264. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +38 -0
  265. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +6 -0
  266. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -0
  267. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +51 -0
  268. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +35 -0
  269. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +33 -0
  270. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +50 -0
  271. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +17 -0
  272. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md +90 -0
  273. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +79 -0
  274. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +6 -0
  275. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +1 -0
  276. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md +185 -0
  277. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md +140 -0
  278. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md +123 -0
  279. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md +195 -0
  280. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md +74 -0
  281. package/_bmad/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md +73 -0
  282. package/_bmad/cis/config.yaml +12 -0
  283. package/_bmad/cis/module-help.csv +6 -0
  284. package/_bmad/cis/skills/bmad-cis-agent-brainstorming-coach/SKILL.md +51 -0
  285. package/_bmad/cis/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml +11 -0
  286. package/_bmad/cis/skills/bmad-cis-agent-creative-problem-solver/SKILL.md +51 -0
  287. package/_bmad/cis/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml +11 -0
  288. package/_bmad/cis/skills/bmad-cis-agent-design-thinking-coach/SKILL.md +52 -0
  289. package/_bmad/cis/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml +11 -0
  290. package/_bmad/cis/skills/bmad-cis-agent-innovation-strategist/SKILL.md +51 -0
  291. package/_bmad/cis/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml +11 -0
  292. package/_bmad/cis/skills/bmad-cis-agent-presentation-master/SKILL.md +62 -0
  293. package/_bmad/cis/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml +11 -0
  294. package/_bmad/cis/skills/bmad-cis-agent-storyteller/SKILL.md +56 -0
  295. package/_bmad/cis/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml +11 -0
  296. package/_bmad/cis/skills/bmad-cis-agent-storyteller/stories-told.md +7 -0
  297. package/_bmad/cis/skills/bmad-cis-agent-storyteller/story-preferences.md +7 -0
  298. package/_bmad/cis/skills/bmad-cis-design-thinking/SKILL.md +6 -0
  299. package/_bmad/cis/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
  300. package/_bmad/cis/skills/bmad-cis-design-thinking/design-methods.csv +31 -0
  301. package/_bmad/cis/skills/bmad-cis-design-thinking/template.md +111 -0
  302. package/_bmad/cis/skills/bmad-cis-design-thinking/workflow.md +242 -0
  303. package/_bmad/cis/skills/bmad-cis-innovation-strategy/SKILL.md +6 -0
  304. package/_bmad/cis/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
  305. package/_bmad/cis/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
  306. package/_bmad/cis/skills/bmad-cis-innovation-strategy/template.md +189 -0
  307. package/_bmad/cis/skills/bmad-cis-innovation-strategy/workflow.md +315 -0
  308. package/_bmad/cis/skills/bmad-cis-problem-solving/SKILL.md +6 -0
  309. package/_bmad/cis/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
  310. package/_bmad/cis/skills/bmad-cis-problem-solving/solving-methods.csv +31 -0
  311. package/_bmad/cis/skills/bmad-cis-problem-solving/template.md +165 -0
  312. package/_bmad/cis/skills/bmad-cis-problem-solving/workflow.md +291 -0
  313. package/_bmad/cis/skills/bmad-cis-storytelling/SKILL.md +6 -0
  314. package/_bmad/cis/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
  315. package/_bmad/cis/skills/bmad-cis-storytelling/story-types.csv +26 -0
  316. package/_bmad/cis/skills/bmad-cis-storytelling/template.md +113 -0
  317. package/_bmad/cis/skills/bmad-cis-storytelling/workflow.md +321 -0
  318. package/_bmad/core/config.yaml +9 -0
  319. package/_bmad/core/module-help.csv +11 -0
  320. package/_bmad/core/skills/bmad-advanced-elicitation/SKILL.md +6 -0
  321. package/_bmad/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +1 -0
  322. package/_bmad/core/skills/bmad-advanced-elicitation/methods.csv +51 -0
  323. package/_bmad/core/skills/bmad-advanced-elicitation/workflow.md +135 -0
  324. package/_bmad/core/skills/bmad-brainstorming/SKILL.md +6 -0
  325. package/_bmad/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +1 -0
  326. package/_bmad/core/skills/bmad-brainstorming/brain-methods.csv +62 -0
  327. package/_bmad/core/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
  328. package/_bmad/core/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
  329. package/_bmad/core/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
  330. package/_bmad/core/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  331. package/_bmad/core/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
  332. package/_bmad/core/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  333. package/_bmad/core/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
  334. package/_bmad/core/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
  335. package/_bmad/core/skills/bmad-brainstorming/template.md +15 -0
  336. package/_bmad/core/skills/bmad-brainstorming/workflow.md +53 -0
  337. package/_bmad/core/skills/bmad-distillator/SKILL.md +178 -0
  338. package/_bmad/core/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  339. package/_bmad/core/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  340. package/_bmad/core/skills/bmad-distillator/bmad-skill-manifest.yaml +15 -0
  341. package/_bmad/core/skills/bmad-distillator/resources/compression-rules.md +51 -0
  342. package/_bmad/core/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  343. package/_bmad/core/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  344. package/_bmad/core/skills/bmad-editorial-review-prose/SKILL.md +6 -0
  345. package/_bmad/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +1 -0
  346. package/_bmad/core/skills/bmad-editorial-review-prose/workflow.md +81 -0
  347. package/_bmad/core/skills/bmad-editorial-review-structure/SKILL.md +6 -0
  348. package/_bmad/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +1 -0
  349. package/_bmad/core/skills/bmad-editorial-review-structure/workflow.md +174 -0
  350. package/_bmad/core/skills/bmad-help/SKILL.md +6 -0
  351. package/_bmad/core/skills/bmad-help/bmad-skill-manifest.yaml +1 -0
  352. package/_bmad/core/skills/bmad-help/workflow.md +88 -0
  353. package/_bmad/core/skills/bmad-index-docs/SKILL.md +6 -0
  354. package/_bmad/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +1 -0
  355. package/_bmad/core/skills/bmad-index-docs/workflow.md +61 -0
  356. package/_bmad/core/skills/bmad-party-mode/SKILL.md +6 -0
  357. package/_bmad/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +1 -0
  358. package/_bmad/core/skills/bmad-party-mode/steps/step-01-agent-loading.md +138 -0
  359. package/_bmad/core/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  360. package/_bmad/core/skills/bmad-party-mode/steps/step-03-graceful-exit.md +167 -0
  361. package/_bmad/core/skills/bmad-party-mode/workflow.md +190 -0
  362. package/_bmad/core/skills/bmad-review-adversarial-general/SKILL.md +6 -0
  363. package/_bmad/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
  364. package/_bmad/core/skills/bmad-review-adversarial-general/workflow.md +32 -0
  365. package/_bmad/core/skills/bmad-review-edge-case-hunter/SKILL.md +6 -0
  366. package/_bmad/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
  367. package/_bmad/core/skills/bmad-review-edge-case-hunter/workflow.md +62 -0
  368. package/_bmad/core/skills/bmad-shard-doc/SKILL.md +6 -0
  369. package/_bmad/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +1 -0
  370. package/_bmad/core/skills/bmad-shard-doc/workflow.md +100 -0
  371. package/_bmad/core/tasks/bmad-create-prd/SKILL.md +6 -0
  372. package/_bmad/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +1 -0
  373. package/_bmad/core/tasks/bmad-create-prd/data/domain-complexity.csv +15 -0
  374. package/_bmad/core/tasks/bmad-create-prd/data/prd-purpose.md +197 -0
  375. package/_bmad/core/tasks/bmad-create-prd/data/project-types.csv +11 -0
  376. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-01-init.md +178 -0
  377. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
  378. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
  379. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
  380. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  381. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-03-success.md +214 -0
  382. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
  383. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-05-domain.md +194 -0
  384. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
  385. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
  386. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
  387. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-09-functional.md +219 -0
  388. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  389. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-11-polish.md +221 -0
  390. package/_bmad/core/tasks/bmad-create-prd/steps-c/step-12-complete.md +115 -0
  391. package/_bmad/core/tasks/bmad-create-prd/templates/prd-template.md +10 -0
  392. package/_bmad/core/tasks/bmad-create-prd/workflow.md +62 -0
  393. package/config/allowed-commands.ts +39 -0
  394. package/config/defaults.ts +19 -0
  395. package/config/loader.ts +105 -0
  396. package/extensions/frappe-gates.ts +160 -0
  397. package/extensions/frappe-session.ts +324 -0
  398. package/extensions/frappe-state.ts +235 -0
  399. package/extensions/frappe-tools.ts +278 -0
  400. package/extensions/frappe-ui.ts +119 -0
  401. package/extensions/frappe-workflow.ts +85 -0
  402. package/gates/coverage-check.ts +37 -0
  403. package/gates/frappe-native-check.ts +65 -0
  404. package/gates/permission-check.ts +65 -0
  405. package/gates/query-check.ts +40 -0
  406. package/gates/server-side-check.ts +67 -0
  407. package/gates/style-check.ts +92 -0
  408. package/gates/types.ts +13 -0
  409. package/package.json +43 -0
  410. package/project-context.md +146 -0
  411. package/state/db.ts +85 -0
  412. package/state/fsm.ts +68 -0
  413. package/state/journal.ts +164 -0
  414. package/state/schema.ts +41 -0
  415. package/tools/agent-tools.ts +60 -0
  416. package/tools/bench-tools.ts +63 -0
  417. package/tools/context-sandbox.ts +31 -0
  418. package/tools/debug-tools.ts +12 -0
  419. package/tools/feature-tools.ts +126 -0
  420. package/tools/frappe-context7.ts +70 -0
  421. package/tools/frappe-query-tools.ts +47 -0
  422. package/tools/project-tools.ts +107 -0
  423. package/tsdown.config.ts +6 -0
@@ -0,0 +1,115 @@
1
+ # Step 12: Workflow Completion
2
+
3
+ **Final Step - Complete the PRD**
4
+
5
+ ## MANDATORY EXECUTION RULES (READ FIRST):
6
+
7
+ - ✅ THIS IS A FINAL STEP - Workflow completion required
8
+ - 📖 CRITICAL: ALWAYS read the complete step file before taking any action
9
+ - 🛑 NO content generation - this is a wrap-up step
10
+ - 📋 FINALIZE document and update workflow status
11
+ - 💬 FOCUS on completion, validation options, and next steps
12
+ - 🎯 UPDATE workflow status files with completion information
13
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
14
+
15
+ ## EXECUTION PROTOCOLS:
16
+
17
+ - 🎯 Show your analysis before taking any action
18
+ - 💾 Update the main workflow status file with completion information (if exists)
19
+ - 📖 Offer validation workflow options to user
20
+ - 🚫 DO NOT load additional steps after this one
21
+
22
+ ## TERMINATION STEP PROTOCOLS:
23
+
24
+ - This is a FINAL step - workflow completion required
25
+ - Update workflow status file with finalized document
26
+ - Suggest validation and next workflow steps
27
+ - Mark workflow as complete in status tracking
28
+
29
+ ## CONTEXT BOUNDARIES:
30
+
31
+ - Complete and polished PRD document is available from all previous steps
32
+ - Workflow frontmatter shows all completed steps including polish
33
+ - All collaborative content has been generated, saved, and optimized
34
+ - Focus on completion, validation options, and next steps
35
+
36
+ ## YOUR TASK:
37
+
38
+ Complete the PRD workflow, update status files, offer validation options, and suggest next steps for the project.
39
+
40
+ ## WORKFLOW COMPLETION SEQUENCE:
41
+
42
+ ### 1. Announce Workflow Completion
43
+
44
+ Inform user that the PRD is complete and polished:
45
+ - Celebrate successful completion of comprehensive PRD
46
+ - Summarize all sections that were created
47
+ - Highlight that document has been polished for flow and coherence
48
+ - Emphasize document is ready for downstream work
49
+
50
+ ### 2. Workflow Status Update
51
+
52
+ Update the main workflow status file if there is one:
53
+
54
+ - Check workflow configuration for a status file (if one exists)
55
+ - Update workflow_status["prd"] = "{outputFile}"
56
+ - Save file, preserving all comments and structure
57
+ - Mark current timestamp as completion time
58
+
59
+ ### 3. Validation Workflow Options
60
+
61
+ Offer validation workflows to ensure PRD is ready for implementation:
62
+
63
+ **Available Validation Workflows:**
64
+
65
+ **Option 1: Check Implementation Readiness** (`skill:bmad-check-implementation-readiness`)
66
+ - Validates PRD has all information needed for development
67
+ - Checks epic coverage completeness
68
+ - Reviews UX alignment with requirements
69
+ - Assesses epic quality and readiness
70
+ - Identifies gaps before architecture/design work begins
71
+
72
+ **When to use:** Before starting technical architecture or epic breakdown
73
+
74
+ **Option 2: Skip for Now**
75
+ - Proceed directly to next workflows (architecture, UX, epics)
76
+ - Validation can be done later if needed
77
+ - Some teams prefer to validate during architecture reviews
78
+
79
+ ### 4. Suggest Next Workflows
80
+
81
+ PRD complete. Invoke the `bmad-help` skill.
82
+
83
+ ### 5. Final Completion Confirmation
84
+
85
+ - Confirm completion with user and summarize what has been accomplished
86
+ - Document now contains: Executive Summary, Success Criteria, User Journeys, Domain Requirements (if applicable), Innovation Analysis (if applicable), Project-Type Requirements, Functional Requirements (capability contract), Non-Functional Requirements, and has been polished for flow and coherence
87
+ - Ask if they'd like to run validation workflow or proceed to next workflows
88
+
89
+ ## SUCCESS METRICS:
90
+
91
+ ✅ PRD document contains all required sections and has been polished
92
+ ✅ All collaborative content properly saved and optimized
93
+ ✅ Workflow status file updated with completion information (if exists)
94
+ ✅ Validation workflow options clearly presented
95
+ ✅ Clear next step guidance provided to user
96
+ ✅ Document quality validation completed
97
+ ✅ User acknowledges completion and understands next options
98
+
99
+ ## FAILURE MODES:
100
+
101
+ ❌ Not updating workflow status file with completion information (if exists)
102
+ ❌ Not offering validation workflow options
103
+ ❌ Missing clear next step guidance for user
104
+ ❌ Not confirming document completeness with user
105
+ ❌ Workflow not properly marked as complete in status tracking (if applicable)
106
+ ❌ User unclear about what happens next or what validation options exist
107
+
108
+ ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
109
+ ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
110
+
111
+ ## FINAL REMINDER to give the user:
112
+
113
+ The polished PRD serves as the foundation for all subsequent product development activities. All design, architecture, and development work should trace back to the requirements and vision documented in this PRD - update it also as needed as you continue planning.
114
+
115
+ **Congratulations on completing the Product Requirements Document for {{project_name}}!** 🎉
@@ -0,0 +1,10 @@
1
+ ---
2
+ stepsCompleted: []
3
+ inputDocuments: []
4
+ workflowType: 'prd'
5
+ ---
6
+
7
+ # Product Requirements Document - {{project_name}}
8
+
9
+ **Author:** {{user_name}}
10
+ **Date:** {{date}}
@@ -0,0 +1,62 @@
1
+ ---
2
+ main_config: '{project-root}/_bmad/bmm/config.yaml'
3
+ outputFile: '{planning_artifacts}/prd.md'
4
+ ---
5
+
6
+ # PRD Create Workflow
7
+
8
+ **Goal:** Create comprehensive PRDs through structured workflow facilitation.
9
+
10
+ **Your Role:** Product-focused PM facilitator collaborating with an expert peer.
11
+
12
+ You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
13
+
14
+ ## WORKFLOW ARCHITECTURE
15
+
16
+ This uses **step-file architecture** for disciplined execution:
17
+
18
+ ### Core Principles
19
+
20
+ - **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
21
+ - **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
22
+ - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
23
+ - **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
24
+ - **Append-Only Building**: Build documents by appending content as directed to the output file
25
+
26
+ ### Step Processing Rules
27
+
28
+ 1. **READ COMPLETELY**: Always read the entire step file before taking any action
29
+ 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
30
+ 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
31
+ 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
32
+ 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
33
+ 6. **LOAD NEXT**: When directed, read fully and follow the next step file
34
+
35
+ ### Critical Rules (NO EXCEPTIONS)
36
+
37
+ - 🛑 **NEVER** load multiple step files simultaneously
38
+ - 📖 **ALWAYS** read entire step file before execution
39
+ - 🚫 **NEVER** skip steps or optimize the sequence
40
+ - 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
41
+ - 🎯 **ALWAYS** follow the exact instructions in the step file
42
+ - ⏸️ **ALWAYS** halt at menus and wait for user input
43
+ - 📋 **NEVER** create mental todo lists from future steps
44
+
45
+ ## INITIALIZATION SEQUENCE
46
+
47
+ ### 1. Configuration Loading
48
+
49
+ Load and read full config from {main_config} and resolve:
50
+
51
+ - `project_name`, `output_folder`, `planning_artifacts`, `user_name`
52
+ - `communication_language`, `document_output_language`, `user_skill_level`
53
+ - `date` as system-generated current datetime
54
+
55
+ ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
56
+ ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
57
+
58
+ ### 2. Route to Create Workflow
59
+
60
+ "**Create Mode: Creating a new PRD from scratch.**"
61
+
62
+ Read fully and follow: `./steps-c/step-01-init.md`
@@ -0,0 +1,39 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
3
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
4
+
5
+ const CONFIG_DIR = join(homedir(), ".frappe-builder");
6
+ const WHITELIST_PATH = join(CONFIG_DIR, "allowed-commands.json");
7
+
8
+ export const DEFAULT_BENCH_COMMANDS: string[] = [
9
+ "bench migrate",
10
+ "bench build",
11
+ "bench install",
12
+ "bench update",
13
+ "bench run-tests",
14
+ "bench restart",
15
+ "bench clear-cache",
16
+ "bench console",
17
+ ];
18
+
19
+ /**
20
+ * Loads the bench command whitelist from ~/.frappe-builder/allowed-commands.json.
21
+ * On first run (file missing): writes defaults to disk and returns them.
22
+ * On malformed JSON: logs warning and returns defaults — never throws.
23
+ */
24
+ export function loadAllowedCommands(): string[] {
25
+ if (!existsSync(WHITELIST_PATH)) {
26
+ mkdirSync(CONFIG_DIR, { recursive: true });
27
+ writeFileSync(WHITELIST_PATH, JSON.stringify(DEFAULT_BENCH_COMMANDS, null, 2), "utf-8");
28
+ return [...DEFAULT_BENCH_COMMANDS];
29
+ }
30
+ try {
31
+ const raw = readFileSync(WHITELIST_PATH, "utf-8");
32
+ const parsed = JSON.parse(raw);
33
+ if (!Array.isArray(parsed)) throw new Error("Expected JSON array");
34
+ return parsed.map(String);
35
+ } catch {
36
+ console.warn("[WHITELIST WARNING: allowed-commands.json is malformed — using defaults]");
37
+ return [...DEFAULT_BENCH_COMMANDS];
38
+ }
39
+ }
@@ -0,0 +1,19 @@
1
+ export interface SpawnRule {
2
+ trigger: string;
3
+ delegate: string;
4
+ }
5
+
6
+ export interface AppConfig {
7
+ autoGitCheckpoint: boolean;
8
+ allowSubAgents: boolean;
9
+ requirePermission: boolean;
10
+ rules: SpawnRule[];
11
+ frappeMcpUrl?: string; // URL of Frappe MCP server for frappe_query (e.g. "http://localhost:8000")
12
+ }
13
+
14
+ export const defaults: AppConfig = {
15
+ autoGitCheckpoint: true,
16
+ allowSubAgents: false, // opt-in — disabled by default
17
+ requirePermission: true, // always prompt unless explicitly disabled
18
+ rules: [],
19
+ };
@@ -0,0 +1,105 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
3
+ import { readFileSync, existsSync, mkdirSync } from "node:fs";
4
+ import { defaults } from "./defaults.js";
5
+ import type { AppConfig } from "./defaults.js";
6
+
7
+ // ── Credential config types (NFR6, NFR9) ────────────────────────────────────
8
+
9
+ export interface GlobalConfig {
10
+ llm_api_key: string;
11
+ llm_provider?: string;
12
+ [key: string]: unknown;
13
+ }
14
+
15
+ export interface ProjectConfig {
16
+ site_url: string;
17
+ api_key: string;
18
+ api_secret: string;
19
+ [key: string]: unknown;
20
+ }
21
+
22
+ export interface CredentialConfig {
23
+ global: GlobalConfig;
24
+ project: ProjectConfig;
25
+ sessionLogDir: string;
26
+ }
27
+
28
+ /** Always ~/.frappe-builder/sessions/ — never the project directory (NFR9). */
29
+ export const SESSION_LOG_DIR = join(homedir(), ".frappe-builder", "sessions");
30
+
31
+ const GITIGNORE_ERROR =
32
+ "Site credentials file is not gitignored. Add .frappe-builder-config.json to .gitignore before proceeding.";
33
+
34
+ /**
35
+ * Validates that {projectRoot}/.gitignore lists .frappe-builder-config.json.
36
+ * Throws with the exact AC error message if missing or absent.
37
+ */
38
+ export function validateGitignore(projectRoot: string): void {
39
+ const gitignorePath = join(projectRoot, ".gitignore");
40
+ if (!existsSync(gitignorePath)) {
41
+ throw new Error(GITIGNORE_ERROR);
42
+ }
43
+ const contents = readFileSync(gitignorePath, "utf8");
44
+ const lines = contents.split("\n").map((l) => l.trim());
45
+ if (!lines.includes(".frappe-builder-config.json")) {
46
+ throw new Error(GITIGNORE_ERROR);
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Reads LLM API keys from ~/.frappe-builder/config.json (user-global, never project).
52
+ * Creates ~/.frappe-builder/ on first run. Returns empty defaults if file absent.
53
+ */
54
+ export function loadGlobalConfig(): GlobalConfig {
55
+ const configDir = join(homedir(), ".frappe-builder");
56
+ mkdirSync(configDir, { recursive: true });
57
+ const configPath = join(configDir, "config.json");
58
+ if (!existsSync(configPath)) return { llm_api_key: "" };
59
+ try {
60
+ return JSON.parse(readFileSync(configPath, "utf8")) as GlobalConfig;
61
+ } catch {
62
+ return { llm_api_key: "" };
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Reads Frappe site credentials from {projectRoot}/.frappe-builder-config.json.
68
+ * Returns empty defaults if file absent (caller should surface a warning).
69
+ */
70
+ export function loadProjectConfig(projectRoot: string): ProjectConfig {
71
+ const configPath = join(projectRoot, ".frappe-builder-config.json");
72
+ if (!existsSync(configPath)) return { site_url: "", api_key: "", api_secret: "" };
73
+ try {
74
+ return JSON.parse(readFileSync(configPath, "utf8")) as ProjectConfig;
75
+ } catch {
76
+ return { site_url: "", api_key: "", api_secret: "" };
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Full credential loader: validates gitignore, loads global + project configs.
82
+ * Throws if .frappe-builder-config.json is not gitignored.
83
+ * API keys are only ever read from ~/.frappe-builder/ — never from projectRoot.
84
+ */
85
+ export function loadCredentials(projectRoot: string): CredentialConfig {
86
+ validateGitignore(projectRoot);
87
+ const global = loadGlobalConfig();
88
+ const project = loadProjectConfig(projectRoot);
89
+ return { global, project, sessionLogDir: SESSION_LOG_DIR };
90
+ }
91
+
92
+ /**
93
+ * Loads ~/.frappe-builder/config.json and merges with defaults.
94
+ * Never throws — returns defaults on any read/parse failure.
95
+ */
96
+ export function loadConfig(): AppConfig {
97
+ const configPath = join(homedir(), ".frappe-builder", "config.json");
98
+ if (!existsSync(configPath)) return { ...defaults };
99
+ try {
100
+ const raw = JSON.parse(readFileSync(configPath, "utf-8")) as Partial<AppConfig>;
101
+ return { ...defaults, ...raw };
102
+ } catch {
103
+ return { ...defaults };
104
+ }
105
+ }
@@ -0,0 +1,160 @@
1
+ /**
2
+ * extensions/frappe-gates.ts — Quality Gate Orchestrator (Story 6.1)
3
+ *
4
+ * Intercepts Write/Edit/NotebookEdit tool calls and runs all gates in gates/
5
+ * sequentially before the file write executes. Blocks on first failure.
6
+ *
7
+ * Extension load order (beforeToolCall chain):
8
+ * 1. frappe-ui.ts → announces "→ Calling {tool} [{phase}]"
9
+ * 2. frappe-workflow.ts → FSM phase guard (may block out-of-phase calls)
10
+ * 3. frappe-gates.ts → quality gate scan (this file — may block bad code)
11
+ * 4. [tool executes]
12
+ */
13
+ import { getCurrentPhase, db } from "../state/db.js";
14
+ import { appendEntry } from "../state/journal.js";
15
+ import { checkFrappeNative } from "../gates/frappe-native-check.js";
16
+ import type { GateFn, GateContext, GateResult } from "../gates/types.js";
17
+
18
+ // Adapt frappe-native-check's custom result type to the standard GateResult
19
+ function nativeAdapter(code: string, _context: GateContext): GateResult {
20
+ const r = checkFrappeNative(code);
21
+ if (r.passed) return { passed: true };
22
+ return {
23
+ passed: false,
24
+ violations: [
25
+ {
26
+ reason: (r as { message: string }).message,
27
+ detectedPatterns: (r as { detectedPatterns: string[] }).detectedPatterns,
28
+ },
29
+ ],
30
+ };
31
+ }
32
+
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ type AnyModule = Record<string, any>;
35
+
36
+ function tryLoadGate(mod: AnyModule, exportName: string, gateName: string): { name: string; fn: GateFn } | null {
37
+ const fn = mod[exportName];
38
+ if (typeof fn === "function") return { name: gateName, fn: fn as GateFn };
39
+ console.warn(`[GATE WARNING: ${gateName} gate not yet implemented — skipping]`);
40
+ return null;
41
+ }
42
+
43
+ import * as permCheckMod from "../gates/permission-check.js";
44
+ import * as queryCheckMod from "../gates/query-check.js";
45
+ import * as serverCheckMod from "../gates/server-side-check.js";
46
+ import * as coverageCheckMod from "../gates/coverage-check.js";
47
+ import * as styleCheckMod from "../gates/style-check.js";
48
+
49
+ // Gate registry — frappe_native always present (Story 4.5); others optional until 6.2–6.6
50
+ const GATE_REGISTRY: Array<{ name: string; fn: GateFn }> = [
51
+ { name: "frappe_native", fn: nativeAdapter },
52
+ ];
53
+
54
+ for (const [mod, exportName, gateName] of [
55
+ [permCheckMod, "permissionCheck", "permission_check"],
56
+ [queryCheckMod, "queryCheck", "query_check"],
57
+ [serverCheckMod, "serverSideCheck", "server_side_check"],
58
+ [coverageCheckMod, "coverageCheck", "coverage_check"],
59
+ [styleCheckMod, "styleCheck", "style_check"],
60
+ ] as [AnyModule, string, string][]) {
61
+ const entry = tryLoadGate(mod, exportName, gateName);
62
+ if (entry) GATE_REGISTRY.push(entry);
63
+ }
64
+
65
+ export const FILE_WRITE_TOOLS = new Set(["Write", "Edit", "NotebookEdit"]);
66
+
67
+ export interface BlockedGateResponse {
68
+ blocked: true;
69
+ tool: string;
70
+ gate: string;
71
+ file: string;
72
+ violations: Array<{ line?: number; reason: string; [key: string]: unknown }>;
73
+ message: string;
74
+ }
75
+
76
+ function getActiveSessionId(): string {
77
+ try {
78
+ const row = db
79
+ .prepare("SELECT session_id FROM sessions WHERE is_active = 1 LIMIT 1")
80
+ .get() as { session_id: string } | undefined;
81
+ return row?.session_id ?? "unknown";
82
+ } catch {
83
+ return "unknown";
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Runs all registered gates against the code being written. Returns a block
89
+ * response on the first gate failure, or undefined to allow the write.
90
+ * Exported for unit testing.
91
+ */
92
+ export function runGates(
93
+ toolName: string,
94
+ args: Record<string, unknown>
95
+ ): BlockedGateResponse | undefined {
96
+ if (!FILE_WRITE_TOOLS.has(toolName)) return undefined;
97
+
98
+ const file = (args.file_path ?? args.notebook_path ?? args.path ?? "") as string;
99
+ const code = (args.content ?? args.new_string ?? "") as string;
100
+
101
+ let phase = "idle";
102
+ try { phase = getCurrentPhase(); } catch { /* swallow */ }
103
+
104
+ const sessionId = getActiveSessionId();
105
+ const context: GateContext = { file, phase, sessionId };
106
+
107
+ for (const gate of GATE_REGISTRY) {
108
+ let result: GateResult;
109
+
110
+ try {
111
+ result = gate.fn(code, context);
112
+ if (typeof result !== "object" || result === null || !("passed" in result)) {
113
+ console.warn(`[GATE WARNING: ${gate.name} returned unexpected shape]`);
114
+ appendEntry({
115
+ ts: new Date().toISOString(),
116
+ sessionId,
117
+ type: "quality_gate",
118
+ payload: { gate: gate.name, result: "error", file, error: "unexpected result shape" },
119
+ });
120
+ continue;
121
+ }
122
+ } catch (err) {
123
+ appendEntry({
124
+ ts: new Date().toISOString(),
125
+ sessionId,
126
+ type: "quality_gate",
127
+ payload: { gate: gate.name, result: "error", file, error: String(err) },
128
+ });
129
+ continue;
130
+ }
131
+
132
+ appendEntry({
133
+ ts: new Date().toISOString(),
134
+ sessionId,
135
+ type: "quality_gate",
136
+ payload: { gate: gate.name, result: result.passed ? "pass" : "blocked", file },
137
+ });
138
+
139
+ if (!result.passed) {
140
+ const violations = result.violations;
141
+ return {
142
+ blocked: true,
143
+ tool: toolName,
144
+ gate: gate.name,
145
+ file,
146
+ violations,
147
+ message: `${gate.name} gate blocked write to ${file}: ${violations[0]?.reason ?? "violation"}`,
148
+ };
149
+ }
150
+ }
151
+
152
+ return undefined;
153
+ }
154
+
155
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
156
+ export default function (pi: any) {
157
+ pi.on("tool_call", (event: { toolName?: string; input?: Record<string, unknown> }) => {
158
+ return runGates(event.toolName ?? "", event.input ?? {});
159
+ });
160
+ }