bmad-method 6.0.4 → 6.0.5-next.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 (252) hide show
  1. package/.augment/code_review_guidelines.yaml +2 -42
  2. package/.claude/skills/bmad-os-findings-triage/SKILL.md +6 -0
  3. package/.claude/skills/bmad-os-findings-triage/prompts/agent-prompt.md +104 -0
  4. package/.claude/skills/bmad-os-findings-triage/prompts/instructions.md +286 -0
  5. package/.claude/skills/bmad-os-review-pr/SKILL.md +1 -1
  6. package/.claude/skills/bmad-os-review-pr/prompts/instructions.md +63 -6
  7. package/.claude/skills/bmad-os-review-prompt/SKILL.md +177 -0
  8. package/.github/workflows/publish.yaml +243 -0
  9. package/CONTRIBUTING.md +1 -1
  10. package/README_CN.md +121 -0
  11. package/docs/_STYLE_GUIDE.md +10 -10
  12. package/docs/explanation/brainstorming.md +1 -1
  13. package/docs/explanation/party-mode.md +1 -1
  14. package/docs/explanation/preventing-agent-conflicts.md +1 -1
  15. package/docs/explanation/project-context.md +15 -15
  16. package/docs/explanation/quick-flow.md +9 -9
  17. package/docs/how-to/established-projects.md +7 -7
  18. package/docs/how-to/get-answers-about-bmad.md +2 -2
  19. package/docs/how-to/install-bmad.md +16 -6
  20. package/docs/how-to/project-context.md +2 -2
  21. package/docs/how-to/quick-fixes.md +5 -5
  22. package/docs/how-to/shard-large-documents.md +1 -1
  23. package/docs/how-to/upgrade-to-v6.md +8 -5
  24. package/docs/index.md +1 -1
  25. package/docs/reference/agents.md +14 -14
  26. package/docs/reference/commands.md +64 -70
  27. package/docs/reference/testing.md +1 -1
  28. package/docs/reference/workflow-map.md +19 -19
  29. package/docs/tutorials/getting-started.md +34 -34
  30. package/docs/zh-cn/404.md +9 -0
  31. package/docs/zh-cn/_STYLE_GUIDE.md +370 -0
  32. package/docs/zh-cn/explanation/advanced-elicitation.md +62 -0
  33. package/docs/zh-cn/explanation/adversarial-review.md +71 -0
  34. package/docs/zh-cn/explanation/brainstorming.md +43 -0
  35. package/docs/zh-cn/explanation/established-projects-faq.md +60 -0
  36. package/docs/zh-cn/explanation/party-mode.md +79 -0
  37. package/docs/zh-cn/explanation/preventing-agent-conflicts.md +137 -0
  38. package/docs/zh-cn/explanation/project-context.md +176 -0
  39. package/docs/zh-cn/explanation/quick-flow.md +93 -0
  40. package/docs/zh-cn/explanation/why-solutioning-matters.md +90 -0
  41. package/docs/zh-cn/how-to/customize-bmad.md +182 -0
  42. package/docs/zh-cn/how-to/established-projects.md +134 -0
  43. package/docs/zh-cn/how-to/get-answers-about-bmad.md +144 -0
  44. package/docs/zh-cn/how-to/install-bmad.md +105 -0
  45. package/docs/zh-cn/how-to/non-interactive-installation.md +181 -0
  46. package/docs/zh-cn/how-to/project-context.md +152 -0
  47. package/docs/zh-cn/how-to/quick-fixes.md +140 -0
  48. package/docs/zh-cn/how-to/shard-large-documents.md +86 -0
  49. package/docs/zh-cn/how-to/upgrade-to-v6.md +120 -0
  50. package/docs/zh-cn/index.md +69 -0
  51. package/docs/zh-cn/reference/agents.md +41 -0
  52. package/docs/zh-cn/reference/commands.md +166 -0
  53. package/docs/zh-cn/reference/modules.md +94 -0
  54. package/docs/zh-cn/reference/testing.md +122 -0
  55. package/docs/zh-cn/reference/workflow-map.md +104 -0
  56. package/docs/zh-cn/roadmap.mdx +152 -0
  57. package/docs/zh-cn/tutorials/getting-started.md +300 -0
  58. package/package.json +1 -1
  59. package/src/bmm/agents/analyst.agent.yaml +1 -1
  60. package/src/bmm/agents/bmad-skill-manifest.yaml +39 -0
  61. package/src/bmm/agents/dev.agent.yaml +2 -2
  62. package/src/bmm/agents/pm.agent.yaml +1 -1
  63. package/src/bmm/agents/qa.agent.yaml +1 -1
  64. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +6 -2
  65. package/src/bmm/agents/sm.agent.yaml +4 -4
  66. package/src/bmm/agents/tech-writer/bmad-skill-manifest.yaml +3 -0
  67. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +1 -1
  68. package/src/bmm/module-help.csv +11 -10
  69. package/src/bmm/workflows/1-analysis/create-product-brief/bmad-skill-manifest.yaml +3 -0
  70. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -1
  71. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -1
  72. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -1
  73. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -1
  74. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +1 -1
  75. package/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml +14 -0
  76. package/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml +14 -0
  77. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +1 -1
  78. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +1 -1
  79. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +1 -1
  80. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +1 -1
  81. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +1 -1
  82. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +1 -1
  83. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +1 -1
  84. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +1 -1
  85. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +1 -1
  86. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +1 -1
  87. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +1 -1
  88. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +1 -1
  89. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +1 -1
  90. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +1 -1
  91. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +1 -1
  92. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +1 -1
  93. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +1 -1
  94. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +1 -1
  95. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
  96. package/src/bmm/workflows/2-plan-workflows/create-ux-design/bmad-skill-manifest.yaml +3 -0
  97. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +1 -1
  98. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +2 -2
  99. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +2 -2
  100. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +2 -2
  101. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +2 -2
  102. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +2 -2
  103. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +2 -2
  104. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +2 -2
  105. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +2 -2
  106. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +2 -2
  107. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +2 -2
  108. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +2 -2
  109. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -1
  110. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml +3 -0
  111. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
  112. package/src/bmm/workflows/3-solutioning/create-architecture/bmad-skill-manifest.yaml +3 -0
  113. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +2 -2
  114. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +2 -2
  115. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +2 -2
  116. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +2 -2
  117. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +2 -2
  118. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +2 -2
  119. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +1 -1
  120. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml +3 -0
  121. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +1 -1
  122. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +1 -1
  123. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +1 -1
  124. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +2 -2
  125. package/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml +3 -0
  126. package/src/bmm/workflows/4-implementation/code-review/discover-inputs.md +88 -0
  127. package/src/bmm/workflows/4-implementation/code-review/workflow.md +271 -0
  128. package/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml +3 -0
  129. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  130. package/src/bmm/workflows/4-implementation/correct-course/{instructions.md → workflow.md} +79 -12
  131. package/src/bmm/workflows/4-implementation/create-story/bmad-skill-manifest.yaml +3 -0
  132. package/src/bmm/workflows/4-implementation/create-story/checklist.md +9 -10
  133. package/src/bmm/workflows/4-implementation/create-story/discover-inputs.md +88 -0
  134. package/src/bmm/workflows/4-implementation/create-story/workflow.md +388 -0
  135. package/src/bmm/workflows/4-implementation/dev-story/bmad-skill-manifest.yaml +3 -0
  136. package/src/bmm/workflows/4-implementation/dev-story/{instructions.xml → workflow.md} +49 -2
  137. package/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml +3 -0
  138. package/src/bmm/workflows/4-implementation/retrospective/{instructions.md → workflow.md} +64 -23
  139. package/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml +3 -0
  140. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -0
  141. package/src/bmm/workflows/4-implementation/sprint-planning/{instructions.md → workflow.md} +55 -10
  142. package/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml +3 -0
  143. package/src/bmm/workflows/4-implementation/sprint-status/{instructions.md → workflow.md} +45 -8
  144. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +6 -0
  145. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -0
  146. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +54 -0
  147. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +39 -0
  148. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +35 -0
  149. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +55 -0
  150. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +19 -0
  151. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md +90 -0
  152. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +84 -0
  153. package/src/bmm/workflows/bmad-quick-flow/quick-dev/bmad-skill-manifest.yaml +3 -0
  154. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +8 -14
  155. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
  156. package/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml +3 -0
  157. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +4 -6
  158. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
  159. package/src/bmm/workflows/document-project/bmad-skill-manifest.yaml +3 -0
  160. package/src/bmm/workflows/document-project/instructions.md +5 -7
  161. package/src/bmm/workflows/document-project/workflow.md +39 -0
  162. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -1
  163. package/src/bmm/workflows/document-project/workflows/deep-dive-workflow.md +42 -0
  164. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1
  165. package/src/bmm/workflows/document-project/workflows/full-scan-workflow.md +42 -0
  166. package/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml +3 -0
  167. package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +2 -2
  168. package/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml +3 -0
  169. package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +1 -1
  170. package/src/bmm/workflows/qa-generate-e2e-tests/{instructions.md → workflow.md} +40 -7
  171. package/src/core/agents/bmad-master.agent.yaml +1 -1
  172. package/src/core/agents/bmad-skill-manifest.yaml +3 -0
  173. package/src/core/module-help.csv +3 -3
  174. package/src/core/module.yaml +1 -1
  175. package/src/core/tasks/bmad-help/SKILL.md +6 -0
  176. package/src/core/tasks/bmad-help/bmad-skill-manifest.yaml +1 -0
  177. package/src/core/tasks/{help.md → bmad-help/workflow.md} +6 -4
  178. package/src/core/tasks/bmad-review-adversarial-general/SKILL.md +6 -0
  179. package/src/core/tasks/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
  180. package/src/core/tasks/bmad-review-adversarial-general/workflow.md +32 -0
  181. package/src/core/tasks/bmad-review-edge-case-hunter/SKILL.md +6 -0
  182. package/src/core/tasks/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
  183. package/src/core/tasks/bmad-review-edge-case-hunter/workflow.md +62 -0
  184. package/src/core/tasks/bmad-skill-manifest.yaml +19 -0
  185. package/src/core/workflows/advanced-elicitation/bmad-skill-manifest.yaml +3 -0
  186. package/src/core/workflows/advanced-elicitation/workflow.md +138 -0
  187. package/src/core/workflows/brainstorming/bmad-skill-manifest.yaml +3 -0
  188. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +1 -1
  189. package/src/core/workflows/brainstorming/workflow.md +1 -1
  190. package/src/core/workflows/party-mode/bmad-skill-manifest.yaml +3 -0
  191. package/src/utility/agent-components/activation-steps.txt +2 -2
  192. package/src/utility/agent-components/handler-multi.txt +1 -2
  193. package/test/adversarial-review-tests/README.md +3 -3
  194. package/test/adversarial-review-tests/test-cases.yaml +2 -2
  195. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -1
  196. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -1
  197. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -2
  198. package/test/fixtures/file-refs-csv/valid/bmm-style.csv +1 -1
  199. package/test/test-file-refs-csv.js +1 -1
  200. package/test/test-install-to-bmad.js +154 -0
  201. package/test/test-installation-components.js +1586 -2
  202. package/test/test-workflow-path-regex.js +88 -0
  203. package/tools/cli/installers/lib/core/installer.js +34 -1
  204. package/tools/cli/installers/lib/core/manifest-generator.js +328 -35
  205. package/tools/cli/installers/lib/ide/_base-ide.js +24 -15
  206. package/tools/cli/installers/lib/ide/_config-driven.js +472 -53
  207. package/tools/cli/installers/lib/ide/manager.js +23 -61
  208. package/tools/cli/installers/lib/ide/platform-codes.yaml +108 -30
  209. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +1 -0
  210. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +7 -0
  211. package/tools/cli/installers/lib/ide/shared/path-utils.js +68 -3
  212. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +90 -0
  213. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +2 -0
  214. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +6 -145
  215. package/tools/cli/installers/lib/modules/manager.js +9 -132
  216. package/tools/cli/lib/agent/compiler.js +1 -10
  217. package/tools/cli/lib/agent-analyzer.js +2 -14
  218. package/tools/cli/lib/yaml-xml-builder.js +1 -18
  219. package/tools/docs/native-skills-migration-checklist.md +281 -0
  220. package/tools/platform-codes.yaml +1 -1
  221. package/tools/schema/agent.js +1 -3
  222. package/tools/validate-file-refs.js +2 -0
  223. package/website/astro.config.mjs +24 -3
  224. package/website/src/content/config.ts +2 -1
  225. package/website/src/content/i18n/zh-CN.json +28 -0
  226. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
  227. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -43
  228. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -53
  229. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +0 -346
  230. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -52
  231. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -20
  232. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -52
  233. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -47
  234. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -25
  235. package/src/bmm/workflows/document-project/workflow.yaml +0 -22
  236. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  237. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  238. package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +0 -42
  239. package/src/core/tasks/review-adversarial-general.xml +0 -49
  240. package/src/core/tasks/review-edge-case-hunter.xml +0 -63
  241. package/src/core/tasks/workflow.xml +0 -235
  242. package/src/core/workflows/advanced-elicitation/workflow.xml +0 -118
  243. package/src/utility/agent-components/handler-validate-workflow.txt +0 -7
  244. package/src/utility/agent-components/handler-workflow.txt +0 -10
  245. package/tools/cli/installers/lib/ide/codex.js +0 -440
  246. package/tools/cli/installers/lib/ide/github-copilot.js +0 -699
  247. package/tools/cli/installers/lib/ide/kilo.js +0 -269
  248. package/tools/cli/installers/lib/ide/rovodev.js +0 -257
  249. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +0 -14
  250. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +0 -15
  251. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +0 -13
  252. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +0 -5
