wizz-method 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +80 -0
- package/AGENTS.md +12 -0
- package/LICENSE +30 -0
- package/README.md +72 -0
- package/bmad-modules.yaml +77 -0
- package/build/artifacts/llms-full.txt +4049 -0
- package/build/artifacts/llms.txt +28 -0
- package/build/site/404.html +55 -0
- package/build/site/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js +1 -0
- package/build/site/_astro/Search.astro_astro_type_script_index_0_lang.cjYDvRdi.js +1 -0
- package/build/site/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js +1 -0
- package/build/site/_astro/ec.0vx5m.js +3 -0
- package/build/site/_astro/ec.v4551.css +1 -0
- package/build/site/_astro/index.DdjI3lF_.css +1 -0
- package/build/site/_astro/page.B1D-nYk3.js +1 -0
- package/build/site/_astro/print.DNXP8c50.css +1 -0
- package/build/site/_astro/ui-core.D_Lfcn_I.js +2 -0
- package/build/site/cs/404/index.html +42 -0
- package/build/site/cs/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/cs/explanation/adversarial-review/index.html +109 -0
- package/build/site/cs/explanation/analysis-phase/index.html +129 -0
- package/build/site/cs/explanation/brainstorming/index.html +92 -0
- package/build/site/cs/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/cs/explanation/established-projects-faq/index.html +107 -0
- package/build/site/cs/explanation/forensic-investigation/index.html +167 -0
- package/build/site/cs/explanation/named-agents/index.html +187 -0
- package/build/site/cs/explanation/party-mode/index.html +101 -0
- package/build/site/cs/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/cs/explanation/project-context/index.html +198 -0
- package/build/site/cs/explanation/quick-dev/index.html +113 -0
- package/build/site/cs/explanation/web-bundles/index.html +178 -0
- package/build/site/cs/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/cs/how-to/customize-bmad/index.html +197 -0
- package/build/site/cs/how-to/established-projects/index.html +165 -0
- package/build/site/cs/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/cs/how-to/get-answers-about-bmad/index.html +179 -0
- package/build/site/cs/how-to/install-bmad/index.html +124 -0
- package/build/site/cs/how-to/install-custom-modules/index.html +197 -0
- package/build/site/cs/how-to/non-interactive-installation/index.html +255 -0
- package/build/site/cs/how-to/project-context/index.html +138 -0
- package/build/site/cs/how-to/quick-fixes/index.html +122 -0
- package/build/site/cs/how-to/shard-large-documents/index.html +103 -0
- package/build/site/cs/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/cs/how-to/use-web-bundles/index.html +99 -0
- package/build/site/cs/index.html +129 -0
- package/build/site/cs/reference/agents/index.html +173 -0
- package/build/site/cs/reference/commands/index.html +250 -0
- package/build/site/cs/reference/core-tools/index.html +337 -0
- package/build/site/cs/reference/modules/index.html +132 -0
- package/build/site/cs/reference/testing/index.html +218 -0
- package/build/site/cs/reference/workflow-map/index.html +240 -0
- package/build/site/cs/roadmap/index.html +77 -0
- package/build/site/cs/tutorials/getting-started/index.html +382 -0
- package/build/site/diagrams/checkpoint-preview-diagram-fr.webp +0 -0
- package/build/site/diagrams/checkpoint-preview-diagram.png +0 -0
- package/build/site/diagrams/quick-dev-diagram-fr.webp +0 -0
- package/build/site/diagrams/quick-dev-diagram.png +0 -0
- package/build/site/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/explanation/adversarial-review/index.html +109 -0
- package/build/site/explanation/analysis-phase/index.html +129 -0
- package/build/site/explanation/brainstorming/index.html +92 -0
- package/build/site/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/explanation/established-projects-faq/index.html +107 -0
- package/build/site/explanation/forensic-investigation/index.html +167 -0
- package/build/site/explanation/named-agents/index.html +187 -0
- package/build/site/explanation/party-mode/index.html +256 -0
- package/build/site/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/explanation/project-context/index.html +198 -0
- package/build/site/explanation/quick-dev/index.html +113 -0
- package/build/site/explanation/web-bundles/index.html +178 -0
- package/build/site/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/fr/404/index.html +42 -0
- package/build/site/fr/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/fr/explanation/adversarial-review/index.html +126 -0
- package/build/site/fr/explanation/analysis-phase/index.html +137 -0
- package/build/site/fr/explanation/brainstorming/index.html +92 -0
- package/build/site/fr/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/fr/explanation/established-projects-faq/index.html +107 -0
- package/build/site/fr/explanation/forensic-investigation/index.html +194 -0
- package/build/site/fr/explanation/named-agents/index.html +187 -0
- package/build/site/fr/explanation/party-mode/index.html +112 -0
- package/build/site/fr/explanation/preventing-agent-conflicts/index.html +196 -0
- package/build/site/fr/explanation/project-context/index.html +198 -0
- package/build/site/fr/explanation/quick-dev/index.html +127 -0
- package/build/site/fr/explanation/web-bundles/index.html +198 -0
- package/build/site/fr/explanation/why-solutioning-matters/index.html +191 -0
- package/build/site/fr/how-to/customize-bmad/index.html +277 -0
- package/build/site/fr/how-to/established-projects/index.html +176 -0
- package/build/site/fr/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/fr/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/fr/how-to/install-bmad/index.html +330 -0
- package/build/site/fr/how-to/install-custom-modules/index.html +197 -0
- package/build/site/fr/how-to/non-interactive-installation/index.html +73 -0
- package/build/site/fr/how-to/project-context/index.html +138 -0
- package/build/site/fr/how-to/quick-fixes/index.html +130 -0
- package/build/site/fr/how-to/shard-large-documents/index.html +103 -0
- package/build/site/fr/how-to/upgrade-to-v6/index.html +202 -0
- package/build/site/fr/how-to/use-web-bundles/index.html +99 -0
- package/build/site/fr/index.html +144 -0
- package/build/site/fr/reference/agents/index.html +179 -0
- package/build/site/fr/reference/commands/index.html +264 -0
- package/build/site/fr/reference/core-tools/index.html +392 -0
- package/build/site/fr/reference/modules/index.html +146 -0
- package/build/site/fr/reference/testing/index.html +229 -0
- package/build/site/fr/reference/workflow-map/index.html +282 -0
- package/build/site/fr/roadmap/index.html +77 -0
- package/build/site/fr/tutorials/getting-started/index.html +406 -0
- package/build/site/how-to/customize-bmad/index.html +277 -0
- package/build/site/how-to/established-projects/index.html +165 -0
- package/build/site/how-to/expand-bmad-for-your-org/index.html +245 -0
- package/build/site/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/how-to/install-bmad/index.html +330 -0
- package/build/site/how-to/install-custom-modules/index.html +197 -0
- package/build/site/how-to/non-interactive-installation/index.html +73 -0
- package/build/site/how-to/project-context/index.html +141 -0
- package/build/site/how-to/quick-fixes/index.html +122 -0
- package/build/site/how-to/shard-large-documents/index.html +103 -0
- package/build/site/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/how-to/use-web-bundles/index.html +99 -0
- package/build/site/img/bmad-dark.png +0 -0
- package/build/site/img/bmad-light.png +0 -0
- package/build/site/index.html +128 -0
- package/build/site/llms-full.txt +4049 -0
- package/build/site/llms.txt +28 -0
- package/build/site/pagefind/fragment/cs-cz_178b946.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_19e1744.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_1b81518.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_24fd94a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_25c5ff1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_2a7d8c4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_2b14d1f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_34d3775.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_366f93d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_4761b65.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_4d1a40a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_57dfabb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5c68f33.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5efaba9.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_5f63a83.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_73bbdce.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7b6af37.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7d51fe5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_7db5922.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_83e7116.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_83fec4e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_84972ee.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_94e9289.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_a0a122c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_a3e7fad.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_af43e66.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_b4f4e0a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_b51b8b3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_ba705d5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_c315625.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_cf5138a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_df8bdfe.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_e1b56f8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_e3e33bb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/cs-cz_f9d07b3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_026af96.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_132ea1f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_15ee460.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_171773c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_1a7ec42.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_1bb5ebb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_229434b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_22b33a0.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_38efcf3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_3d17cef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_426a8fd.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_446b27a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_582ecad.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_5d6b1f1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_6465dfb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_66f3f7a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_68872f8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_6e9deef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_70a6a7e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_73f0b1e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_768fd99.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_7e52baa.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_8068cdc.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_9385c94.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_95b9c04.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_9a95e82.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_a66c4ef.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ac6318c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_bba8f66.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_d9f7193.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_e0e52b1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ece4cbe.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_ed6969c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_f12187d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/en_f643df1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_10fdc25.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_132e2e0.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1529d31.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1531e2c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_1d51fb7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_27d0aaf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_583aea8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_5c4f14f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_654bb96.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_65e37ae.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_6898afa.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_68d0a0b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_6ce4bc1.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_7ddd126.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_7f50a2e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_8d2df1b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9b8d33d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9c7f851.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_9cf6892.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_a512e53.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_a7ad3f6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_afeac81.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_b364826.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_bdb3e1e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_c4884c3.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_c54c827.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_ca664c2.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_ce3562d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_d086476.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_d0b4e62.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_df4c57f.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_e1c2fa8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_eaa1363.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_f456c69.pf_fragment +0 -0
- package/build/site/pagefind/fragment/fr-fr_fe8d783.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_1e5b1da.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_3268948.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_37f0bf6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_485232c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4d3bd13.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4e578d2.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_4ed2533.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_533743c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_5ffd258.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_6bfed03.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_6f2ed6d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_71aa305.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7577c2c.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7883435.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7f2e496.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_7fce614.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_86274a6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_8c4fd62.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a06c773.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a2e535b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_a4b9dbc.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_b2d8e01.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_b631cf6.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_c970ebb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_d229f2a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_d685e88.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_dab2c52.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_df5a829.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_dfcf280.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_e8ec8cf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_e9f3439.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_f0bfe83.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_f5462f7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_fcc9bb7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_fd55264.pf_fragment +0 -0
- package/build/site/pagefind/fragment/vi-vn_ffd39df.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_119c5bb.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_198e8ce.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_19b87a8.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_1edc3a5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_36ae67a.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_37ab313.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_3b56778.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_5735cd4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_6110769.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_6d66d9e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_731b3f5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_82885ff.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8be7aac.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8c3fa9e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_8f452f7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_96ccc61.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_9f29932.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a24d786.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a598178.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a603f17.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_a9cffcf.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c1bebbd.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c38cf84.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_c42a851.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_ce57c6e.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_d4b5cd5.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_da40e6b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_da777ec.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_de145f9.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e376bf7.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e663978.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_e97a13b.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f13873d.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f25fad4.pf_fragment +0 -0
- package/build/site/pagefind/fragment/zh-cn_f7edf48.pf_fragment +0 -0
- package/build/site/pagefind/index/cs-cz_24147b6.pf_index +0 -0
- package/build/site/pagefind/index/cs-cz_82fc657.pf_index +0 -0
- package/build/site/pagefind/index/cs-cz_8f6a83c.pf_index +0 -0
- package/build/site/pagefind/index/en_432f933.pf_index +0 -0
- package/build/site/pagefind/index/en_70c744a.pf_index +0 -0
- package/build/site/pagefind/index/en_fd84991.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_7275484.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_8096dd3.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_b34df12.pf_index +0 -0
- package/build/site/pagefind/index/fr-fr_e6ad665.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_129cf7e.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_7f54472.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_c1f31ce.pf_index +0 -0
- package/build/site/pagefind/index/vi-vn_c56f634.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_5ed0486.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_ad4d724.pf_index +0 -0
- package/build/site/pagefind/index/zh-cn_bc9f7b6.pf_index +0 -0
- package/build/site/pagefind/pagefind-entry.json +1 -0
- package/build/site/pagefind/pagefind-highlight.js +1064 -0
- package/build/site/pagefind/pagefind-modular-ui.css +214 -0
- package/build/site/pagefind/pagefind-modular-ui.js +8 -0
- package/build/site/pagefind/pagefind-ui.css +1 -0
- package/build/site/pagefind/pagefind-ui.js +2 -0
- package/build/site/pagefind/pagefind.cs-cz_cd39a8505eabf.pf_meta +0 -0
- package/build/site/pagefind/pagefind.en_8ae84a1b9c.pf_meta +0 -0
- package/build/site/pagefind/pagefind.fr-fr_20fca6f342d9a.pf_meta +0 -0
- package/build/site/pagefind/pagefind.js +6 -0
- package/build/site/pagefind/pagefind.vi-vn_6a45d08c2bbc8.pf_meta +0 -0
- package/build/site/pagefind/pagefind.zh-cn_ae911ac338eae.pf_meta +0 -0
- package/build/site/pagefind/wasm.en.pagefind +0 -0
- package/build/site/pagefind/wasm.fr-fr.pagefind +0 -0
- package/build/site/pagefind/wasm.unknown.pagefind +0 -0
- package/build/site/reference/agents/index.html +168 -0
- package/build/site/reference/commands/index.html +254 -0
- package/build/site/reference/core-tools/index.html +384 -0
- package/build/site/reference/modules/index.html +132 -0
- package/build/site/reference/testing/index.html +218 -0
- package/build/site/reference/workflow-map/index.html +266 -0
- package/build/site/roadmap/index.html +77 -0
- package/build/site/robots.txt +37 -0
- package/build/site/sitemap-0.xml +1 -0
- package/build/site/sitemap-index.xml +1 -0
- package/build/site/tutorials/getting-started/index.html +386 -0
- package/build/site/vi-vn/404/index.html +42 -0
- package/build/site/vi-vn/bmad-developer-guide/index.html +794 -0
- package/build/site/vi-vn/explanation/advanced-elicitation/index.html +105 -0
- package/build/site/vi-vn/explanation/adversarial-review/index.html +109 -0
- package/build/site/vi-vn/explanation/analysis-phase/index.html +129 -0
- package/build/site/vi-vn/explanation/brainstorming/index.html +92 -0
- package/build/site/vi-vn/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/vi-vn/explanation/established-projects-faq/index.html +107 -0
- package/build/site/vi-vn/explanation/forensic-investigation/index.html +167 -0
- package/build/site/vi-vn/explanation/named-agents/index.html +187 -0
- package/build/site/vi-vn/explanation/party-mode/index.html +101 -0
- package/build/site/vi-vn/explanation/preventing-agent-conflicts/index.html +185 -0
- package/build/site/vi-vn/explanation/project-context/index.html +198 -0
- package/build/site/vi-vn/explanation/quick-dev/index.html +113 -0
- package/build/site/vi-vn/explanation/web-bundles/index.html +178 -0
- package/build/site/vi-vn/explanation/why-solutioning-matters/index.html +168 -0
- package/build/site/vi-vn/how-to/customize-bmad/index.html +277 -0
- package/build/site/vi-vn/how-to/established-projects/index.html +165 -0
- package/build/site/vi-vn/how-to/expand-bmad-for-your-org/index.html +228 -0
- package/build/site/vi-vn/how-to/get-answers-about-bmad/index.html +129 -0
- package/build/site/vi-vn/how-to/install-bmad/index.html +124 -0
- package/build/site/vi-vn/how-to/install-custom-modules/index.html +197 -0
- package/build/site/vi-vn/how-to/non-interactive-installation/index.html +300 -0
- package/build/site/vi-vn/how-to/project-context/index.html +138 -0
- package/build/site/vi-vn/how-to/quick-fixes/index.html +122 -0
- package/build/site/vi-vn/how-to/shard-large-documents/index.html +103 -0
- package/build/site/vi-vn/how-to/upgrade-to-v6/index.html +185 -0
- package/build/site/vi-vn/how-to/use-web-bundles/index.html +99 -0
- package/build/site/vi-vn/index.html +129 -0
- package/build/site/vi-vn/reference/agents/index.html +173 -0
- package/build/site/vi-vn/reference/commands/index.html +250 -0
- package/build/site/vi-vn/reference/core-tools/index.html +337 -0
- package/build/site/vi-vn/reference/modules/index.html +132 -0
- package/build/site/vi-vn/reference/testing/index.html +218 -0
- package/build/site/vi-vn/reference/workflow-map/index.html +240 -0
- package/build/site/vi-vn/roadmap/index.html +77 -0
- package/build/site/vi-vn/tutorials/getting-started/index.html +382 -0
- package/build/site/wizz-icon-orange.svg +7 -0
- package/build/site/workflow-map-diagram-fr.html +375 -0
- package/build/site/workflow-map-diagram.html +375 -0
- package/build/site/zh-cn/404/index.html +42 -0
- package/build/site/zh-cn/explanation/advanced-elicitation/index.html +142 -0
- package/build/site/zh-cn/explanation/adversarial-review/index.html +132 -0
- package/build/site/zh-cn/explanation/analysis-phase/index.html +129 -0
- package/build/site/zh-cn/explanation/brainstorming/index.html +147 -0
- package/build/site/zh-cn/explanation/checkpoint-preview/index.html +121 -0
- package/build/site/zh-cn/explanation/established-projects-faq/index.html +122 -0
- package/build/site/zh-cn/explanation/forensic-investigation/index.html +167 -0
- package/build/site/zh-cn/explanation/named-agents/index.html +187 -0
- package/build/site/zh-cn/explanation/party-mode/index.html +144 -0
- package/build/site/zh-cn/explanation/preventing-agent-conflicts/index.html +191 -0
- package/build/site/zh-cn/explanation/project-context/index.html +153 -0
- package/build/site/zh-cn/explanation/quick-dev/index.html +139 -0
- package/build/site/zh-cn/explanation/web-bundles/index.html +178 -0
- package/build/site/zh-cn/explanation/why-solutioning-matters/index.html +175 -0
- package/build/site/zh-cn/how-to/customize-bmad/index.html +202 -0
- package/build/site/zh-cn/how-to/established-projects/index.html +166 -0
- package/build/site/zh-cn/how-to/expand-bmad-for-your-org/index.html +223 -0
- package/build/site/zh-cn/how-to/get-answers-about-bmad/index.html +198 -0
- package/build/site/zh-cn/how-to/install-bmad/index.html +126 -0
- package/build/site/zh-cn/how-to/install-custom-modules/index.html +197 -0
- package/build/site/zh-cn/how-to/non-interactive-installation/index.html +254 -0
- package/build/site/zh-cn/how-to/project-context/index.html +143 -0
- package/build/site/zh-cn/how-to/quick-fixes/index.html +122 -0
- package/build/site/zh-cn/how-to/shard-large-documents/index.html +110 -0
- package/build/site/zh-cn/how-to/upgrade-to-v6/index.html +198 -0
- package/build/site/zh-cn/how-to/use-web-bundles/index.html +99 -0
- package/build/site/zh-cn/index.html +129 -0
- package/build/site/zh-cn/reference/agents/index.html +178 -0
- package/build/site/zh-cn/reference/commands/index.html +245 -0
- package/build/site/zh-cn/reference/core-tools/index.html +313 -0
- package/build/site/zh-cn/reference/modules/index.html +181 -0
- package/build/site/zh-cn/reference/testing/index.html +226 -0
- package/build/site/zh-cn/reference/workflow-map/index.html +238 -0
- package/build/site/zh-cn/roadmap/index.html +77 -0
- package/build/site/zh-cn/tutorials/getting-started/index.html +381 -0
- package/evals/bmm-skills/bmad-product-brief/evals.json +237 -0
- package/evals/bmm-skills/bmad-product-brief/files/branfield-memo.md +46 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md +40 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md +56 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md +27 -0
- package/evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md +116 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md +41 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md +57 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md +29 -0
- package/evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md +90 -0
- package/evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md +101 -0
- package/evals/bmm-skills/bmad-product-brief/triggers.json +18 -0
- package/package.json +114 -0
- package/removals.txt +62 -0
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md +76 -0
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +90 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md +76 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/customize.toml +81 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/explain-concept.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/mermaid-gen.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/validate-doc.md +19 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/write-document.md +20 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +62 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/checklist.md +245 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/documentation-requirements.csv +12 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/instructions.md +128 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/index-template.md +169 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/project-overview-template.md +103 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/templates/source-tree-template.md +135 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-instructions.md +300 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-instructions.md +1108 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +135 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/agents/artifact-analyzer.md +60 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/agents/web-researcher.md +49 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/assets/prfaq-template.md +62 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/bmad-manifest.json +16 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/customer-faq.md +55 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/internal-faq.md +51 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/press-release.md +60 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/verdict.md +83 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +91 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/assets/brief-template.md +41 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +99 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +450 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-01-init.md +184 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +484 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +493 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/customize.toml +75 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/customize.toml +60 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/customize.toml +41 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/customize.toml +42 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +92 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/headless-schemas.md +76 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-template.md +165 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-validation-checklist.md +135 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/validation-report-template.html +325 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/customize.toml +147 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/references/headless.md +39 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/references/validate.md +97 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md +90 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/color-themes.md +9 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-directions.md +9 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-editorial.md +158 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-mobile.md +93 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/design-example-shadcn.md +109 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/excalidraw-wireframe.md +19 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/experience-example-mobile.md +112 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/experience-example-shadcn.md +133 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/headless-schemas.md +84 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/key-screens.md +29 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/assets/validation-report-template.html +319 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/customize.toml +100 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/creative-tools.md +19 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/design-md-spec.md +50 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/headless.md +37 -0
- package/src/bmm-skills/2-plan-workflows/bmad-ux/references/validate.md +115 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +30 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/customize.toml +42 -0
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md +76 -0
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/customize.toml +65 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/SKILL.md +85 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/assets/spine-template.md +79 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/customize.toml +100 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/references/headless.md +26 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/references/reviewer-gate.md +13 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/scripts/lint_spine.py +257 -0
- package/src/bmm-skills/3-solutioning/bmad-architecture/scripts/tests/test_lint_spine.py +270 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +91 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +132 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +30 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +93 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +81 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/project-context-template.md +21 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-01-discover.md +186 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-02-generate.md +321 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-03-complete.md +284 -0
- package/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md +76 -0
- package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +95 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md +68 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/generate-trail.md +38 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-01-orientation.md +105 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-04-testing.md +74 -0
- package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-05-wrapup.md +30 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +93 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md +85 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +35 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-03-triage.md +49 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +132 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +301 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/checklist.md +288 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +432 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/checklist.md +357 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/discover-inputs.md +88 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/template.md +49 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md +500 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/checklist.md +80 -0
- package/src/bmm-skills/4-implementation/bmad-dev-story/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md +196 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/customize.toml +62 -0
- package/src/bmm-skills/4-implementation/bmad-investigate/references/case-file-template.md +127 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +114 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/compile-epic-context.md +62 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/spec-template.md +88 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-01-clarify-and-route.md +100 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-02-plan.md +47 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-03-implement.md +41 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-04-review.md +50 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +78 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +71 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/sync-sprint-status.md +19 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +1527 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md +319 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/checklist.md +34 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +69 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md +311 -0
- package/src/bmm-skills/4-implementation/bmad-sprint-status/customize.toml +41 -0
- package/src/bmm-skills/module-help.csv +32 -0
- package/src/bmm-skills/module.yaml +95 -0
- package/src/core-skills/bmad-advanced-elicitation/SKILL.md +142 -0
- package/src/core-skills/bmad-advanced-elicitation/methods.csv +70 -0
- package/src/core-skills/bmad-brainstorming/SKILL.md +82 -0
- package/src/core-skills/bmad-brainstorming/analysis/catalog-analysis.md +239 -0
- package/src/core-skills/bmad-brainstorming/analysis/method-matrix.csv +109 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-icons.json +166 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-methods.csv +109 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-selector.html +326 -0
- package/src/core-skills/bmad-brainstorming/customize.toml +84 -0
- package/src/core-skills/bmad-brainstorming/references/converge.md +24 -0
- package/src/core-skills/bmad-brainstorming/references/finalize.md +26 -0
- package/src/core-skills/bmad-brainstorming/references/headless.md +54 -0
- package/src/core-skills/bmad-brainstorming/references/in-chat-techniques.md +18 -0
- package/src/core-skills/bmad-brainstorming/references/mode-autonomous.md +10 -0
- package/src/core-skills/bmad-brainstorming/references/mode-facilitator.md +11 -0
- package/src/core-skills/bmad-brainstorming/references/mode-partner.md +16 -0
- package/src/core-skills/bmad-brainstorming/references/resume.md +5 -0
- package/src/core-skills/bmad-brainstorming/scripts/brain.py +740 -0
- package/src/core-skills/bmad-brainstorming/scripts/memlog.py +202 -0
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_brain.py +217 -0
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_memlog.py +265 -0
- package/src/core-skills/bmad-customize/SKILL.md +111 -0
- package/src/core-skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
- package/src/core-skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
- package/src/core-skills/bmad-editorial-review-prose/SKILL.md +86 -0
- package/src/core-skills/bmad-editorial-review-structure/SKILL.md +179 -0
- package/src/core-skills/bmad-help/SKILL.md +75 -0
- package/src/core-skills/bmad-index-docs/SKILL.md +66 -0
- package/src/core-skills/bmad-party-mode/SKILL.md +77 -0
- package/src/core-skills/bmad-party-mode/customize.toml +150 -0
- package/src/core-skills/bmad-party-mode/references/create-party.md +65 -0
- package/src/core-skills/bmad-party-mode/references/mode-agent-team.md +11 -0
- package/src/core-skills/bmad-party-mode/references/mode-auto.md +13 -0
- package/src/core-skills/bmad-party-mode/references/mode-subagent.md +19 -0
- package/src/core-skills/bmad-party-mode/scripts/resolve_party.py +267 -0
- package/src/core-skills/bmad-party-mode/scripts/tests/test-resolve_party.py +138 -0
- package/src/core-skills/bmad-review-adversarial-general/SKILL.md +37 -0
- package/src/core-skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
- package/src/core-skills/bmad-shard-doc/SKILL.md +105 -0
- package/src/core-skills/bmad-spec/SKILL.md +145 -0
- package/src/core-skills/bmad-spec/assets/headless-schemas.md +33 -0
- package/src/core-skills/bmad-spec/assets/spec-template.md +49 -0
- package/src/core-skills/bmad-spec/customize.toml +53 -0
- package/src/core-skills/module-help.csv +13 -0
- package/src/core-skills/module.yaml +33 -0
- package/src/modules/wizz/README.md +39 -0
- package/src/modules/wizz/_shared/cerebro.md +24 -0
- package/src/modules/wizz/_shared/encerramento.md +36 -0
- package/src/modules/wizz/_shared/token-economy.md +28 -0
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +30 -0
- package/src/modules/wizz/agents/wizz-ads/customize.toml +53 -0
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +30 -0
- package/src/modules/wizz/agents/wizz-copy/customize.toml +53 -0
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +38 -0
- package/src/modules/wizz/agents/wizz-designer/customize.toml +60 -0
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-growth/customize.toml +58 -0
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +77 -0
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +78 -0
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +57 -0
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-qa/customize.toml +63 -0
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +31 -0
- package/src/modules/wizz/agents/wizz-seo/customize.toml +58 -0
- package/src/modules/wizz/module.yaml +117 -0
- package/src/modules/wizz/overrides/bmad-agent-analyst.toml +35 -0
- package/src/modules/wizz/overrides/bmad-agent-architect.toml +39 -0
- package/src/modules/wizz/overrides/bmad-agent-dev.toml +40 -0
- package/src/modules/wizz/overrides/bmad-agent-pm.toml +23 -0
- package/src/modules/wizz/overrides/bmad-agent-tech-writer.toml +30 -0
- package/src/modules/wizz/overrides/bmad-agent-ux-designer.toml +26 -0
- package/src/modules/wizz/scripts/wizz-init.mjs +163 -0
- package/src/scripts/memlog.py +224 -0
- package/src/scripts/resolve_config.py +176 -0
- package/src/scripts/resolve_customization.py +238 -0
- package/src/scripts/tests/test_memlog.py +306 -0
- package/src/scripts/tests/test_resolve_customization.py +50 -0
- package/tools/bundle-web-bundles.js +117 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/installer/README.md +60 -0
- package/tools/installer/bmad-cli.js +105 -0
- package/tools/installer/cli-utils.js +53 -0
- package/tools/installer/commands/install.js +149 -0
- package/tools/installer/commands/status.js +65 -0
- package/tools/installer/commands/uninstall.js +167 -0
- package/tools/installer/core/config.js +73 -0
- package/tools/installer/core/existing-install.js +121 -0
- package/tools/installer/core/install-paths.js +132 -0
- package/tools/installer/core/installer.js +1653 -0
- package/tools/installer/core/legacy-warnings.js +151 -0
- package/tools/installer/core/manifest-generator.js +859 -0
- package/tools/installer/core/manifest.js +433 -0
- package/tools/installer/core/python-check.js +199 -0
- package/tools/installer/core/wsl-node-check.js +109 -0
- package/tools/installer/file-ops.js +204 -0
- package/tools/installer/fs-native.js +116 -0
- package/tools/installer/ide/_config-driven.js +972 -0
- package/tools/installer/ide/manager.js +324 -0
- package/tools/installer/ide/platform-codes.js +80 -0
- package/tools/installer/ide/platform-codes.yaml +329 -0
- package/tools/installer/ide/shared/installed-skills.js +50 -0
- package/tools/installer/ide/shared/path-utils.js +219 -0
- package/tools/installer/ide/shared/skill-manifest.js +57 -0
- package/tools/installer/install-messages.yaml +32 -0
- package/tools/installer/list-options.js +210 -0
- package/tools/installer/message-loader.js +83 -0
- package/tools/installer/modules/channel-plan.js +203 -0
- package/tools/installer/modules/channel-resolver.js +241 -0
- package/tools/installer/modules/custom-module-manager.js +912 -0
- package/tools/installer/modules/external-manager.js +527 -0
- package/tools/installer/modules/module-help-schema.js +13 -0
- package/tools/installer/modules/official-modules.js +2217 -0
- package/tools/installer/modules/plugin-resolver.js +398 -0
- package/tools/installer/modules/version-resolver.js +336 -0
- package/tools/installer/project-root.js +224 -0
- package/tools/installer/prompts.js +852 -0
- package/tools/installer/set-overrides.js +330 -0
- package/tools/installer/ui.js +2077 -0
- package/tools/installer/yaml-format.js +245 -0
- package/tools/javascript-conventions.md +5 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/skill-validator.md +368 -0
- package/tools/validate-sidebar-order.js +388 -0
- package/tools/validate-skills.js +698 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/web-bundles/README.md +46 -0
- package/web-bundles/brainstorming-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/brainstorming-coach/SKILL.md +83 -0
- package/web-bundles/brainstorming-coach/brain-methods.csv +62 -0
- package/web-bundles/bundles.json +139 -0
- package/web-bundles/market-and-industry-research/INSTRUCTIONS.md +88 -0
- package/web-bundles/market-and-industry-research/SKILL.md +59 -0
- package/web-bundles/prd-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prd-coach/SKILL.md +101 -0
- package/web-bundles/prd-coach/prd-template.md +165 -0
- package/web-bundles/prd-coach/prd-validation-checklist.md +135 -0
- package/web-bundles/prfaq-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prfaq-coach/SKILL.md +139 -0
- package/web-bundles/product-brief-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/product-brief-coach/SKILL.md +113 -0
- package/web-bundles/ux-coach/INSTRUCTIONS.md +92 -0
- package/web-bundles/ux-coach/SKILL.md +187 -0
- package/web-bundles/ux-coach/ux-validation.md +100 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="zh-CN" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-uxe7q6yi"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>如何为组织扩展 BMad | Wizz Method</title><link rel="canonical" href="http://localhost:3000/zh-cn/how-to/expand-bmad-for-your-org/"/><link rel="alternate" hreflang="en" href="http://localhost:3000/how-to/expand-bmad-for-your-org/"/><link rel="alternate" hreflang="vi-VN" href="http://localhost:3000/vi-vn/how-to/expand-bmad-for-your-org/"/><link rel="alternate" hreflang="zh-CN" href="http://localhost:3000/zh-cn/how-to/expand-bmad-for-your-org/"/><link rel="alternate" hreflang="fr-FR" href="http://localhost:3000/fr/how-to/expand-bmad-for-your-org/"/><link rel="alternate" hreflang="cs-CZ" href="http://localhost:3000/cs/how-to/expand-bmad-for-your-org/"/><link rel="sitemap" href="/sitemap-index.xml"/><link rel="shortcut icon" href="/wizz-icon-orange.svg" type="image/svg+xml"/><meta name="generator" content="Astro v5.18.1"/><meta name="generator" content="Starlight v0.37.5"/><meta property="og:title" content="如何为组织扩展 BMad"/><meta property="og:type" content="article"/><meta property="og:url" content="http://localhost:3000/zh-cn/how-to/expand-bmad-for-your-org/"/><meta property="og:locale" content="zh-CN"/><meta property="og:description" content="五个自定义方案,无需 fork 即可重塑 BMad——涵盖智能体全局规则、工作流约定、外部发布、模板替换和花名册变更"/><meta property="og:site_name" content="Wizz Method"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="五个自定义方案,无需 fork 即可重塑 BMad——涵盖智能体全局规则、工作流约定、外部发布、模板替换和花名册变更"/><meta name="ai-terms" content="AI-optimized documentation: http://localhost:3000/llms-full.txt (plain text, ~100k tokens, complete Wizz Method reference). Index: http://localhost:3000/llms.txt"/><meta name="llms-full" content="http://localhost:3000/llms-full.txt"/><meta name="llms" content="http://localhost:3000/llms.txt"/><script>
|
|
2
|
+
window.StarlightThemeProvider = (() => {
|
|
3
|
+
const storedTheme =
|
|
4
|
+
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
|
|
5
|
+
const theme =
|
|
6
|
+
storedTheme ||
|
|
7
|
+
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
|
|
8
|
+
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
|
|
9
|
+
return {
|
|
10
|
+
updatePickers(theme = storedTheme || 'auto') {
|
|
11
|
+
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
|
|
12
|
+
const select = picker.querySelector('select');
|
|
13
|
+
if (select) select.value = theme;
|
|
14
|
+
/** @type {HTMLTemplateElement | null} */
|
|
15
|
+
const tmpl = document.querySelector(`#theme-icons`);
|
|
16
|
+
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
|
|
17
|
+
if (newIcon) {
|
|
18
|
+
const oldIcon = picker.querySelector('svg.label-icon');
|
|
19
|
+
if (oldIcon) {
|
|
20
|
+
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
})();
|
|
27
|
+
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/_astro/print.DNXP8c50.css" media="print"><link rel="stylesheet" href="/_astro/index.DdjI3lF_.css"><script type="module" src="/_astro/page.B1D-nYk3.js"></script></head> <body class="astro-uxe7q6yi"> <a href="#_top" class="astro-7lpm5qv4">跳到正文</a> <div class="page sl-flex astro-2xv6dk2n"> <header class="header astro-2xv6dk2n"><div class="ai-banner astro-kggsjsm4" role="note" aria-label="AI documentation notice"> <span class="astro-kggsjsm4">🤖 Consolidated, AI-optimized Wizz Method docs: <a href="http://localhost:3000/llms-full.txt" class="astro-kggsjsm4">llms-full.txt</a>. Fetch this plain text file for complete context.</span> </div> <div class="header sl-flex astro-3ef6ksr2"> <div class="title-wrapper sl-flex astro-3ef6ksr2"> <a href="/zh-cn" class="site-title sl-flex astro-sv76zpkw"> <span class="astro-sv76zpkw" translate="no"> Wizz Method </span> </a> </div> <div class="sl-flex print:hidden astro-3ef6ksr2"> <site-search class="astro-3ef6ksr2 astro-kbzrce66" data-translations="{"placeholder":"搜索"}"> <button data-open-modal disabled aria-label="搜索" aria-keyshortcuts="Control+K" class="astro-kbzrce66"> <svg aria-hidden="true" class="astro-kbzrce66 astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-kbzrce66" aria-hidden="true">搜索</span> <kbd class="sl-hidden md:sl-flex astro-kbzrce66" style="display: none;"> <kbd class="astro-kbzrce66">Ctrl</kbd><kbd class="astro-kbzrce66">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="搜索" class="astro-kbzrce66"> <div class="dialog-frame sl-flex astro-kbzrce66"> <button data-close-modal class="sl-flex md:sl-hidden astro-kbzrce66"> 取消 </button> <div class="search-container astro-kbzrce66"> <div id="starlight__search" class="astro-kbzrce66"></div> </div> </div> </dialog> </site-search> <script>
|
|
28
|
+
(() => {
|
|
29
|
+
const openBtn = document.querySelector('button[data-open-modal]');
|
|
30
|
+
const shortcut = openBtn?.querySelector('kbd');
|
|
31
|
+
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
|
|
32
|
+
const platformKey = shortcut.querySelector('kbd');
|
|
33
|
+
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
|
|
34
|
+
platformKey.textContent = '⌘';
|
|
35
|
+
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
|
|
36
|
+
}
|
|
37
|
+
shortcut.style.display = '';
|
|
38
|
+
})();
|
|
39
|
+
</script> <script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.cjYDvRdi.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-3ef6ksr2"> <div class="sl-flex social-icons astro-3ef6ksr2"> <a href="https://github.com/wizzcomms/wizz-method" rel="me" class="sl-flex astro-bgmygzip"><span class="sr-only astro-bgmygzip">GitHub</span><svg aria-hidden="true" class="astro-bgmygzip astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-nmwkdvwx"> <span class="sr-only astro-nmwkdvwx">选择主题</span> <svg aria-hidden="true" class="icon label-icon astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select autocomplete="off" class="astro-nmwkdvwx"> <option value="dark" class="astro-nmwkdvwx">深色</option><option value="light" class="astro-nmwkdvwx">浅色</option><option value="auto" selected class="astro-nmwkdvwx">自动</option> </select> <svg aria-hidden="true" class="icon caret astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
|
|
40
|
+
StarlightThemeProvider.updatePickers();
|
|
41
|
+
</script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <starlight-lang-select><label style="--sl-select-width: 7em" class="astro-nmwkdvwx"> <span class="sr-only astro-nmwkdvwx">选择语言</span> <svg aria-hidden="true" class="icon label-icon astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path fill-rule="evenodd" d="M8.516 3a.94.94 0 0 0-.941.94v1.15H2.94a.94.94 0 1 0 0 1.882h7.362a7.422 7.422 0 0 1-1.787 3.958 7.42 7.42 0 0 1-1.422-2.425.94.94 0 1 0-1.774.627 9.303 9.303 0 0 0 1.785 3.043 7.422 7.422 0 0 1-4.164 1.278.94.94 0 1 0 0 1.881 9.303 9.303 0 0 0 5.575-1.855 9.303 9.303 0 0 0 4.11 1.74l-.763 1.525a.968.968 0 0 0-.016.034l-1.385 2.77a.94.94 0 1 0 1.683.841l1.133-2.267h5.806l1.134 2.267a.94.94 0 0 0 1.683-.841l-1.385-2.769a.95.95 0 0 0-.018-.036l-3.476-6.951a.94.94 0 0 0-1.682 0l-1.82 3.639a7.423 7.423 0 0 1-3.593-1.256 9.303 9.303 0 0 0 2.27-5.203h1.894a.94.94 0 0 0 0-1.881H9.456V3.94A.94.94 0 0 0 8.516 3Zm6.426 11.794a1.068 1.068 0 0 1-.02.039l-.703 1.407h3.924l-1.962-3.924-1.24 2.478Z" clip-rule="evenodd"/></svg> <select autocomplete="off" class="astro-nmwkdvwx"> <option value="/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/how-to/expand-bmad-for-your-org/" selected class="astro-nmwkdvwx">简体中文</option><option value="/fr/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Français</option><option value="/cs/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Čeština</option> </select> <svg aria-hidden="true" class="icon caret astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-lang-select><script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </header> <nav class="sidebar print:hidden astro-2xv6dk2n" aria-label="侧边导航"> <starlight-menu-button class="print:hidden astro-rcmu22v7"> <button aria-expanded="false" aria-label="菜单" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-rcmu22v7"> <svg aria-hidden="true" class="open-menu astro-rcmu22v7 astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg> <svg aria-hidden="true" class="close-menu astro-rcmu22v7 astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg> </button> </starlight-menu-button> <script type="module">class s extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const t=this.closest("nav");t&&t.addEventListener("keyup",e=>this.closeOnEscape(e))}setExpanded(t){this.setAttribute("aria-expanded",String(t)),document.body.toggleAttribute("data-mobile-menu-expanded",t)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(t){t.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",s);</script> <div id="starlight__sidebar" class="sidebar-pane astro-2xv6dk2n"> <div class="sidebar-content sl-flex astro-2xv6dk2n"> <sl-sidebar-state-persist data-hash="0xm90ch" class="astro-t57j3vat"> <script aria-hidden="true">
|
|
42
|
+
(() => {
|
|
43
|
+
try {
|
|
44
|
+
if (!matchMedia('(min-width: 50em)').matches) return;
|
|
45
|
+
/** @type {HTMLElement | null} */
|
|
46
|
+
const target = document.querySelector('sl-sidebar-state-persist');
|
|
47
|
+
const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
|
|
48
|
+
if (!target || !state || target.dataset.hash !== state.hash) return;
|
|
49
|
+
window._starlightScrollRestore = state.scroll;
|
|
50
|
+
customElements.define(
|
|
51
|
+
'sl-sidebar-restore',
|
|
52
|
+
class SidebarRestore extends HTMLElement {
|
|
53
|
+
connectedCallback() {
|
|
54
|
+
try {
|
|
55
|
+
const idx = parseInt(this.dataset.index || '');
|
|
56
|
+
const details = this.closest('details');
|
|
57
|
+
if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
|
|
58
|
+
} catch {}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
} catch {}
|
|
63
|
+
})();
|
|
64
|
+
</script> <ul class="top-level astro-yhouv36n"> <li class="astro-yhouv36n"> <a href="/zh-cn/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">欢迎</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/roadmap/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">路线图</span> </a> </li><li class="astro-yhouv36n"> <details open class="astro-yhouv36n"> <summary class="astro-yhouv36n"> <span class="group-label astro-yhouv36n"> <span class="large astro-yhouv36n">教程</span> </span> <svg aria-hidden="true" class="caret astro-yhouv36n astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="0"></sl-sidebar-restore> <ul class="astro-yhouv36n"> <li class="astro-yhouv36n"> <a href="/zh-cn/tutorials/getting-started/" class="astro-yhouv36n"> <span class="astro-yhouv36n">快速入门</span> </a> </li> </ul> </details> </li><li class="astro-yhouv36n"> <details open class="astro-yhouv36n"> <summary class="astro-yhouv36n"> <span class="group-label astro-yhouv36n"> <span class="large astro-yhouv36n">操作指南</span> </span> <svg aria-hidden="true" class="caret astro-yhouv36n astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="1"></sl-sidebar-restore> <ul class="astro-yhouv36n"> <li class="astro-yhouv36n"> <a href="/zh-cn/how-to/install-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">如何安装 BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/non-interactive-installation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">非交互式安装</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/install-custom-modules/" class="astro-yhouv36n"> <span class="astro-yhouv36n">安装自定义和社区模块</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/upgrade-to-v6/" class="astro-yhouv36n"> <span class="astro-yhouv36n">如何升级到 v6</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/get-answers-about-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">如何获取关于 BMad 的答案</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/quick-fixes/" class="astro-yhouv36n"> <span class="astro-yhouv36n">快速修复</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/established-projects/" class="astro-yhouv36n"> <span class="astro-yhouv36n">既有项目</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/customize-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">如何自定义 BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">管理项目上下文</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/shard-large-documents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">文档分片指南</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/expand-bmad-for-your-org/" aria-current="page" class="astro-yhouv36n"> <span class="astro-yhouv36n">如何为组织扩展 BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/how-to/use-web-bundles/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Use Web Bundles</span> </a> </li> </ul> </details> </li><li class="astro-yhouv36n"> <details class="astro-yhouv36n"> <summary class="astro-yhouv36n"> <span class="group-label astro-yhouv36n"> <span class="large astro-yhouv36n">概念说明</span> </span> <svg aria-hidden="true" class="caret astro-yhouv36n astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="2"></sl-sidebar-restore> <ul class="astro-yhouv36n"> <li class="astro-yhouv36n"> <a href="/zh-cn/explanation/named-agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">命名智能体</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/analysis-phase/" class="astro-yhouv36n"> <span class="astro-yhouv36n">分析阶段:从想法到基础</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/brainstorming/" class="astro-yhouv36n"> <span class="astro-yhouv36n">头脑风暴</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/advanced-elicitation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">高级启发</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/why-solutioning-matters/" class="astro-yhouv36n"> <span class="astro-yhouv36n">为什么解决方案阶段很重要</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/preventing-agent-conflicts/" class="astro-yhouv36n"> <span class="astro-yhouv36n">防止智能体冲突</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/quick-dev/" class="astro-yhouv36n"> <span class="astro-yhouv36n">快速开发</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/checkpoint-preview/" class="astro-yhouv36n"> <span class="astro-yhouv36n">检查点预览</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/adversarial-review/" class="astro-yhouv36n"> <span class="astro-yhouv36n">对抗性评审</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/forensic-investigation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Forensic Investigation</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/party-mode/" class="astro-yhouv36n"> <span class="astro-yhouv36n">派对模式</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">项目上下文</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/established-projects-faq/" class="astro-yhouv36n"> <span class="astro-yhouv36n">既有项目常见问题</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/explanation/web-bundles/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Web Bundles</span> </a> </li> </ul> </details> </li><li class="astro-yhouv36n"> <details class="astro-yhouv36n"> <summary class="astro-yhouv36n"> <span class="group-label astro-yhouv36n"> <span class="large astro-yhouv36n">参考</span> </span> <svg aria-hidden="true" class="caret astro-yhouv36n astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="3"></sl-sidebar-restore> <ul class="astro-yhouv36n"> <li class="astro-yhouv36n"> <a href="/zh-cn/reference/workflow-map/" class="astro-yhouv36n"> <span class="astro-yhouv36n">工作流地图</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/reference/agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">智能体</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/reference/core-tools/" class="astro-yhouv36n"> <span class="astro-yhouv36n">核心工具</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/reference/commands/" class="astro-yhouv36n"> <span class="astro-yhouv36n">技能(Skills)</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/reference/modules/" class="astro-yhouv36n"> <span class="astro-yhouv36n">官方模块</span> </a> </li><li class="astro-yhouv36n"> <a href="/zh-cn/reference/testing/" class="astro-yhouv36n"> <span class="astro-yhouv36n">测试选项</span> </a> </li> </ul> </details> </li> </ul> <script aria-hidden="true">
|
|
65
|
+
(() => {
|
|
66
|
+
const scroller = document.getElementById('starlight__sidebar');
|
|
67
|
+
if (!window._starlightScrollRestore || !scroller) return;
|
|
68
|
+
scroller.scrollTop = window._starlightScrollRestore;
|
|
69
|
+
delete window._starlightScrollRestore;
|
|
70
|
+
})();
|
|
71
|
+
</script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-lbnvevm2"> <div class="sl-flex social-icons astro-lbnvevm2"> <a href="https://github.com/wizzcomms/wizz-method" rel="me" class="sl-flex astro-bgmygzip"><span class="sr-only astro-bgmygzip">GitHub</span><svg aria-hidden="true" class="astro-bgmygzip astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-nmwkdvwx"> <span class="sr-only astro-nmwkdvwx">选择主题</span> <svg aria-hidden="true" class="icon label-icon astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select autocomplete="off" class="astro-nmwkdvwx"> <option value="dark" class="astro-nmwkdvwx">深色</option><option value="light" class="astro-nmwkdvwx">浅色</option><option value="auto" selected class="astro-nmwkdvwx">自动</option> </select> <svg aria-hidden="true" class="icon caret astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
|
|
72
|
+
StarlightThemeProvider.updatePickers();
|
|
73
|
+
</script> <starlight-lang-select><label style="--sl-select-width: 7em" class="astro-nmwkdvwx"> <span class="sr-only astro-nmwkdvwx">选择语言</span> <svg aria-hidden="true" class="icon label-icon astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path fill-rule="evenodd" d="M8.516 3a.94.94 0 0 0-.941.94v1.15H2.94a.94.94 0 1 0 0 1.882h7.362a7.422 7.422 0 0 1-1.787 3.958 7.42 7.42 0 0 1-1.422-2.425.94.94 0 1 0-1.774.627 9.303 9.303 0 0 0 1.785 3.043 7.422 7.422 0 0 1-4.164 1.278.94.94 0 1 0 0 1.881 9.303 9.303 0 0 0 5.575-1.855 9.303 9.303 0 0 0 4.11 1.74l-.763 1.525a.968.968 0 0 0-.016.034l-1.385 2.77a.94.94 0 1 0 1.683.841l1.133-2.267h5.806l1.134 2.267a.94.94 0 0 0 1.683-.841l-1.385-2.769a.95.95 0 0 0-.018-.036l-3.476-6.951a.94.94 0 0 0-1.682 0l-1.82 3.639a7.423 7.423 0 0 1-3.593-1.256 9.303 9.303 0 0 0 2.27-5.203h1.894a.94.94 0 0 0 0-1.881H9.456V3.94A.94.94 0 0 0 8.516 3Zm6.426 11.794a1.068 1.068 0 0 1-.02.039l-.703 1.407h3.924l-1.962-3.924-1.24 2.478Z" clip-rule="evenodd"/></svg> <select autocomplete="off" class="astro-nmwkdvwx"> <option value="/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/how-to/expand-bmad-for-your-org/" selected class="astro-nmwkdvwx">简体中文</option><option value="/fr/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Français</option><option value="/cs/how-to/expand-bmad-for-your-org/" class="astro-nmwkdvwx">Čeština</option> </select> <svg aria-hidden="true" class="icon caret astro-nmwkdvwx astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-lang-select> </div> </div> </div> </div> </nav> <div class="main-frame astro-2xv6dk2n"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-ppt5ty36"> <aside class="right-sidebar-container print:hidden astro-ppt5ty36"> <div class="right-sidebar astro-ppt5ty36"> <script type="module" src="/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js"></script><script type="module" src="/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js"></script><div class="lg:sl-hidden astro-se4agvxv"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-c5ccmeve"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-c5ccmeve"><details id="starlight__mobile-toc" class="astro-c5ccmeve"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-c5ccmeve"><span class="toggle sl-flex astro-c5ccmeve">本页目录<svg aria-hidden="true" class="caret astro-c5ccmeve astro-zf5byosl" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-c5ccmeve"></span></summary><div class="dropdown astro-c5ccmeve"><ul class="isMobile astro-xsqhb6qp" style="--depth: 0;"> <li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#_top" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">概览</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#三层心智模型" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">三层心智模型</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-1让智能体的规则贯穿其分发的所有工作流" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 1:让智能体的规则贯穿其分发的所有工作流</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-2在特定工作流中强制执行组织规范" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 2:在特定工作流中强制执行组织规范</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-3将完成的产出发布到外部系统" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 3:将完成的产出发布到外部系统</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-4替换为你自己的输出模板" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 4:替换为你自己的输出模板</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-5自定义花名册" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 5:自定义花名册</span> </a> <ul class="isMobile astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5a-在全组织范围内重塑-bmad-智能体" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5a. 在全组织范围内重塑 BMad 智能体</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5b-添加虚构或自定义智能体" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5b. 添加虚构或自定义智能体</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5c-锁定团队安装设置" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5c. 锁定团队安装设置</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#在-ide-会话文件中强化全局规则" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">在 IDE 会话文件中强化全局规则</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#组合使用" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">组合使用</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#故障排查" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">故障排查</span> </a> </li> </ul> </div></details></nav></mobile-starlight-toc></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-se4agvxv"><div class="sl-container astro-se4agvxv"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">本页目录</h2><ul class="astro-xsqhb6qp" style="--depth: 0;"> <li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#_top" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">概览</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#三层心智模型" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">三层心智模型</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-1让智能体的规则贯穿其分发的所有工作流" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 1:让智能体的规则贯穿其分发的所有工作流</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-2在特定工作流中强制执行组织规范" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 2:在特定工作流中强制执行组织规范</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-3将完成的产出发布到外部系统" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 3:将完成的产出发布到外部系统</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-4替换为你自己的输出模板" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 4:替换为你自己的输出模板</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#方案-5自定义花名册" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">方案 5:自定义花名册</span> </a> <ul class="astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5a-在全组织范围内重塑-bmad-智能体" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5a. 在全组织范围内重塑 BMad 智能体</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5b-添加虚构或自定义智能体" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5b. 添加虚构或自定义智能体</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#5c-锁定团队安装设置" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">5c. 锁定团队安装设置</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#在-ide-会话文件中强化全局规则" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">在 IDE 会话文件中强化全局规则</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#组合使用" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">组合使用</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#故障排查" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">故障排查</span> </a> </li> </ul> </nav></starlight-toc></div></div> </div> </aside> <div class="main-pane astro-ppt5ty36"> <main data-pagefind-body class="astro-uxe7q6yi" lang="zh-CN" dir="ltr"> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <h1 id="_top" class="astro-obdi53jg">如何为组织扩展 BMad</h1> </div> </div> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <div class="sl-markdown-content"> <p>BMad 的自定义机制让组织无需编辑已安装文件或 fork 技能就能重塑行为。本指南介绍五个方案,覆盖大部分企业级需求。</p>
|
|
74
|
+
<aside aria-label="前置条件" class="starlight-aside starlight-aside--note"><p class="starlight-aside__title" aria-hidden="true"><svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="starlight-aside__icon"><path d="M12 11C11.7348 11 11.4804 11.1054 11.2929 11.2929C11.1054 11.4804 11 11.7348 11 12V16C11 16.2652 11.1054 16.5196 11.2929 16.7071C11.4804 16.8946 11.7348 17 12 17C12.2652 17 12.5196 16.8946 12.7071 16.7071C12.8946 16.5196 13 16.2652 13 16V12C13 11.7348 12.8946 11.4804 12.7071 11.2929C12.5196 11.1054 12.2652 11 12 11ZM12.38 7.08C12.1365 6.97998 11.8635 6.97998 11.62 7.08C11.4973 7.12759 11.3851 7.19896 11.29 7.29C11.2017 7.3872 11.1306 7.49882 11.08 7.62C11.024 7.73868 10.9966 7.86882 11 8C10.9992 8.13161 11.0245 8.26207 11.0742 8.38391C11.124 8.50574 11.1973 8.61656 11.29 8.71C11.3872 8.79833 11.4988 8.86936 11.62 8.92C11.7715 8.98224 11.936 9.00632 12.099 8.99011C12.2619 8.97391 12.4184 8.91792 12.5547 8.82707C12.691 8.73622 12.8029 8.61328 12.8805 8.46907C12.9582 8.32486 12.9992 8.16378 13 8C12.9963 7.73523 12.8927 7.48163 12.71 7.29C12.6149 7.19896 12.5028 7.12759 12.38 7.08ZM12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C22 10.6868 21.7413 9.38642 21.2388 8.17317C20.7363 6.95991 19.9997 5.85752 19.0711 4.92893C18.1425 4.00035 17.0401 3.26375 15.8268 2.7612C14.6136 2.25866 13.3132 2 12 2ZM12 20C10.4178 20 8.87104 19.5308 7.55544 18.6518C6.23985 17.7727 5.21447 16.5233 4.60897 15.0615C4.00347 13.5997 3.84504 11.9911 4.15372 10.4393C4.4624 8.88743 5.22433 7.46197 6.34315 6.34315C7.46197 5.22433 8.88743 4.4624 10.4393 4.15372C11.9911 3.84504 13.5997 4.00346 15.0615 4.60896C16.5233 5.21447 17.7727 6.23984 18.6518 7.55544C19.5308 8.87103 20 10.4177 20 12C20 14.1217 19.1572 16.1566 17.6569 17.6569C16.1566 19.1571 14.1217 20 12 20Z"></path></svg>前置条件</p><div class="starlight-aside__content"><ul>
|
|
75
|
+
<li>已在项目中安装 BMad(参见<a href="/zh-cn/how-to/install-bmad/">如何安装 BMad</a>)</li>
|
|
76
|
+
<li>熟悉自定义模型(参见<a href="/zh-cn/how-to/customize-bmad/">如何自定义 BMad</a>)</li>
|
|
77
|
+
<li>PATH 中有 Python 3.11+(解析器只用标准库,不需要 <code dir="auto">pip install</code>)</li>
|
|
78
|
+
</ul></div></aside>
|
|
79
|
+
<aside aria-label="如何应用这些方案" class="starlight-aside starlight-aside--tip"><p class="starlight-aside__title" aria-hidden="true"><svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="starlight-aside__icon"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.43909 8.85483L1.44039 8.85354L4.96668 5.33815C5.30653 4.99386 5.7685 4.79662 6.2524 4.78972L6.26553 4.78963L12.9014 4.78962L13.8479 3.84308C16.9187 0.772319 20.0546 0.770617 21.4678 0.975145C21.8617 1.02914 22.2271 1.21053 22.5083 1.4917C22.7894 1.77284 22.9708 2.13821 23.0248 2.53199C23.2294 3.94517 23.2278 7.08119 20.1569 10.1521L19.2107 11.0983V17.7338L19.2106 17.7469C19.2037 18.2308 19.0067 18.6933 18.6624 19.0331L15.1456 22.5608C14.9095 22.7966 14.6137 22.964 14.29 23.0449C13.9663 23.1259 13.6267 23.1174 13.3074 23.0204C12.9881 22.9235 12.7011 22.7417 12.4771 22.4944C12.2533 22.2473 12.1006 21.9441 12.0355 21.6171L11.1783 17.3417L6.65869 12.822L4.34847 12.3589L2.38351 11.965C2.05664 11.8998 1.75272 11.747 1.50564 11.5232C1.25835 11.2992 1.07653 11.0122 0.979561 10.6929C0.882595 10.3736 0.874125 10.034 0.955057 9.7103C1.03599 9.38659 1.20328 9.09092 1.43909 8.85483ZM6.8186 10.8724L2.94619 10.096L6.32006 6.73268H10.9583L6.8186 10.8724ZM15.2219 5.21703C17.681 2.75787 20.0783 2.75376 21.1124 2.8876C21.2462 3.92172 21.2421 6.31895 18.783 8.77812L12.0728 15.4883L8.51172 11.9272L15.2219 5.21703ZM13.9042 21.0538L13.1279 17.1811L17.2676 13.0414V17.68L13.9042 21.0538Z"></path><path d="M9.31827 18.3446C9.45046 17.8529 9.17864 17.3369 8.68945 17.1724C8.56178 17.1294 8.43145 17.1145 8.30512 17.1243C8.10513 17.1398 7.91519 17.2172 7.76181 17.3434C7.62613 17.455 7.51905 17.6048 7.45893 17.7835C6.97634 19.2186 5.77062 19.9878 4.52406 20.4029C4.08525 20.549 3.6605 20.644 3.29471 20.7053C3.35607 20.3395 3.45098 19.9148 3.59711 19.476C4.01221 18.2294 4.78141 17.0237 6.21648 16.5411C6.39528 16.481 6.54504 16.3739 6.65665 16.2382C6.85126 16.0016 6.92988 15.678 6.84417 15.3647C6.83922 15.3466 6.83373 15.3286 6.82767 15.3106C6.74106 15.053 6.55701 14.8557 6.33037 14.7459C6.10949 14.6389 5.84816 14.615 5.59715 14.6994C5.47743 14.7397 5.36103 14.7831 5.24786 14.8294C3.22626 15.6569 2.2347 17.4173 1.75357 18.8621C1.49662 19.6337 1.36993 20.3554 1.30679 20.8818C1.27505 21.1464 1.25893 21.3654 1.25072 21.5213C1.24662 21.5993 1.24448 21.6618 1.24337 21.7066L1.243 21.7226L1.24235 21.7605L1.2422 21.7771L1.24217 21.7827L1.24217 21.7856C1.24217 22.3221 1.67703 22.7579 2.2137 22.7579L2.2155 22.7579L2.22337 22.7578L2.23956 22.7577C2.25293 22.7575 2.27096 22.7572 2.29338 22.7567C2.33821 22.7555 2.40073 22.7534 2.47876 22.7493C2.63466 22.7411 2.85361 22.725 3.11822 22.6932C3.64462 22.6301 4.36636 22.5034 5.13797 22.2464C6.58274 21.7653 8.3431 20.7738 9.17063 18.7522C9.21696 18.639 9.26037 18.5226 9.30064 18.4029C9.30716 18.3835 9.31304 18.364 9.31827 18.3446Z"></path></svg>如何应用这些方案</p><div class="starlight-aside__content"><p>下面的<strong>逐技能方案</strong>(方案 1–4)可以通过运行 <code dir="auto">bmad-customize</code> 技能并描述意图来应用——它会选择正确的配置面、生成覆盖文件并验证合并结果。方案 5(中央配置的花名册覆盖)超出 v1 技能范围,仍需手动编写。本文档中的方案是覆盖<strong>什么</strong>的权威参考;<code dir="auto">bmad-customize</code> 负责处理<strong>怎么做</strong>的部分(针对智能体/工作流层面)。</p></div></aside>
|
|
80
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="三层心智模型">三层心智模型</h2><a class="sl-anchor-link" href="#三层心智模型"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “三层心智模型”</span></a></div>
|
|
81
|
+
<p>在选择方案之前,先理解你的覆盖落在哪一层:</p>
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
<table><thead><tr><th>层</th><th>覆盖文件位置</th><th>作用范围</th></tr></thead><tbody><tr><td><strong>智能体</strong>(如 Amelia、Mary、John)</td><td><code dir="auto">_bmad/custom/bmad-agent-{role}.toml</code> 中的 <code dir="auto">[agent]</code> 段</td><td>跟随人设进入<strong>该智能体分发的每个工作流</strong></td></tr><tr><td><strong>工作流</strong>(如 product-brief、create-prd)</td><td><code dir="auto">_bmad/custom/{workflow-name}.toml</code> 中的 <code dir="auto">[workflow]</code> 段</td><td>仅作用于该工作流的单次运行</td></tr><tr><td><strong>中央配置</strong></td><td><code dir="auto">_bmad/custom/config.toml</code> 中的 <code dir="auto">[agents.*]</code>、<code dir="auto">[core]</code>、<code dir="auto">[modules.*]</code></td><td>花名册(party-mode、retrospective、elicitation 可用的角色)、全组织统一的安装设置</td></tr></tbody></table>
|
|
108
|
+
<p>经验法则:如果规则应当在工程师做任何开发工作时生效,就自定义<strong>开发智能体</strong>。如果只在撰写产品摘要时生效,就自定义 <strong>product-brief 工作流</strong>。如果要改变”谁在场”(重命名智能体、添加自定义角色、统一产物路径),就编辑<strong>中央配置</strong>。</p>
|
|
109
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="方案-1让智能体的规则贯穿其分发的所有工作流">方案 1:让智能体的规则贯穿其分发的所有工作流</h2><a class="sl-anchor-link" href="#方案-1让智能体的规则贯穿其分发的所有工作流"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “方案 1:让智能体的规则贯穿其分发的所有工作流”</span></a></div>
|
|
110
|
+
<p><strong>场景:</strong> 统一工具使用和外部系统集成,让智能体分发的每个工作流都继承这些行为。这是影响面最大的模式。</p>
|
|
111
|
+
<p><strong>示例:Amelia(开发智能体)查库文档一律用 Context7,本地 epics 列表找不到 story 时回退到 Linear。</strong></p>
|
|
112
|
+
<div class="expressive-code"><link rel="stylesheet" href="/_astro/ec.v4551.css"><script type="module" src="/_astro/ec.0vx5m.js"></script><figure class="frame has-title not-content"><figcaption class="header"><span class="title">_bmad/custom/bmad-agent-dev.toml</span></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[agent]</span></div></div><div class="ec-line"><div class="code">
|
|
113
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># 每次激活时加载。传递到 dev-story、quick-dev、</span></div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># create-story、code-review、qa-generate——Amelia 分发的每个技能。</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">persistent_facts</span><span style="--0:#D6DEEB;--1:#403F53"> = [</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">For any library documentation lookup (React, TypeScript, Zod, Prisma, etc.), call the context7 MCP tool (`mcp__context7__resolve_library_id` then `mcp__context7__get_library_docs`) before relying on training-data knowledge. Up-to-date docs trump memorized APIs.</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">,</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">When a story reference isn't found in {planning_artifacts}/epics-and-stories.md, search Linear via `mcp__linear__search_issues` using the story ID or title before asking the user to clarify. If Linear returns a match, treat it as the authoritative story source.</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">,</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">]</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="[agent]# 每次激活时加载。传递到 dev-story、quick-dev、# create-story、code-review、qa-generate——Amelia 分发的每个技能。persistent_facts = [ "For any library documentation lookup (React, TypeScript, Zod, Prisma, etc.), call the context7 MCP tool (`mcp__context7__resolve_library_id` then `mcp__context7__get_library_docs`) before relying on training-data knowledge. Up-to-date docs trump memorized APIs.", "When a story reference isn't found in {planning_artifacts}/epics-and-stories.md, search Linear via `mcp__linear__search_issues` using the story ID or title before asking the user to clarify. If Linear returns a match, treat it as the authoritative story source.",]"><div></div></button></div></figure></div>
|
|
114
|
+
<p><strong>为什么有效:</strong> 两句话就能重塑组织内所有开发工作流,无需逐工作流重复配置、无需改源码。每个新工程师拉下仓库就自动继承这些约定。</p>
|
|
115
|
+
<p><strong>团队文件 vs 个人文件:</strong></p>
|
|
116
|
+
<ul>
|
|
117
|
+
<li><code dir="auto">bmad-agent-dev.toml</code>:提交到 git,对整个团队生效</li>
|
|
118
|
+
<li><code dir="auto">bmad-agent-dev.user.toml</code>:已 gitignore,个人偏好叠加在上面</li>
|
|
119
|
+
</ul>
|
|
120
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="方案-2在特定工作流中强制执行组织规范">方案 2:在特定工作流中强制执行组织规范</h2><a class="sl-anchor-link" href="#方案-2在特定工作流中强制执行组织规范"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “方案 2:在特定工作流中强制执行组织规范”</span></a></div>
|
|
121
|
+
<p><strong>场景:</strong> 塑造工作流输出的<em>内容</em>,使其满足合规、审计或下游消费者的要求。</p>
|
|
122
|
+
<p><strong>示例:每份产品摘要都必须包含合规字段,智能体知晓组织的发布规范。</strong></p>
|
|
123
|
+
<div class="expressive-code"><figure class="frame has-title not-content"><figcaption class="header"><span class="title">_bmad/custom/bmad-product-brief.toml</span></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[workflow]</span></div></div><div class="ec-line"><div class="code">
|
|
124
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">persistent_facts</span><span style="--0:#D6DEEB;--1:#403F53"> = [</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Every brief must include an 'Owner' field, a 'Target Release' field, and a 'Security Review Status' field.</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">,</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Non-commercial briefs (internal tools, research projects) must still include a user-value section, but can omit market differentiation.</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">,</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">file:{project-root}/docs/enterprise/brief-publishing-conventions.md</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">,</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">]</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="[workflow]persistent_facts = [ "Every brief must include an 'Owner' field, a 'Target Release' field, and a 'Security Review Status' field.", "Non-commercial briefs (internal tools, research projects) must still include a user-value section, but can omit market differentiation.", "file:{project-root}/docs/enterprise/brief-publishing-conventions.md",]"><div></div></button></div></figure></div>
|
|
125
|
+
<p><strong>效果:</strong> 这些事实在工作流激活的第 3 步加载。当智能体起草摘要时,它已了解必填字段和企业规范文档。内置默认值(<code dir="auto">file:{project-root}/**/project-context.md</code>)仍会加载,因为这是追加操作。</p>
|
|
126
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="方案-3将完成的产出发布到外部系统">方案 3:将完成的产出发布到外部系统</h2><a class="sl-anchor-link" href="#方案-3将完成的产出发布到外部系统"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “方案 3:将完成的产出发布到外部系统”</span></a></div>
|
|
127
|
+
<p><strong>场景:</strong> 工作流生成输出后,自动发布到企业级记录系统(Confluence、Notion、SharePoint)并创建后续工作项(Jira、Linear、Asana)。</p>
|
|
128
|
+
<p><strong>示例:摘要自动发布到 Confluence,并提供可选的 Jira Epic 创建。</strong></p>
|
|
129
|
+
<div class="expressive-code"><figure class="frame has-title not-content"><figcaption class="header"><span class="title">_bmad/custom/bmad-product-brief.toml</span></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[workflow]</span></div></div><div class="ec-line"><div class="code">
|
|
130
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># 终端钩子。标量覆盖会整体替换空默认值。</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">on_complete</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"""</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">Publish and offer follow-up:</span></div></div><div class="ec-line"><div class="code">
|
|
131
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">1. Read the finalized brief file path from the prior step.</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">2. Call `mcp__atlassian__confluence_create_page` with:</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- space: "PRODUCT"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- parent: "Product Briefs"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- title: the brief's title</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- body: the brief's markdown contents</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">Capture the returned page URL.</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">3. Tell the user: "Brief published to Confluence: <url>".</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">4. Ask: "Want me to open a Jira epic for this brief now?"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">5. If yes, call `mcp__atlassian__jira_create_issue` with:</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- type: "Epic"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- project: "PROD"</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- summary: the brief's title</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">- description: a short summary plus a link back to the Confluence page.</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#ECC48D;--1:#984E4D"> </span></span><span style="--0:#ECC48D;--1:#984E4D">Report the epic key and URL.</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">6. If no, exit cleanly.</span></div></div><div class="ec-line"><div class="code">
|
|
132
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">If either MCP tool fails, report the failure, print the brief path,</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">and ask the user to publish manually.</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D9F5DD;--1:#111111">"""</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="[workflow]# 终端钩子。标量覆盖会整体替换空默认值。on_complete = """Publish and offer follow-up:1. Read the finalized brief file path from the prior step.2. Call `mcp__atlassian__confluence_create_page` with: - space: "PRODUCT" - parent: "Product Briefs" - title: the brief's title - body: the brief's markdown contents Capture the returned page URL.3. Tell the user: "Brief published to Confluence: <url>".4. Ask: "Want me to open a Jira epic for this brief now?"5. If yes, call `mcp__atlassian__jira_create_issue` with: - type: "Epic" - project: "PROD" - summary: the brief's title - description: a short summary plus a link back to the Confluence page. Report the epic key and URL.6. If no, exit cleanly.If either MCP tool fails, report the failure, print the brief path,and ask the user to publish manually.""""><div></div></button></div></figure></div>
|
|
133
|
+
<p><strong>为什么用 <code dir="auto">on_complete</code> 而不是 <code dir="auto">activation_steps_append</code>:</strong> <code dir="auto">on_complete</code> 只在终端阶段运行一次,在工作流主输出写入之后。这是发布产物的正确时机。<code dir="auto">activation_steps_append</code> 在每次激活时运行,在工作流开始之前。</p>
|
|
134
|
+
<p><strong>权衡:</strong></p>
|
|
135
|
+
<ul>
|
|
136
|
+
<li><strong>Confluence 发布是非破坏性的</strong>,完成时始终运行</li>
|
|
137
|
+
<li><strong>Jira Epic 创建对全团队可见</strong>,会触发 Sprint 规划信号,因此需用户确认</li>
|
|
138
|
+
<li><strong>优雅降级:</strong> 如果 MCP 工具失败,交给用户手动处理,而不是静默丢弃输出</li>
|
|
139
|
+
</ul>
|
|
140
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="方案-4替换为你自己的输出模板">方案 4:替换为你自己的输出模板</h2><a class="sl-anchor-link" href="#方案-4替换为你自己的输出模板"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “方案 4:替换为你自己的输出模板”</span></a></div>
|
|
141
|
+
<p><strong>场景:</strong> 默认输出结构不符合组织期望的格式,或同一仓库中不同团队需要不同模板。</p>
|
|
142
|
+
<p><strong>示例:将 product-brief 工作流指向企业自有模板。</strong></p>
|
|
143
|
+
<div class="expressive-code"><figure class="frame has-title not-content"><figcaption class="header"><span class="title">_bmad/custom/bmad-product-brief.toml</span></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[workflow]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">brief_template</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">{project-root}/docs/enterprise/brief-template.md</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="[workflow]brief_template = "{project-root}/docs/enterprise/brief-template.md""><div></div></button></div></figure></div>
|
|
144
|
+
<p><strong>原理:</strong> 工作流自带的 <code dir="auto">customize.toml</code> 中 <code dir="auto">brief_template = "resources/brief-template.md"</code>(裸路径,从技能根目录解析)。你的覆盖指向 <code dir="auto">{project-root}</code> 下的文件,智能体在第 4 步读取你的模板而非内置模板。</p>
|
|
145
|
+
<p><strong>模板编写建议:</strong></p>
|
|
146
|
+
<ul>
|
|
147
|
+
<li>将模板放在 <code dir="auto">{project-root}/docs/</code> 或 <code dir="auto">{project-root}/_bmad/custom/templates/</code> 下,使它们与覆盖文件一起版本管理</li>
|
|
148
|
+
<li>沿用内置模板的结构约定(章节标题、frontmatter),智能体会适配实际内容</li>
|
|
149
|
+
<li>对于多团队仓库,使用 <code dir="auto">.user.toml</code> 让各团队指向自己的模板,无需改动已提交的团队文件</li>
|
|
150
|
+
</ul>
|
|
151
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="方案-5自定义花名册">方案 5:自定义花名册</h2><a class="sl-anchor-link" href="#方案-5自定义花名册"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “方案 5:自定义花名册”</span></a></div>
|
|
152
|
+
<p><strong>场景:</strong> 改变 <code dir="auto">bmad-party-mode</code>、<code dir="auto">bmad-retrospective</code> 和 <code dir="auto">bmad-advanced-elicitation</code> 等花名册驱动技能中<em>谁在场</em>,无需编辑源码或 fork。以下是三种常见变体。</p>
|
|
153
|
+
<div class="sl-heading-wrapper level-h3"><h3 id="5a-在全组织范围内重塑-bmad-智能体">5a. 在全组织范围内重塑 BMad 智能体</h3><a class="sl-anchor-link" href="#5a-在全组织范围内重塑-bmad-智能体"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “5a. 在全组织范围内重塑 BMad 智能体”</span></a></div>
|
|
154
|
+
<p>每个真实智能体都有一段安装器从 <code dir="auto">module.yaml</code> 合成的描述符。覆盖它可以在所有花名册消费者中改变语气和定位:</p>
|
|
155
|
+
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># _bmad/custom/config.toml(提交到 git——对每个开发者生效)</span></div></div><div class="ec-line"><div class="code">
|
|
156
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[agents.bmad-agent-analyst]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">description</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Mary the Regulatory-Aware Business Analyst — channels Porter and Minto, but lives and breathes FDA audit trails. Speaks like a forensic investigator presenting a case file.</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# _bmad/custom/config.toml(提交到 git——对每个开发者生效)[agents.bmad-agent-analyst]description = "Mary the Regulatory-Aware Business Analyst — channels Porter and Minto, but lives and breathes FDA audit trails. Speaks like a forensic investigator presenting a case file.""><div></div></button></div></figure></div>
|
|
157
|
+
<p>Party-mode 会用新描述来生成 Mary。分析师激活流程本身不受影响,因为 Mary 的行为由她的每技能 <code dir="auto">customize.toml</code> 控制。这个覆盖改变的是<strong>外部技能如何感知和介绍她</strong>,而不是她的内部工作方式。</p>
|
|
158
|
+
<div class="sl-heading-wrapper level-h3"><h3 id="5b-添加虚构或自定义智能体">5b. 添加虚构或自定义智能体</h3><a class="sl-anchor-link" href="#5b-添加虚构或自定义智能体"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “5b. 添加虚构或自定义智能体”</span></a></div>
|
|
159
|
+
<p>一段完整的描述符就足以让花名册功能识别,不需要技能目录。适合在 party mode 或头脑风暴中增加性格多样性:</p>
|
|
160
|
+
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># _bmad/custom/config.user.toml(个人——已 gitignore)</span></div></div><div class="ec-line"><div class="code">
|
|
161
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[agents.spock]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">team</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">startrek</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">name</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Commander Spock</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">title</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Science Officer</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">icon</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">🖖</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">description</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Logic first, emotion suppressed. Begins observations with 'Fascinating.' Never rounds up. Counterpoint to any argument that relies on gut instinct.</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code">
|
|
162
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[agents.mccoy]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">team</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">startrek</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">name</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Dr. Leonard McCoy</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">title</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Chief Medical Officer</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">icon</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">⚕️</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">description</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Country doctor's warmth, short fuse. 'Dammit Jim, I'm a doctor not a ___.' Ethics-driven counterweight to Spock.</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# _bmad/custom/config.user.toml(个人——已 gitignore)[agents.spock]team = "startrek"name = "Commander Spock"title = "Science Officer"icon = "🖖"description = "Logic first, emotion suppressed. Begins observations with 'Fascinating.' Never rounds up. Counterpoint to any argument that relies on gut instinct."[agents.mccoy]team = "startrek"name = "Dr. Leonard McCoy"title = "Chief Medical Officer"icon = "⚕️"description = "Country doctor's warmth, short fuse. 'Dammit Jim, I'm a doctor not a ___.' Ethics-driven counterweight to Spock.""><div></div></button></div></figure></div>
|
|
163
|
+
<p>让 party-mode “邀请企业号船员”,它会按 <code dir="auto">team = "startrek"</code> 过滤并生成 Spock 和 McCoy。真实的 BMad 智能体(Mary、Amelia)也可以同桌。</p>
|
|
164
|
+
<div class="sl-heading-wrapper level-h3"><h3 id="5c-锁定团队安装设置">5c. 锁定团队安装设置</h3><a class="sl-anchor-link" href="#5c-锁定团队安装设置"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “5c. 锁定团队安装设置”</span></a></div>
|
|
165
|
+
<p>安装器会向每个开发者提示 <code dir="auto">planning_artifacts</code> 路径等值。当组织需要一个统一答案时,在中央配置中锁定——任何开发者本地的提示回答都会在解析时被覆盖:</p>
|
|
166
|
+
<div class="expressive-code"><figure class="frame has-title not-content"><figcaption class="header"><span class="title">_bmad/custom/config.toml</span></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[modules.bmm]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">planning_artifacts</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">{project-root}/shared/planning</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">implementation_artifacts</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">{project-root}/shared/implementation</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code">
|
|
167
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[core]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">document_output_language</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">English</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="[modules.bmm]planning_artifacts = "{project-root}/shared/planning"implementation_artifacts = "{project-root}/shared/implementation"[core]document_output_language = "English""><div></div></button></div></figure></div>
|
|
168
|
+
<p>个人设置如 <code dir="auto">user_name</code>、<code dir="auto">communication_language</code> 或 <code dir="auto">user_skill_level</code> 留在各开发者自己的 <code dir="auto">_bmad/config.user.toml</code> 中。团队文件不应触碰这些。</p>
|
|
169
|
+
<p><strong>为什么用中央配置而不是逐智能体的 customize.toml:</strong> 逐智能体文件塑造<em>一个</em>智能体激活时的行为。中央配置塑造花名册消费者*查看全局时看到的内容:*有哪些智能体、叫什么、属于哪个团队,以及整个仓库共识的安装设置。两个层面,各司其职。</p>
|
|
170
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="在-ide-会话文件中强化全局规则">在 IDE 会话文件中强化全局规则</h2><a class="sl-anchor-link" href="#在-ide-会话文件中强化全局规则"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “在 IDE 会话文件中强化全局规则”</span></a></div>
|
|
171
|
+
<p>BMad 的自定义在技能激活时加载。许多 IDE 工具还会在<strong>每次会话开始时</strong>加载一个全局指令文件,在任何技能运行之前(<code dir="auto">CLAUDE.md</code>、<code dir="auto">AGENTS.md</code>、<code dir="auto">.cursor/rules/</code>、<code dir="auto">.github/copilot-instructions.md</code> 等)。对于即使在 BMad 技能之外也应生效的规则,请在全局指令中也声明一份。</p>
|
|
172
|
+
<p><strong>何时需要”双重声明”:</strong></p>
|
|
173
|
+
<ul>
|
|
174
|
+
<li>规则足够重要,即使在普通对话(没有激活技能)中也应遵守</li>
|
|
175
|
+
<li>你需要”双保险”,因为模型的训练数据默认值可能会拉偏方向</li>
|
|
176
|
+
<li>规则足够精简,重复一次不会让会话文件臃肿</li>
|
|
177
|
+
</ul>
|
|
178
|
+
<p><strong>示例:在仓库的 <code dir="auto">CLAUDE.md</code> 中强化方案 1 的开发智能体规则。</strong></p>
|
|
179
|
+
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="markdown"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"><!-- Any file-read of library docs goes through the context7 MCP tool</span></div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F">(`mcp__context7__resolve_library_id` then `mcp__context7__get_library_docs`)</span></div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F">before relying on training-data knowledge. --></span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="<!-- Any file-read of library docs goes through the context7 MCP tool(`mcp__context7__resolve_library_id` then `mcp__context7__get_library_docs`)before relying on training-data knowledge. -->"><div></div></button></div></figure></div>
|
|
180
|
+
<p>一句话,每次会话加载。它与 <code dir="auto">bmad-agent-dev.toml</code> 自定义配合,使规则在 Amelia 的工作流内和与助手的临时对话中都生效。各层各管各的范围:</p>
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<table><thead><tr><th>层</th><th>作用范围</th><th>用途</th></tr></thead><tbody><tr><td>IDE 会话文件(<code dir="auto">CLAUDE.md</code> / <code dir="auto">AGENTS.md</code>)</td><td>每次会话,在任何技能激活之前</td><td>简短的、应在 BMad 之外也生效的通用规则</td></tr><tr><td>BMad 智能体自定义</td><td>该智能体分发的每个工作流</td><td>智能体人设相关的行为</td></tr><tr><td>BMad 工作流自定义</td><td>单次工作流运行</td><td>工作流特定的输出格式、发布钩子、模板</td></tr><tr><td>BMad 中央配置</td><td>花名册 + 共享安装设置</td><td>谁在场、团队使用的共享路径</td></tr></tbody></table>
|
|
212
|
+
<p>IDE 会话文件要<strong>精简</strong>。十几行精挑细选的规则比长篇大论有效得多。模型每轮都会读取它,噪声会淹没信号。</p>
|
|
213
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="组合使用">组合使用</h2><a class="sl-anchor-link" href="#组合使用"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “组合使用”</span></a></div>
|
|
214
|
+
<p>五个方案可以自由组合。一个典型的企业级 <code dir="auto">bmad-product-brief</code> 覆盖可能同时设置 <code dir="auto">persistent_facts</code>(方案 2)、<code dir="auto">on_complete</code>(方案 3)和 <code dir="auto">brief_template</code>(方案 4)。智能体级规则(方案 1)在另一个以智能体命名的文件中,中央配置(方案 5)锁定共享花名册和团队设置,四者并行生效。</p>
|
|
215
|
+
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># _bmad/custom/bmad-product-brief.toml(工作流级)</span></div></div><div class="ec-line"><div class="code">
|
|
216
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[workflow]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">persistent_facts</span><span style="--0:#D6DEEB;--1:#403F53"> = [</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">...</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">brief_template</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">{project-root}/docs/enterprise/brief-template.md</span><span style="--0:#D9F5DD;--1:#111111">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">on_complete</span><span style="--0:#D6DEEB;--1:#403F53"> = </span><span style="--0:#D9F5DD;--1:#111111">"""</span><span style="--0:#ECC48D;--1:#984E4D"> ... </span><span style="--0:#D9F5DD;--1:#111111">"""</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# _bmad/custom/bmad-product-brief.toml(工作流级)[workflow]persistent_facts = ["..."]brief_template = "{project-root}/docs/enterprise/brief-template.md"on_complete = """ ... """"><div></div></button></div></figure></div>
|
|
217
|
+
<div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="toml"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># _bmad/custom/bmad-agent-analyst.toml(智能体级——Mary 分发 product-brief)</span></div></div><div class="ec-line"><div class="code">
|
|
218
|
+
</div></div><div class="ec-line"><div class="code"><span style="--0:#D6DEEB;--1:#403F53">[agent]</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">persistent_facts</span><span style="--0:#D6DEEB;--1:#403F53"> = [</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#ECC48D;--1:#984E4D">Always include a 'Regulatory Review' section when the domain involves healthcare, finance, or children's data.</span><span style="--0:#D9F5DD;--1:#111111">"</span><span style="--0:#D6DEEB;--1:#403F53">]</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# _bmad/custom/bmad-agent-analyst.toml(智能体级——Mary 分发 product-brief)[agent]persistent_facts = ["Always include a 'Regulatory Review' section when the domain involves healthcare, finance, or children's data."]"><div></div></button></div></figure></div>
|
|
219
|
+
<p>效果:Mary 在人设激活时加载监管评审规则。当用户选择 product-brief 菜单项时,工作流加载自己的规范、写入企业模板,完成后发布到 Confluence。每一层各有贡献,且无一需要编辑 BMad 源码。</p>
|
|
220
|
+
<div class="sl-heading-wrapper level-h2"><h2 id="故障排查">故障排查</h2><a class="sl-anchor-link" href="#故障排查"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “故障排查”</span></a></div>
|
|
221
|
+
<p><strong>覆盖没有生效?</strong> 检查文件是否在 <code dir="auto">_bmad/custom/</code> 下且使用了准确的技能目录名(如 <code dir="auto">bmad-agent-dev.toml</code>,而非 <code dir="auto">bmad-dev.toml</code>)。参见<a href="/zh-cn/how-to/customize-bmad/">如何自定义 BMad</a>。</p>
|
|
222
|
+
<p><strong>MCP 工具名称不确定?</strong> 使用 MCP 服务器在当前会话中暴露的准确名称。如果不确定,让 Claude Code 列出可用的 MCP 工具。在 <code dir="auto">persistent_facts</code> 或 <code dir="auto">on_complete</code> 中硬编码的名称,在 MCP 服务器未连接时不会生效。</p>
|
|
223
|
+
<p><strong>方案不适用于你的场景?</strong> 以上方案是示例性的。底层机制(三层合并、结构化规则、智能体贯穿工作流)支持更多模式,按需组合即可。</p> </div> <footer class="sl-flex astro-a726w4al"> <div class="meta sl-flex astro-a726w4al"> </div> <div class="pagination-links print:hidden astro-uu4deccg" dir="ltr"> </div> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html>
|