@@ -0,0 +1,62 @@
1
+ ---
2
+ title: "高级启发"
3
+ description: 使用结构化推理方法推动 LLM 重新思考其工作
4
+ sidebar:
5
+ order: 6
6
+ ---
7
+
8
+ 让 LLM 重新审视它刚刚生成的内容。你选择一种推理方法,它将该方法应用于自己的输出,然后你决定是否保留改进。
9
+
10
+ ## 什么是高级启发?
11
+
12
+ 结构化的第二轮处理。与其要求 AI "再试一次" 或 "做得更好",不如选择一种特定的推理方法,让 AI 通过该视角重新审视自己的输出。
13
+
14
+ 这种区别很重要。模糊的请求会产生模糊的修订。命名的方法会强制采用特定的攻击角度,揭示出通用重试会遗漏的见解。
15
+
16
+ ## 何时使用
17
+
18
+ - 在工作流生成内容后,你想要替代方案
19
+ - 当输出看起来还可以,但你怀疑还有更深层次的内容
20
+ - 对假设进行压力测试或发现弱点
21
+ - 对于重新思考有帮助的高风险内容
22
+
23
+ 工作流在决策点提供高级启发——在 LLM 生成某些内容后,系统会询问你是否要运行它。
24
+
25
+ ## 工作原理
26
+
27
+ 1. LLM 为你的内容建议 5 种相关方法
28
+ 2. 你选择一种(或重新洗牌以获取不同选项)
29
+ 3. 应用方法,显示改进
30
+ 4. 接受或丢弃,重复或继续
31
+
32
+ ## 内置方法
33
+
34
+ 有数十种推理方法可用。几个示例:
35
+
36
+ - **事前复盘** - 假设项目已经失败,反向推导找出原因
37
+ - **第一性原理思维** - 剥离假设,从基本事实重建
38
+ - **逆向思维** - 询问如何保证失败,然后避免这些事情
39
+ - **红队对蓝队** - 攻击你自己的工作,然后为它辩护
40
+ - **苏格拉底式提问** - 用"为什么?"和"你怎么知道?"挑战每个主张
41
+ - **约束移除** - 放下所有约束,看看有什么变化,然后有选择地加回
42
+ - **利益相关者映射** - 从每个利益相关者的角度重新评估
43
+ - **类比推理** - 在其他领域找到平行案例并应用其教训
44
+
45
+ 还有更多。AI 会为你的内容选择最相关的选项——你选择运行哪一个。
46
+
47
+ :::tip[从这里开始]
48
+ 对于任何规范或计划,事前复盘都是一个很好的首选。它始终能找到标准审查会遗漏的空白。
49
+ :::
50
+
51
+ ---
52
+ ## 术语说明
53
+
54
+ - **LLM**:大语言模型。一种基于深度学习的自然语言处理模型,能够理解和生成人类语言。
55
+ - **elicitation**:启发。在人工智能与提示工程中,指通过特定方法引导模型生成更高质量或更符合预期的输出。
56
+ - **pre-mortem analysis**:事前复盘。一种风险管理技术,假设项目已经失败,然后反向推导可能的原因,以提前识别和预防潜在问题。
57
+ - **first principles thinking**:第一性原理思维。一种将复杂问题分解为最基本事实或假设,然后从这些基本要素重新构建解决方案的思维方式。
58
+ - **inversion**:逆向思维。通过思考如何导致失败来避免失败,从而找到成功路径的思维方式。
59
+ - **red team vs blue team**:红队对蓝队。一种模拟对抗的方法,红队负责攻击和发现问题,蓝队负责防御和解决问题。
60
+ - **socratic questioning**:苏格拉底式提问。一种通过连续提问来揭示假设、澄清概念和深入思考的对话方法。
61
+ - **stakeholder mapping**:利益相关者映射。识别并分析项目中所有利益相关者及其利益、影响和关系的系统性方法。
62
+ - **analogical reasoning**:类比推理。通过将当前问题与已知相似领域的问题进行比较,从而借鉴解决方案或见解的推理方式。
@@ -0,0 +1,71 @@
1
+ ---
2
+ title: "对抗性评审"
3
+ description: 防止懒惰"看起来不错"评审的强制推理技术
4
+ sidebar:
5
+ order: 5
6
+ ---
7
+
8
+ 通过要求发现问题来强制进行更深入的分析。
9
+
10
+ ## 什么是对抗性评审?
11
+
12
+ 一种评审技术,评审者*必须*发现问题。不允许"看起来不错"。评审者采取怀疑态度——假设问题存在并找到它们。
13
+
14
+ 这不是为了消极。而是为了强制进行真正的分析,而不是对提交的内容进行草率浏览并盖章批准。
15
+
16
+ **核心规则:**你必须发现问题。零发现会触发停止——重新分析或解释原因。
17
+
18
+ ## 为什么有效
19
+
20
+ 普通评审容易受到确认偏差的影响。你浏览工作,没有发现突出的问题,就批准了它。"发现问题"的指令打破了这种模式:
21
+
22
+ - **强制彻底性**——在你足够努力地查看以发现问题之前,不能批准
23
+ - **捕捉遗漏**——"这里缺少什么?"成为一个自然的问题
24
+ - **提高信号质量**——发现是具体且可操作的,而不是模糊的担忧
25
+ - **信息不对称**——在新的上下文中运行评审(无法访问原始推理),以便你评估的是工件,而不是意图
26
+
27
+ ## 在哪里使用
28
+
29
+ 对抗性评审出现在 BMad 工作流程的各个地方——代码评审、实施就绪检查、规范验证等。有时它是必需步骤,有时是可选的(如高级启发或派对模式)。该模式适应任何需要审查的工件。
30
+
31
+ ## 需要人工过滤
32
+
33
+ 因为 AI 被*指示*要发现问题,它就会发现问题——即使问题不存在。预期会有误报:伪装成问题的吹毛求疵、对意图的误解,或完全幻觉化的担忧。
34
+
35
+ **你决定什么是真实的。**审查每个发现,忽略噪音,修复重要的内容。
36
+
37
+ ## 示例
38
+
39
+ 而不是:
40
+
41
+ > "身份验证实现看起来合理。已批准。"
42
+
43
+ 对抗性评审产生:
44
+
45
+ > 1. **高** - `login.ts:47` - 失败尝试没有速率限制
46
+ > 2. **高** - 会话令牌存储在 localStorage 中(易受 XSS 攻击)
47
+ > 3. **中** - 密码验证仅在客户端进行
48
+ > 4. **中** - 失败登录尝试没有审计日志
49
+ > 5. **低** - 魔法数字 `3600` 应该是 `SESSION_TIMEOUT_SECONDS`
50
+
51
+ 第一个评审可能会遗漏安全漏洞。第二个发现了四个。
52
+
53
+ ## 迭代和收益递减
54
+
55
+ 在处理发现后,考虑再次运行。第二轮通常会捕获更多。第三轮也不总是无用的。但每一轮都需要时间,最终你会遇到收益递减——只是吹毛求疵和虚假发现。
56
+
57
+ :::tip[更好的评审]
58
+ 假设问题存在。寻找缺失的内容,而不仅仅是错误的内容。
59
+ :::
60
+
61
+ ---
62
+ ## 术语说明
63
+
64
+ - **adversarial review**:对抗性评审。一种强制评审者必须发现问题的评审技术,旨在防止草率批准。
65
+ - **confirmation bias**:确认偏差。倾向于寻找、解释和记忆符合自己已有信念的信息的心理倾向。
66
+ - **information asymmetry**:信息不对称。交易或评审中一方拥有比另一方更多或更好信息的情况。
67
+ - **false positives**:误报。错误地将不存在的问题识别为存在的问题。
68
+ - **diminishing returns**:收益递减。在投入持续增加的情况下,产出增长逐渐减少的现象。
69
+ - **XSS**:跨站脚本攻击(Cross-Site Scripting)。一种安全漏洞,攻击者可在网页中注入恶意脚本。
70
+ - **localStorage**:本地存储。浏览器提供的 Web Storage API,用于在客户端存储键值对数据。
71
+ - **magic number**:魔法数字。代码中直接出现的未命名数值常量,缺乏语义含义。
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: "头脑风暴"
3
+ description: 使用 60+ 种经过验证的构思技术进行互动创意会议
4
+ sidebar:
5
+ order: 2
6
+ ---
7
+
8
+ 通过引导式探索释放你的创造力。
9
+
10
+ ## 什么是头脑风暴?
11
+
12
+ 运行 `brainstorming`,你就拥有了一位创意引导者,帮助你从自身挖掘想法——而不是替你生成想法。AI 充当教练和向导,使用经过验证的技术,创造让你最佳思维涌现的条件。
13
+
14
+ **适用于:**
15
+
16
+ - 突破创意瓶颈
17
+ - 生成产品或功能想法
18
+ - 从新角度探索问题
19
+ - 将原始概念发展为行动计划
20
+
21
+ ## 工作原理
22
+
23
+ 1. **设置** - 定义主题、目标、约束
24
+ 2. **选择方法** - 自己选择技术、获取 AI 推荐、随机选择或遵循渐进式流程
25
+ 3. **引导** - 通过探索性问题和协作式教练引导完成技术
26
+ 4. **组织** - 将想法按主题分组并确定优先级
27
+ 5. **行动** - 为顶级想法制定下一步和成功指标
28
+
29
+ 所有内容都会被记录在会议文档中,你可以稍后参考或与利益相关者分享。
30
+
31
+ :::note[你的想法]
32
+ 每个想法都来自你。工作流程创造洞察的条件——你是源头。
33
+ :::
34
+
35
+ ---
36
+ ## 术语说明
37
+
38
+ - **brainstorming**:头脑风暴。一种集体或个人的创意生成方法,通过自由联想和发散思维产生大量想法。
39
+ - **ideation**:构思。产生想法、概念或解决方案的过程。
40
+ - **facilitator**:引导者。在会议或工作坊中引导讨论、促进参与并帮助达成目标的人。
41
+ - **creative blocks**:创意瓶颈。在创意过程中遇到的思维停滞或灵感枯竭状态。
42
+ - **probing questions**:探索性问题。旨在深入挖掘信息、激发思考或揭示潜在见解的问题。
43
+ - **stakeholders**:利益相关者。对项目或决策有利益关系或受其影响的个人或群体。
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: "既有项目常见问题"
3
+ description: 关于在既有项目上使用 BMad 方法的常见问题
4
+ sidebar:
5
+ order: 8
6
+ ---
7
+ 关于使用 BMad 方法(BMM)在既有项目上工作的常见问题的快速解答。
8
+
9
+ ## 问题
10
+
11
+ - [我必须先运行 document-project 吗?](#do-i-have-to-run-document-project-first)
12
+ - [如果我忘记运行 document-project 怎么办?](#what-if-i-forget-to-run-document-project)
13
+ - [我可以在既有项目上使用快速流程吗?](#can-i-use-quick-flow-for-established-projects)
14
+ - [如果我的现有代码不遵循最佳实践怎么办?](#what-if-my-existing-code-doesnt-follow-best-practices)
15
+
16
+ ### 我必须先运行 document-project 吗?
17
+
18
+ 强烈推荐,特别是如果:
19
+
20
+ - 没有现有文档
21
+ - 文档已过时
22
+ - AI 智能体需要关于现有代码的上下文
23
+
24
+ 如果你拥有全面且最新的文档,包括 `docs/index.md`,或者将使用其他工具或技术来帮助智能体发现现有系统,则可以跳过此步骤。
25
+
26
+ ### 如果我忘记运行 document-project 怎么办?
27
+
28
+ 不用担心——你可以随时执行。你甚至可以在项目期间或项目之后执行,以帮助保持文档最新。
29
+
30
+ ### 我可以在既有项目上使用快速流程吗?
31
+
32
+ 可以!快速流程在既有项目上效果很好。它将:
33
+
34
+ - 自动检测你的现有技术栈
35
+ - 分析现有代码模式
36
+ - 检测约定并请求确认
37
+ - 生成尊重现有代码的上下文丰富的技术规范
38
+
39
+ 非常适合现有代码库中的错误修复和小功能。
40
+
41
+ ### 如果我的现有代码不遵循最佳实践怎么办?
42
+
43
+ 快速流程会检测你的约定并询问:"我应该遵循这些现有约定吗?"你决定:
44
+
45
+ - **是** → 与当前代码库保持一致
46
+ - **否** → 建立新标准(在技术规范中记录原因)
47
+
48
+ BMM 尊重你的选择——它不会强制现代化,但会提供现代化选项。
49
+
50
+ **有未在此处回答的问题吗?** 请[提出问题](https://github.com/bmad-code-org/BMAD-METHOD/issues)或在 [Discord](https://discord.gg/gk8jAdXWmj) 中提问,以便我们添加它!
51
+
52
+ ---
53
+ ## 术语说明
54
+
55
+ - **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
56
+ - **Quick Flow**:快速流程。BMad 方法中的一种工作流程,用于快速处理既有项目。
57
+ - **tech-spec**:技术规范。描述技术实现细节和标准的文档。
58
+ - **stack**:技术栈。项目所使用的技术组合,包括框架、库、工具等。
59
+ - **conventions**:约定。代码库中遵循的编码风格、命名规则等规范。
60
+ - **modernization**:现代化。将旧代码或系统更新为更现代的技术和最佳实践的过程。
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "派对模式"
3
+ description: 多智能体协作——将所有 AI 智能体汇聚到一次对话中
4
+ sidebar:
5
+ order: 7
6
+ ---
7
+
8
+ 将所有 AI 智能体汇聚到一次对话中。
9
+
10
+ ## 什么是 Party Mode?
11
+
12
+ 运行 `party-mode`,你的整个 AI 团队就齐聚一堂——PM、架构师、开发者、UX 设计师,任何你需要的人。BMad Master 负责编排,根据每条消息选择相关的智能体。智能体以角色身份回应,彼此同意、反对,并在彼此的想法基础上继续构建。
13
+
14
+ 对话可以持续到你想要的时间。提出追问、对答案提出质疑、引导讨论方向——这是与智能体之间真正的来回交流,直到你完成目标。
15
+
16
+ **适用于:**
17
+
18
+ - 需要权衡的重大决策
19
+ - 头脑风暴会议
20
+ - 出现问题时的复盘
21
+ - 冲刺回顾与规划
22
+
23
+ ## 示例
24
+
25
+ ### 指出糟糕的架构
26
+
27
+ **You:** "好了团队,我们上个冲刺是一场灾难。认证服务宕机了三次。谁搞砸了这件事?"
28
+
29
+ **Architect:** "设计本身是合理的——分布式认证,有适当的回退机制。如果实现偏离了规范……"
30
+
31
+ **Dev:** "我完全按照架构文档执行的。规范没有考虑到并发会话失效的竞态条件。"
32
+
33
+ **PM:** "你们两个都忽略了更大的问题——我们没有在 PRD 中验证会话管理需求。这是我的错,没有发现这一点。"
34
+
35
+ **TEA:** "我也应该在集成测试中发现这一点。测试场景没有覆盖并发失效。"
36
+
37
+ ### 创意头脑风暴
38
+
39
+ **You:** "我们如何让入职体验变得神奇,而不是无聊?"
40
+
41
+ **UX Designer:** "从渐进式披露开始——在用户需要时揭示功能,而不是在教程中一次性展示所有内容。"
42
+
43
+ **Storyteller:** "如果入职是一个故事会怎样?每一步都揭示一个角色的旅程——用户就是英雄。"
44
+
45
+ **Game Designer:** "在此基础上——如果第一个'任务'实际上是解决一个真实的用户问题会怎样?他们通过做有价值的事情来学习。"
46
+
47
+ ### 技术决策
48
+
49
+ **You:** "MVP 用单体还是微服务?"
50
+
51
+ **Architect:** "从单体开始。微服务会增加你在 1000 用户时不需要的复杂性。"
52
+
53
+ **PM:** "同意。上市时间比理论上的可扩展性更重要。"
54
+
55
+ **Dev:** "单体,但要有清晰的模块边界。如果需要,我们以后可以提取服务。"
56
+
57
+ :::tip[Better Decisions]
58
+ 通过多元视角做出更好的决策。欢迎来到 party mode。
59
+ :::
60
+
61
+ ---
62
+ ## 术语说明
63
+
64
+ - **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
65
+ - **PM**:产品经理(Product Manager)。
66
+ - **Architect**:架构师。
67
+ - **Dev**:开发者(Developer)。
68
+ - **UX Designer**:用户体验设计师。
69
+ - **TEA**:测试工程师(Test Engineer/Automation)。
70
+ - **PRD**:产品需求文档(Product Requirements Document)。
71
+ - **MVP**:最小可行产品(Minimum Viable Product)。
72
+ - **monolith**:单体架构。一种将应用程序构建为单一、统一单元的架构风格。
73
+ - **microservices**:微服务。一种将应用程序构建为一组小型、独立服务的架构风格。
74
+ - **progressive disclosure**:渐进式披露。一种交互设计模式,仅在用户需要时显示信息或功能。
75
+ - **post-mortem**:复盘。对事件或项目进行事后分析,以了解发生了什么以及如何改进。
76
+ - **sprint**:冲刺。敏捷开发中的固定时间周期,通常为 1-4 周。
77
+ - **race condition**:竞态条件。当多个进程或线程同时访问和操作共享数据时,系统行为取决于执行顺序的一种情况。
78
+ - **fallback**:回退机制。当主要方法失败时使用的备用方案。
79
+ - **time to market**:上市时间。产品从概念到推向市场所需的时间。
@@ -0,0 +1,137 @@
1
+ ---
2
+ title: "防止智能体冲突"
3
+ description: 架构如何在多个智能体实现系统时防止冲突
4
+ sidebar:
5
+ order: 4
6
+ ---
7
+
8
+ 当多个 AI 智能体实现系统的不同部分时,它们可能会做出相互冲突的技术决策。架构文档通过建立共享标准来防止这种情况。
9
+
10
+ ## 常见冲突类型
11
+
12
+ ### API 风格冲突
13
+
14
+ 没有架构时:
15
+ - 智能体 A 使用 REST,路径为 `/users/{id}`
16
+ - 智能体 B 使用 GraphQL mutations
17
+ - 结果:API 模式不一致,消费者困惑
18
+
19
+ 有架构时:
20
+ - ADR 指定:"所有客户端-服务器通信使用 GraphQL"
21
+ - 所有智能体遵循相同的模式
22
+
23
+ ### 数据库设计冲突
24
+
25
+ 没有架构时:
26
+ - 智能体 A 使用 snake_case 列名
27
+ - 智能体 B 使用 camelCase 列名
28
+ - 结果:模式不一致,查询混乱
29
+
30
+ 有架构时:
31
+ - 标准文档指定命名约定
32
+ - 所有智能体遵循相同的模式
33
+
34
+ ### 状态管理冲突
35
+
36
+ 没有架构时:
37
+ - 智能体 A 使用 Redux 管理全局状态
38
+ - 智能体 B 使用 React Context
39
+ - 结果:多种状态管理方法,复杂度增加
40
+
41
+ 有架构时:
42
+ - ADR 指定状态管理方法
43
+ - 所有智能体一致实现
44
+
45
+ ## 架构如何防止冲突
46
+
47
+ ### 1. 通过 ADR 明确决策
48
+
49
+ 每个重要的技术选择都记录以下内容:
50
+ - 上下文(为什么这个决策很重要)
51
+ - 考虑的选项(有哪些替代方案)
52
+ - 决策(我们选择了什么)
53
+ - 理由(为什么选择它)
54
+ - 后果(接受的权衡)
55
+
56
+ ### 2. FR/NFR 特定指导
57
+
58
+ 架构将每个功能需求映射到技术方法:
59
+ - FR-001:用户管理 → GraphQL mutations
60
+ - FR-002:移动应用 → 优化查询
61
+
62
+ ### 3. 标准和约定
63
+
64
+ 明确记录以下内容:
65
+ - 目录结构
66
+ - 命名约定
67
+ - 代码组织
68
+ - 测试模式
69
+
70
+ ## 架构作为共享上下文
71
+
72
+ 将架构视为所有智能体在实现之前阅读的共享上下文:
73
+
74
+ ```text
75
+ PRD:"构建什么"
76
+
77
+ 架构:"如何构建"
78
+
79
+ 智能体 A 阅读架构 → 实现 Epic 1
80
+ 智能体 B 阅读架构 → 实现 Epic 2
81
+ 智能体 C 阅读架构 → 实现 Epic 3
82
+
83
+ 结果:一致的实现
84
+ ```
85
+
86
+ ## Key ADR Topics
87
+
88
+ 防止冲突的常见决策:
89
+
90
+ | Topic | Example Decision |
91
+ | ---------------- | -------------------------------------------- |
92
+ | API Style | GraphQL vs REST vs gRPC |
93
+ | Database | PostgreSQL vs MongoDB |
94
+ | Auth | JWT vs Sessions |
95
+ | State Management | Redux vs Context vs Zustand |
96
+ | Styling | CSS Modules vs Tailwind vs Styled Components |
97
+ | Testing | Jest + Playwright vs Vitest + Cypress |
98
+
99
+ ## 避免的反模式
100
+
101
+ :::caution[常见错误]
102
+ - **隐式决策** — "我们边做边确定 API 风格"会导致不一致
103
+ - **过度文档化** — 记录每个次要选择会导致分析瘫痪
104
+ - **过时架构** — 文档写一次后从不更新,导致智能体遵循过时的模式
105
+ :::
106
+
107
+ :::tip[正确方法]
108
+ - 记录跨越 epic 边界的决策
109
+ - 专注于容易产生冲突的领域
110
+ - 随着学习更新架构
111
+ - 对重大变更使用 `correct-course`
112
+ :::
113
+
114
+ ---
115
+ ## 术语说明
116
+
117
+ - **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
118
+ - **ADR**:架构决策记录(Architecture Decision Record)。用于记录重要架构决策及其背景、选项和后果的文档。
119
+ - **FR**:功能需求(Functional Requirement)。系统必须具备的功能或行为。
120
+ - **NFR**:非功能需求(Non-Functional Requirement)。系统性能、安全性、可扩展性等质量属性。
121
+ - **Epic**:史诗。大型功能或用户故事的集合,通常需要多个迭代完成。
122
+ - **snake_case**:蛇形命名法。单词之间用下划线连接,所有字母小写的命名风格。
123
+ - **camelCase**:驼峰命名法。除第一个单词外,每个单词首字母大写的命名风格。
124
+ - **GraphQL mutations**:GraphQL 变更操作。用于修改服务器数据的 GraphQL 操作类型。
125
+ - **Redux**:JavaScript 状态管理库。用于管理应用全局状态的可预测状态容器。
126
+ - **React Context**:React 上下文 API。用于在组件树中传递数据而无需逐层传递 props。
127
+ - **Zustand**:轻量级状态管理库。用于 React 应用的简单状态管理解决方案。
128
+ - **CSS Modules**:CSS 模块。将 CSS 作用域限制在组件内的技术。
129
+ - **Tailwind**:Tailwind CSS。实用优先的 CSS 框架。
130
+ - **Styled Components**:样式化组件。使用 JavaScript 编写样式的 React 库。
131
+ - **Jest**:JavaScript 测试框架。用于编写和运行测试的工具。
132
+ - **Playwright**:端到端测试框架。用于自动化浏览器测试的工具。
133
+ - **Vitest**:Vite 原生测试框架。快速且轻量的单元测试工具。
134
+ - **Cypress**:端到端测试框架。用于 Web 应用测试的工具。
135
+ - **gRPC**:远程过程调用框架。Google 开发的高性能 RPC 框架。
136
+ - **JWT**:JSON Web Token。用于身份验证的开放标准令牌。
137
+ - **PRD**:产品需求文档(Product Requirements Document)。描述产品功能、需求和目标的文档。
@@ -0,0 +1,176 @@
1
+ ---
2
+ title: "项目上下文"
3
+ description: project-context.md 如何使用项目的规则和偏好指导 AI 智能体
4
+ sidebar:
5
+ order: 7
6
+ ---
7
+
8
+ [`project-context.md`](project-context.md) 文件是您的项目面向 AI 智能体的实施指南。类似于其他开发系统中的"宪法",它记录了确保所有工作流中代码生成一致的规则、模式和偏好。
9
+
10
+ ## 它的作用
11
+
12
+ AI 智能体不断做出实施决策——遵循哪些模式、如何组织代码、使用哪些约定。如果没有明确指导,它们可能会:
13
+ - 遵循与您的代码库不匹配的通用最佳实践
14
+ - 在不同的用户故事中做出不一致的决策
15
+ - 错过项目特定的需求或约束
16
+
17
+ [`project-context.md`](project-context.md) 文件通过以简洁、针对 LLM 优化的格式记录智能体需要了解的内容来解决这个问题。
18
+
19
+ ## 它的工作原理
20
+
21
+ 每个实施工作流都会自动加载 [`project-context.md`](project-context.md)(如果存在)。架构师工作流也会加载它,以便在设计架构时尊重您的技术偏好。
22
+
23
+ **由以下工作流加载:**
24
+ - `create-architecture` — 在解决方案设计期间尊重技术偏好
25
+ - `create-story` — 使用项目模式指导用户故事创建
26
+ - `dev-story` — 指导实施决策
27
+ - `code-review` — 根据项目标准进行验证
28
+ - `quick-dev` — 在实施技术规范时应用模式
29
+ - `sprint-planning`、`retrospective`、`correct-course` — 提供项目范围的上下文
30
+
31
+ ## 何时创建
32
+
33
+ [`project-context.md`](project-context.md) 文件在项目的任何阶段都很有用:
34
+
35
+ | 场景 | 何时创建 | 目的 |
36
+ |----------|----------------|---------|
37
+ | **新项目,架构之前** | 手动,在 `create-architecture` 之前 | 记录您的技术偏好,以便架构师尊重它们 |
38
+ | **新项目,架构之后** | 通过 `generate-project-context` 或手动 | 捕获架构决策,供实施智能体使用 |
39
+ | **现有项目** | 通过 `generate-project-context` | 发现现有模式,以便智能体遵循既定约定 |
40
+ | **快速流程项目** | 在 `quick-dev` 之前或期间 | 确保快速实施尊重您的模式 |
41
+
42
+ :::tip[推荐]
43
+ 对于新项目,如果您有强烈的技术偏好,请在架构之前手动创建。否则,在架构之后生成它以捕获这些决策。
44
+ :::
45
+
46
+ ## 文件内容
47
+
48
+ 该文件有两个主要部分:
49
+
50
+ ### 技术栈与版本
51
+
52
+ 记录项目使用的框架、语言和工具及其具体版本:
53
+
54
+ ```markdown
55
+ ## Technology Stack & Versions
56
+
57
+ - Node.js 20.x, TypeScript 5.3, React 18.2
58
+ - State: Zustand (not Redux)
59
+ - Testing: Vitest, Playwright, MSW
60
+ - Styling: Tailwind CSS with custom design tokens
61
+ ```
62
+
63
+ ### 关键实施规则
64
+
65
+ 记录智能体可能忽略的模式和约定:
66
+
67
+ ```markdown
68
+ ## Critical Implementation Rules
69
+
70
+ **TypeScript Configuration:**
71
+ - Strict mode enabled — no `any` types without explicit approval
72
+ - Use `interface` for public APIs, `type` for unions/intersections
73
+
74
+ **Code Organization:**
75
+ - Components in `/src/components/` with co-located `.test.tsx`
76
+ - Utilities in `/src/lib/` for reusable pure functions
77
+ - API calls use the `apiClient` singleton — never fetch directly
78
+
79
+ **Testing Patterns:**
80
+ - Unit tests focus on business logic, not implementation details
81
+ - Integration tests use MSW to mock API responses
82
+ - E2E tests cover critical user journeys only
83
+
84
+ **Framework-Specific:**
85
+ - All async operations use the `handleError` wrapper for consistent error handling
86
+ - Feature flags accessed via `featureFlag()` from `@/lib/flags`
87
+ - New routes follow the file-based routing pattern in `/src/app/`
88
+ ```
89
+
90
+ 专注于那些**不明显**的内容——智能体可能无法从阅读代码片段中推断出来的内容。不要记录普遍适用的标准实践。
91
+
92
+ ## 创建文件
93
+
94
+ 您有三个选择:
95
+
96
+ ### 手动创建
97
+
98
+ 在 `_bmad-output/project-context.md` 创建文件并添加您的规则:
99
+
100
+ ```bash
101
+ # In your project root
102
+ mkdir -p _bmad-output
103
+ touch _bmad-output/project-context.md
104
+ ```
105
+
106
+ 使用您的技术栈和实施规则编辑它。架构师和实施工作流将自动查找并加载它。
107
+
108
+ ### 架构后生成
109
+
110
+ 在完成架构后运行 `generate-project-context` 工作流:
111
+
112
+ ```bash
113
+ /bmad-bmm-generate-project-context
114
+ ```
115
+
116
+ 这将扫描您的架构文档和项目文件,生成一个捕获所做决策的上下文文件。
117
+
118
+ ### 为现有项目生成
119
+
120
+ 对于现有项目,运行 `generate-project-context` 以发现现有模式:
121
+
122
+ ```bash
123
+ /bmad-bmm-generate-project-context
124
+ ```
125
+
126
+ 该工作流分析您的代码库以识别约定,然后生成一个您可以审查和优化的上下文文件。
127
+
128
+ ## 为什么重要
129
+
130
+ 没有 [`project-context.md`](project-context.md),智能体会做出可能与您的项目不匹配的假设:
131
+
132
+ | 没有上下文 | 有上下文 |
133
+ |----------------|--------------|
134
+ | 使用通用模式 | 遵循您的既定约定 |
135
+ | 用户故事之间风格不一致 | 实施一致 |
136
+ | 可能错过项目特定的约束 | 尊重所有技术需求 |
137
+ | 每个智能体独立决策 | 所有智能体遵循相同规则 |
138
+
139
+ 这对于以下情况尤其重要:
140
+ - **快速流程** — 跳过 PRD 和架构,因此上下文文件填补了空白
141
+ - **团队项目** — 确保所有智能体遵循相同的标准
142
+ - **现有项目** — 防止破坏既定模式
143
+
144
+ ## 编辑和更新
145
+
146
+ [`project-context.md`](project-context.md) 文件是一个动态文档。在以下情况下更新它:
147
+
148
+ - 架构决策发生变化
149
+ - 建立了新的约定
150
+ - 模式在实施过程中演变
151
+ - 您从智能体行为中发现差距
152
+
153
+ 您可以随时手动编辑它,或者在重大更改后重新运行 `generate-project-context` 来更新它。
154
+
155
+ :::note[文件位置]
156
+ 默认位置是 `_bmad-output/project-context.md`。工作流在那里搜索它,并且还会检查项目中任何位置的 `**/project-context.md`。
157
+ :::
158
+
159
+ ---
160
+ ## 术语说明
161
+
162
+ - **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
163
+ - **workflow**:工作流。指一系列自动化或半自动化的任务流程。
164
+ - **PRD**:产品需求文档(Product Requirements Document)。描述产品功能、需求和目标的文档。
165
+ - **LLM**:大语言模型(Large Language Model)。指基于深度学习的自然语言处理模型。
166
+ - **singleton**:单例。一种设计模式,确保一个类只有一个实例。
167
+ - **E2E**:端到端(End-to-End)。指从用户角度出发的完整测试流程。
168
+ - **MSW**:Mock Service Worker。用于模拟 API 响应的库。
169
+ - **Vitest**:基于 Vite 的单元测试框架。
170
+ - **Playwright**:端到端测试框架。
171
+ - **Zustand**:轻量级状态管理库。
172
+ - **Redux**:JavaScript 应用状态管理库。
173
+ - **Tailwind CSS**:实用优先的 CSS 框架。
174
+ - **TypeScript**:JavaScript 的超集,添加了静态类型。
175
+ - **React**:用于构建用户界面的 JavaScript 库。
176
+ - **Node.js**:基于 Chrome V8 引擎的 JavaScript 运行时。