wizz-method 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/.claude-plugin/marketplace.json +45 -45
  3. package/build/artifacts/llms-full.txt +476 -476
  4. package/build/site/404.html +3 -3
  5. package/build/site/explanation/advanced-elicitation/index.html +4 -4
  6. package/build/site/explanation/adversarial-review/index.html +5 -5
  7. package/build/site/explanation/analysis-phase/index.html +5 -5
  8. package/build/site/explanation/brainstorming/index.html +5 -5
  9. package/build/site/explanation/checkpoint-preview/index.html +6 -6
  10. package/build/site/explanation/established-projects-faq/index.html +5 -5
  11. package/build/site/explanation/forensic-investigation/index.html +6 -6
  12. package/build/site/explanation/named-agents/index.html +16 -16
  13. package/build/site/explanation/party-mode/index.html +9 -9
  14. package/build/site/explanation/preventing-agent-conflicts/index.html +5 -5
  15. package/build/site/explanation/project-context/index.html +19 -19
  16. package/build/site/explanation/quick-dev/index.html +6 -6
  17. package/build/site/explanation/web-bundles/index.html +10 -10
  18. package/build/site/explanation/why-solutioning-matters/index.html +5 -5
  19. package/build/site/how-to/customize-bmad/index.html +48 -48
  20. package/build/site/how-to/established-projects/index.html +17 -17
  21. package/build/site/how-to/expand-bmad-for-your-org/index.html +43 -43
  22. package/build/site/how-to/get-answers-about-bmad/index.html +14 -14
  23. package/build/site/how-to/install-bmad/index.html +23 -23
  24. package/build/site/how-to/install-custom-modules/index.html +17 -17
  25. package/build/site/how-to/non-interactive-installation/index.html +4 -4
  26. package/build/site/how-to/project-context/index.html +10 -10
  27. package/build/site/how-to/quick-fixes/index.html +8 -8
  28. package/build/site/how-to/shard-large-documents/index.html +8 -8
  29. package/build/site/how-to/upgrade-to-v6/index.html +11 -11
  30. package/build/site/how-to/use-web-bundles/index.html +6 -6
  31. package/build/site/index.html +28 -28
  32. package/build/site/llms-full.txt +476 -476
  33. package/build/site/pagefind/fragment/en_175de32.pf_fragment +0 -0
  34. package/build/site/pagefind/fragment/en_24258fb.pf_fragment +0 -0
  35. package/build/site/pagefind/fragment/en_24f53a6.pf_fragment +0 -0
  36. package/build/site/pagefind/fragment/en_27ba8f9.pf_fragment +0 -0
  37. package/build/site/pagefind/fragment/en_2b5aa5c.pf_fragment +0 -0
  38. package/build/site/pagefind/fragment/en_41cab15.pf_fragment +0 -0
  39. package/build/site/pagefind/fragment/en_49047e0.pf_fragment +0 -0
  40. package/build/site/pagefind/fragment/en_4a187d2.pf_fragment +0 -0
  41. package/build/site/pagefind/fragment/{en_22b33a0.pf_fragment → en_514725b.pf_fragment} +0 -0
  42. package/build/site/pagefind/fragment/en_56b1635.pf_fragment +0 -0
  43. package/build/site/pagefind/fragment/en_5ad92a9.pf_fragment +0 -0
  44. package/build/site/pagefind/fragment/en_7aea5bc.pf_fragment +0 -0
  45. package/build/site/pagefind/fragment/en_81bcd7f.pf_fragment +0 -0
  46. package/build/site/pagefind/fragment/en_82aec61.pf_fragment +0 -0
  47. package/build/site/pagefind/fragment/en_85dcebf.pf_fragment +0 -0
  48. package/build/site/pagefind/fragment/en_89a1a7a.pf_fragment +0 -0
  49. package/build/site/pagefind/fragment/en_8ade291.pf_fragment +0 -0
  50. package/build/site/pagefind/fragment/en_8c11f8a.pf_fragment +0 -0
  51. package/build/site/pagefind/fragment/en_8c1bde3.pf_fragment +0 -0
  52. package/build/site/pagefind/fragment/en_938e9c4.pf_fragment +0 -0
  53. package/build/site/pagefind/fragment/en_94bfc21.pf_fragment +0 -0
  54. package/build/site/pagefind/fragment/en_ab62b53.pf_fragment +0 -0
  55. package/build/site/pagefind/fragment/en_b0d23ee.pf_fragment +0 -0
  56. package/build/site/pagefind/fragment/en_b51d75b.pf_fragment +0 -0
  57. package/build/site/pagefind/fragment/en_bb113eb.pf_fragment +0 -0
  58. package/build/site/pagefind/fragment/en_c9fea21.pf_fragment +0 -0
  59. package/build/site/pagefind/fragment/en_cdd772f.pf_fragment +0 -0
  60. package/build/site/pagefind/fragment/en_cefed6a.pf_fragment +0 -0
  61. package/build/site/pagefind/fragment/en_da351b7.pf_fragment +0 -0
  62. package/build/site/pagefind/fragment/en_e07e982.pf_fragment +0 -0
  63. package/build/site/pagefind/fragment/en_ea289f9.pf_fragment +0 -0
  64. package/build/site/pagefind/fragment/en_f1c3711.pf_fragment +0 -0
  65. package/build/site/pagefind/fragment/en_f4389af.pf_fragment +0 -0
  66. package/build/site/pagefind/fragment/en_f52c9f9.pf_fragment +0 -0
  67. package/build/site/pagefind/index/en_82c64dc.pf_index +0 -0
  68. package/build/site/pagefind/index/en_d0dd3c7.pf_index +0 -0
  69. package/build/site/pagefind/index/en_e890f88.pf_index +0 -0
  70. package/build/site/pagefind/pagefind-entry.json +1 -1
  71. package/build/site/pagefind/pagefind.en_ee1b8a17c8.pf_meta +0 -0
  72. package/build/site/reference/agents/index.html +8 -8
  73. package/build/site/reference/commands/index.html +17 -17
  74. package/build/site/reference/core-tools/index.html +28 -28
  75. package/build/site/reference/modules/index.html +8 -8
  76. package/build/site/reference/testing/index.html +10 -10
  77. package/build/site/reference/workflow-map/index.html +18 -18
  78. package/build/site/roadmap/index.html +8 -8
  79. package/build/site/sitemap-0.xml +1 -1
  80. package/build/site/tutorials/getting-started/index.html +61 -61
  81. package/build/site/workflow-map-diagram.html +2 -2
  82. package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/evals.json +31 -31
  83. package/package.json +1 -1
  84. package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/SKILL.md +5 -5
  85. package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/customize.toml +1 -1
  86. package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-06-research-synthesis.md +1 -1
  87. package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/SKILL.md +5 -5
  88. package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/customize.toml +1 -1
  89. package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-06-research-completion.md +1 -1
  90. package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/SKILL.md +5 -5
  91. package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/customize.toml +1 -1
  92. package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-06-research-synthesis.md +1 -1
  93. package/src/bmm-skills/1-analysis/{bmad-agent-analyst → wizz-agent-analyst}/SKILL.md +7 -7
  94. package/src/bmm-skills/1-analysis/{bmad-agent-analyst → wizz-agent-analyst}/customize.toml +13 -7
  95. package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/SKILL.md +7 -7
  96. package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/customize.toml +1 -1
  97. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/SKILL.md +5 -5
  98. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/customize.toml +1 -1
  99. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/workflows/deep-dive-instructions.md +1 -1
  100. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/workflows/deep-dive-workflow.md +1 -1
  101. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/workflows/full-scan-instructions.md +1 -1
  102. package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/workflows/full-scan-workflow.md +1 -1
  103. package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/SKILL.md +6 -6
  104. package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/customize.toml +1 -1
  105. package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/references/verdict.md +1 -1
  106. package/src/bmm-skills/1-analysis/{bmad-product-brief → wizz-product-brief}/SKILL.md +6 -6
  107. package/src/bmm-skills/1-analysis/{bmad-product-brief → wizz-product-brief}/customize.toml +8 -8
  108. package/src/bmm-skills/1-analysis/wizz-set-feature/SKILL.md +74 -0
  109. package/src/bmm-skills/2-plan-workflows/{bmad-agent-pm → wizz-agent-pm}/SKILL.md +7 -7
  110. package/src/bmm-skills/2-plan-workflows/{bmad-agent-pm → wizz-agent-pm}/customize.toml +5 -4
  111. package/src/bmm-skills/2-plan-workflows/{bmad-agent-ux-designer → wizz-agent-ux-designer}/SKILL.md +7 -7
  112. package/src/bmm-skills/2-plan-workflows/{bmad-agent-ux-designer → wizz-agent-ux-designer}/customize.toml +2 -1
  113. package/src/bmm-skills/2-plan-workflows/{bmad-create-prd → wizz-create-prd}/SKILL.md +11 -11
  114. package/src/bmm-skills/2-plan-workflows/{bmad-create-prd → wizz-create-prd}/customize.toml +1 -1
  115. package/src/bmm-skills/2-plan-workflows/wizz-edit-prd/SKILL.md +30 -0
  116. package/src/bmm-skills/2-plan-workflows/{bmad-edit-prd → wizz-edit-prd}/customize.toml +2 -2
  117. package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/SKILL.md +5 -5
  118. package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/assets/prd-template.md +1 -1
  119. package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/customize.toml +8 -8
  120. package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/references/headless.md +1 -1
  121. package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/SKILL.md +5 -5
  122. package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/customize.toml +5 -5
  123. package/src/bmm-skills/2-plan-workflows/{bmad-validate-prd → wizz-validate-prd}/SKILL.md +11 -11
  124. package/src/bmm-skills/2-plan-workflows/{bmad-validate-prd → wizz-validate-prd}/customize.toml +2 -2
  125. package/src/bmm-skills/3-solutioning/{bmad-agent-architect → wizz-agent-architect}/SKILL.md +7 -7
  126. package/src/bmm-skills/3-solutioning/{bmad-agent-architect → wizz-agent-architect}/customize.toml +3 -2
  127. package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/SKILL.md +11 -11
  128. package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/customize.toml +6 -6
  129. package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/references/headless.md +1 -1
  130. package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/SKILL.md +5 -5
  131. package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/customize.toml +1 -1
  132. package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-06-final-assessment.md +2 -2
  133. package/src/bmm-skills/3-solutioning/{bmad-create-architecture → wizz-create-architecture}/SKILL.md +11 -11
  134. package/src/bmm-skills/3-solutioning/{bmad-create-architecture → wizz-create-architecture}/customize.toml +1 -1
  135. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/SKILL.md +5 -5
  136. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/customize.toml +2 -2
  137. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/steps/step-01-validate-prerequisites.md +3 -3
  138. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/steps/step-02-design-epics.md +2 -2
  139. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/steps/step-03-create-stories.md +2 -2
  140. package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/steps/step-04-final-validation.md +2 -2
  141. package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/SKILL.md +5 -5
  142. package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/customize.toml +1 -1
  143. package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/steps/step-02-generate.md +4 -4
  144. package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/steps/step-03-complete.md +1 -1
  145. package/src/bmm-skills/4-implementation/{bmad-agent-dev → wizz-agent-dev}/SKILL.md +7 -7
  146. package/src/bmm-skills/4-implementation/{bmad-agent-dev → wizz-agent-dev}/customize.toml +9 -8
  147. package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/SKILL.md +5 -5
  148. package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/customize.toml +1 -1
  149. package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/step-05-wrapup.md +1 -1
  150. package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/SKILL.md +5 -5
  151. package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/customize.toml +1 -1
  152. package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/steps/step-02-review.md +2 -2
  153. package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/steps/step-04-present.md +1 -1
  154. package/src/bmm-skills/4-implementation/{bmad-correct-course → wizz-correct-course}/SKILL.md +6 -6
  155. package/src/bmm-skills/4-implementation/{bmad-correct-course → wizz-correct-course}/customize.toml +1 -1
  156. package/src/bmm-skills/4-implementation/{bmad-create-story → wizz-create-story}/SKILL.md +6 -6
  157. package/src/bmm-skills/4-implementation/{bmad-create-story → wizz-create-story}/customize.toml +1 -1
  158. package/src/bmm-skills/4-implementation/{bmad-dev-story → wizz-dev-story}/SKILL.md +7 -6
  159. package/src/bmm-skills/4-implementation/{bmad-dev-story → wizz-dev-story}/customize.toml +1 -1
  160. package/src/bmm-skills/4-implementation/{bmad-investigate → wizz-investigate}/SKILL.md +5 -5
  161. package/src/bmm-skills/4-implementation/{bmad-investigate → wizz-investigate}/customize.toml +1 -1
  162. package/src/bmm-skills/4-implementation/{bmad-qa-generate-e2e-tests → wizz-qa-generate-e2e-tests}/SKILL.md +7 -7
  163. package/src/bmm-skills/4-implementation/{bmad-qa-generate-e2e-tests → wizz-qa-generate-e2e-tests}/customize.toml +1 -1
  164. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/SKILL.md +7 -5
  165. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/customize.toml +1 -1
  166. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-02-plan.md +1 -1
  167. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-04-review.md +2 -2
  168. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-05-present.md +1 -1
  169. package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-oneshot.md +2 -2
  170. package/src/bmm-skills/4-implementation/{bmad-retrospective → wizz-retrospective}/SKILL.md +7 -7
  171. package/src/bmm-skills/4-implementation/{bmad-retrospective → wizz-retrospective}/customize.toml +1 -1
  172. package/src/bmm-skills/4-implementation/{bmad-sprint-planning → wizz-sprint-planning}/SKILL.md +6 -6
  173. package/src/bmm-skills/4-implementation/{bmad-sprint-planning → wizz-sprint-planning}/customize.toml +1 -1
  174. package/src/bmm-skills/4-implementation/{bmad-sprint-status → wizz-sprint-status}/SKILL.md +7 -7
  175. package/src/bmm-skills/4-implementation/{bmad-sprint-status → wizz-sprint-status}/customize.toml +1 -1
  176. package/src/bmm-skills/module-help.csv +31 -30
  177. package/src/bmm-skills/module.yaml +12 -7
  178. package/src/core-skills/module-help.csv +11 -11
  179. package/src/core-skills/module.yaml +1 -1
  180. package/src/core-skills/{bmad-advanced-elicitation → wizz-advanced-elicitation}/SKILL.md +3 -3
  181. package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/SKILL.md +4 -4
  182. package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/customize.toml +4 -4
  183. package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/finalize.md +3 -3
  184. package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/headless.md +1 -1
  185. package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/in-chat-techniques.md +1 -1
  186. package/src/core-skills/{bmad-customize → wizz-customize}/SKILL.md +14 -14
  187. package/src/core-skills/{bmad-customize → wizz-customize}/scripts/list_customizable_skills.py +5 -5
  188. package/src/core-skills/{bmad-customize → wizz-customize}/scripts/tests/test_list_customizable_skills.py +21 -21
  189. package/src/core-skills/{bmad-editorial-review-prose → wizz-editorial-review-prose}/SKILL.md +1 -1
  190. package/src/core-skills/{bmad-editorial-review-structure → wizz-editorial-review-structure}/SKILL.md +1 -1
  191. package/src/core-skills/{bmad-help → wizz-help}/SKILL.md +4 -4
  192. package/src/core-skills/{bmad-index-docs → wizz-index-docs}/SKILL.md +1 -1
  193. package/src/core-skills/{bmad-party-mode → wizz-party-mode}/SKILL.md +4 -4
  194. package/src/core-skills/{bmad-party-mode → wizz-party-mode}/customize.toml +3 -3
  195. package/src/core-skills/{bmad-party-mode → wizz-party-mode}/references/create-party.md +5 -5
  196. package/src/core-skills/{bmad-party-mode → wizz-party-mode}/scripts/resolve_party.py +4 -4
  197. package/src/core-skills/{bmad-party-mode → wizz-party-mode}/scripts/tests/test-resolve_party.py +15 -15
  198. package/src/core-skills/{bmad-review-adversarial-general → wizz-review-adversarial-general}/SKILL.md +1 -1
  199. package/src/core-skills/{bmad-review-edge-case-hunter → wizz-review-edge-case-hunter}/SKILL.md +1 -1
  200. package/src/core-skills/{bmad-shard-doc → wizz-shard-doc}/SKILL.md +1 -1
  201. package/src/core-skills/{bmad-spec → wizz-spec}/SKILL.md +13 -13
  202. package/src/core-skills/{bmad-spec → wizz-spec}/assets/headless-schemas.md +4 -4
  203. package/src/core-skills/{bmad-spec → wizz-spec}/customize.toml +5 -5
  204. package/src/modules/wizz/README.md +2 -2
  205. package/src/modules/wizz/agents/wizz-ads/SKILL.md +2 -2
  206. package/src/modules/wizz/agents/wizz-copy/SKILL.md +2 -2
  207. package/src/modules/wizz/agents/wizz-designer/SKILL.md +2 -2
  208. package/src/modules/wizz/agents/wizz-growth/SKILL.md +2 -2
  209. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +10 -10
  210. package/src/modules/wizz/agents/wizz-maestro/customize.toml +2 -2
  211. package/src/modules/wizz/agents/wizz-memoria/SKILL.md +2 -2
  212. package/src/modules/wizz/agents/wizz-qa/SKILL.md +4 -4
  213. package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -1
  214. package/src/modules/wizz/agents/wizz-seo/SKILL.md +2 -2
  215. package/src/modules/wizz/overrides/bmad-agent-analyst.toml +1 -1
  216. package/src/modules/wizz/overrides/bmad-agent-architect.toml +1 -1
  217. package/src/modules/wizz/overrides/bmad-agent-dev.toml +1 -1
  218. package/src/modules/wizz/overrides/bmad-agent-pm.toml +1 -1
  219. package/src/modules/wizz/overrides/bmad-agent-tech-writer.toml +1 -1
  220. package/src/modules/wizz/overrides/bmad-agent-ux-designer.toml +1 -1
  221. package/src/modules/wizz/scripts/wizz-init.mjs +8 -8
  222. package/src/scripts/resolve_config.py +6 -6
  223. package/src/scripts/resolve_customization.py +5 -5
  224. package/tools/installer/README.md +3 -3
  225. package/tools/installer/bmad-cli.js +3 -3
  226. package/tools/installer/cli-utils.js +15 -15
  227. package/tools/installer/commands/install.js +2 -2
  228. package/tools/installer/commands/status.js +5 -5
  229. package/tools/installer/commands/uninstall.js +9 -9
  230. package/tools/installer/core/install-paths.js +2 -2
  231. package/tools/installer/core/installer.js +28 -28
  232. package/tools/installer/core/manifest-generator.js +12 -12
  233. package/tools/installer/core/python-check.js +6 -6
  234. package/tools/installer/ide/_config-driven.js +2 -2
  235. package/tools/installer/ide/platform-codes.js +1 -1
  236. package/tools/installer/ide/shared/installed-skills.js +1 -1
  237. package/tools/installer/ide/shared/path-utils.js +4 -4
  238. package/tools/installer/install-messages.yaml +7 -11
  239. package/tools/installer/modules/external-manager.js +1 -1
  240. package/tools/installer/modules/official-modules.js +3 -3
  241. package/tools/installer/set-overrides.js +10 -10
  242. package/tools/installer/ui.js +8 -8
  243. package/tools/migrate-custom-module-paths.js +1 -1
  244. package/tools/skill-validator.md +3 -3
  245. package/web-bundles/prd-coach/prd-template.md +1 -1
  246. package/build/site/cs/404/index.html +0 -42
  247. package/build/site/cs/explanation/advanced-elicitation/index.html +0 -105
  248. package/build/site/cs/explanation/adversarial-review/index.html +0 -109
  249. package/build/site/cs/explanation/analysis-phase/index.html +0 -129
  250. package/build/site/cs/explanation/brainstorming/index.html +0 -92
  251. package/build/site/cs/explanation/checkpoint-preview/index.html +0 -121
  252. package/build/site/cs/explanation/established-projects-faq/index.html +0 -107
  253. package/build/site/cs/explanation/forensic-investigation/index.html +0 -167
  254. package/build/site/cs/explanation/named-agents/index.html +0 -187
  255. package/build/site/cs/explanation/party-mode/index.html +0 -101
  256. package/build/site/cs/explanation/preventing-agent-conflicts/index.html +0 -185
  257. package/build/site/cs/explanation/project-context/index.html +0 -198
  258. package/build/site/cs/explanation/quick-dev/index.html +0 -113
  259. package/build/site/cs/explanation/web-bundles/index.html +0 -178
  260. package/build/site/cs/explanation/why-solutioning-matters/index.html +0 -168
  261. package/build/site/cs/how-to/customize-bmad/index.html +0 -197
  262. package/build/site/cs/how-to/established-projects/index.html +0 -165
  263. package/build/site/cs/how-to/expand-bmad-for-your-org/index.html +0 -245
  264. package/build/site/cs/how-to/get-answers-about-bmad/index.html +0 -179
  265. package/build/site/cs/how-to/install-bmad/index.html +0 -124
  266. package/build/site/cs/how-to/install-custom-modules/index.html +0 -197
  267. package/build/site/cs/how-to/non-interactive-installation/index.html +0 -255
  268. package/build/site/cs/how-to/project-context/index.html +0 -138
  269. package/build/site/cs/how-to/quick-fixes/index.html +0 -122
  270. package/build/site/cs/how-to/shard-large-documents/index.html +0 -103
  271. package/build/site/cs/how-to/upgrade-to-v6/index.html +0 -185
  272. package/build/site/cs/how-to/use-web-bundles/index.html +0 -99
  273. package/build/site/cs/index.html +0 -129
  274. package/build/site/cs/reference/agents/index.html +0 -173
  275. package/build/site/cs/reference/commands/index.html +0 -250
  276. package/build/site/cs/reference/core-tools/index.html +0 -337
  277. package/build/site/cs/reference/modules/index.html +0 -132
  278. package/build/site/cs/reference/testing/index.html +0 -218
  279. package/build/site/cs/reference/workflow-map/index.html +0 -240
  280. package/build/site/cs/roadmap/index.html +0 -77
  281. package/build/site/cs/tutorials/getting-started/index.html +0 -382
  282. package/build/site/fr/404/index.html +0 -42
  283. package/build/site/fr/explanation/advanced-elicitation/index.html +0 -105
  284. package/build/site/fr/explanation/adversarial-review/index.html +0 -126
  285. package/build/site/fr/explanation/analysis-phase/index.html +0 -137
  286. package/build/site/fr/explanation/brainstorming/index.html +0 -92
  287. package/build/site/fr/explanation/checkpoint-preview/index.html +0 -121
  288. package/build/site/fr/explanation/established-projects-faq/index.html +0 -107
  289. package/build/site/fr/explanation/forensic-investigation/index.html +0 -194
  290. package/build/site/fr/explanation/named-agents/index.html +0 -187
  291. package/build/site/fr/explanation/party-mode/index.html +0 -112
  292. package/build/site/fr/explanation/preventing-agent-conflicts/index.html +0 -196
  293. package/build/site/fr/explanation/project-context/index.html +0 -198
  294. package/build/site/fr/explanation/quick-dev/index.html +0 -127
  295. package/build/site/fr/explanation/web-bundles/index.html +0 -198
  296. package/build/site/fr/explanation/why-solutioning-matters/index.html +0 -191
  297. package/build/site/fr/how-to/customize-bmad/index.html +0 -277
  298. package/build/site/fr/how-to/established-projects/index.html +0 -176
  299. package/build/site/fr/how-to/expand-bmad-for-your-org/index.html +0 -245
  300. package/build/site/fr/how-to/get-answers-about-bmad/index.html +0 -129
  301. package/build/site/fr/how-to/install-bmad/index.html +0 -330
  302. package/build/site/fr/how-to/install-custom-modules/index.html +0 -197
  303. package/build/site/fr/how-to/non-interactive-installation/index.html +0 -73
  304. package/build/site/fr/how-to/project-context/index.html +0 -138
  305. package/build/site/fr/how-to/quick-fixes/index.html +0 -130
  306. package/build/site/fr/how-to/shard-large-documents/index.html +0 -103
  307. package/build/site/fr/how-to/upgrade-to-v6/index.html +0 -202
  308. package/build/site/fr/how-to/use-web-bundles/index.html +0 -99
  309. package/build/site/fr/index.html +0 -144
  310. package/build/site/fr/reference/agents/index.html +0 -179
  311. package/build/site/fr/reference/commands/index.html +0 -264
  312. package/build/site/fr/reference/core-tools/index.html +0 -392
  313. package/build/site/fr/reference/modules/index.html +0 -146
  314. package/build/site/fr/reference/testing/index.html +0 -229
  315. package/build/site/fr/reference/workflow-map/index.html +0 -282
  316. package/build/site/fr/roadmap/index.html +0 -77
  317. package/build/site/fr/tutorials/getting-started/index.html +0 -406
  318. package/build/site/pagefind/fragment/cs-cz_178b946.pf_fragment +0 -0
  319. package/build/site/pagefind/fragment/cs-cz_19e1744.pf_fragment +0 -0
  320. package/build/site/pagefind/fragment/cs-cz_1b81518.pf_fragment +0 -0
  321. package/build/site/pagefind/fragment/cs-cz_24fd94a.pf_fragment +0 -0
  322. package/build/site/pagefind/fragment/cs-cz_25c5ff1.pf_fragment +0 -0
  323. package/build/site/pagefind/fragment/cs-cz_2a7d8c4.pf_fragment +0 -0
  324. package/build/site/pagefind/fragment/cs-cz_2b14d1f.pf_fragment +0 -0
  325. package/build/site/pagefind/fragment/cs-cz_34d3775.pf_fragment +0 -0
  326. package/build/site/pagefind/fragment/cs-cz_366f93d.pf_fragment +0 -0
  327. package/build/site/pagefind/fragment/cs-cz_4761b65.pf_fragment +0 -0
  328. package/build/site/pagefind/fragment/cs-cz_4d1a40a.pf_fragment +0 -0
  329. package/build/site/pagefind/fragment/cs-cz_57dfabb.pf_fragment +0 -0
  330. package/build/site/pagefind/fragment/cs-cz_5c68f33.pf_fragment +0 -0
  331. package/build/site/pagefind/fragment/cs-cz_5efaba9.pf_fragment +0 -0
  332. package/build/site/pagefind/fragment/cs-cz_5f63a83.pf_fragment +0 -0
  333. package/build/site/pagefind/fragment/cs-cz_73bbdce.pf_fragment +0 -0
  334. package/build/site/pagefind/fragment/cs-cz_7b6af37.pf_fragment +0 -0
  335. package/build/site/pagefind/fragment/cs-cz_7d51fe5.pf_fragment +0 -0
  336. package/build/site/pagefind/fragment/cs-cz_7db5922.pf_fragment +0 -0
  337. package/build/site/pagefind/fragment/cs-cz_83e7116.pf_fragment +0 -0
  338. package/build/site/pagefind/fragment/cs-cz_83fec4e.pf_fragment +0 -0
  339. package/build/site/pagefind/fragment/cs-cz_84972ee.pf_fragment +0 -0
  340. package/build/site/pagefind/fragment/cs-cz_94e9289.pf_fragment +0 -0
  341. package/build/site/pagefind/fragment/cs-cz_a0a122c.pf_fragment +0 -0
  342. package/build/site/pagefind/fragment/cs-cz_a3e7fad.pf_fragment +0 -0
  343. package/build/site/pagefind/fragment/cs-cz_af43e66.pf_fragment +0 -0
  344. package/build/site/pagefind/fragment/cs-cz_b4f4e0a.pf_fragment +0 -0
  345. package/build/site/pagefind/fragment/cs-cz_b51b8b3.pf_fragment +0 -0
  346. package/build/site/pagefind/fragment/cs-cz_ba705d5.pf_fragment +0 -0
  347. package/build/site/pagefind/fragment/cs-cz_c315625.pf_fragment +0 -0
  348. package/build/site/pagefind/fragment/cs-cz_cf5138a.pf_fragment +0 -0
  349. package/build/site/pagefind/fragment/cs-cz_df8bdfe.pf_fragment +0 -0
  350. package/build/site/pagefind/fragment/cs-cz_e1b56f8.pf_fragment +0 -0
  351. package/build/site/pagefind/fragment/cs-cz_e3e33bb.pf_fragment +0 -0
  352. package/build/site/pagefind/fragment/cs-cz_f9d07b3.pf_fragment +0 -0
  353. package/build/site/pagefind/fragment/en_026af96.pf_fragment +0 -0
  354. package/build/site/pagefind/fragment/en_132ea1f.pf_fragment +0 -0
  355. package/build/site/pagefind/fragment/en_15ee460.pf_fragment +0 -0
  356. package/build/site/pagefind/fragment/en_171773c.pf_fragment +0 -0
  357. package/build/site/pagefind/fragment/en_1a7ec42.pf_fragment +0 -0
  358. package/build/site/pagefind/fragment/en_1bb5ebb.pf_fragment +0 -0
  359. package/build/site/pagefind/fragment/en_229434b.pf_fragment +0 -0
  360. package/build/site/pagefind/fragment/en_38efcf3.pf_fragment +0 -0
  361. package/build/site/pagefind/fragment/en_3d17cef.pf_fragment +0 -0
  362. package/build/site/pagefind/fragment/en_426a8fd.pf_fragment +0 -0
  363. package/build/site/pagefind/fragment/en_446b27a.pf_fragment +0 -0
  364. package/build/site/pagefind/fragment/en_582ecad.pf_fragment +0 -0
  365. package/build/site/pagefind/fragment/en_5d6b1f1.pf_fragment +0 -0
  366. package/build/site/pagefind/fragment/en_66f3f7a.pf_fragment +0 -0
  367. package/build/site/pagefind/fragment/en_68872f8.pf_fragment +0 -0
  368. package/build/site/pagefind/fragment/en_6e9deef.pf_fragment +0 -0
  369. package/build/site/pagefind/fragment/en_70a6a7e.pf_fragment +0 -0
  370. package/build/site/pagefind/fragment/en_73f0b1e.pf_fragment +0 -0
  371. package/build/site/pagefind/fragment/en_768fd99.pf_fragment +0 -0
  372. package/build/site/pagefind/fragment/en_7e52baa.pf_fragment +0 -0
  373. package/build/site/pagefind/fragment/en_8068cdc.pf_fragment +0 -0
  374. package/build/site/pagefind/fragment/en_9385c94.pf_fragment +0 -0
  375. package/build/site/pagefind/fragment/en_95b9c04.pf_fragment +0 -0
  376. package/build/site/pagefind/fragment/en_9a95e82.pf_fragment +0 -0
  377. package/build/site/pagefind/fragment/en_a66c4ef.pf_fragment +0 -0
  378. package/build/site/pagefind/fragment/en_ac6318c.pf_fragment +0 -0
  379. package/build/site/pagefind/fragment/en_bba8f66.pf_fragment +0 -0
  380. package/build/site/pagefind/fragment/en_d9f7193.pf_fragment +0 -0
  381. package/build/site/pagefind/fragment/en_e0e52b1.pf_fragment +0 -0
  382. package/build/site/pagefind/fragment/en_ece4cbe.pf_fragment +0 -0
  383. package/build/site/pagefind/fragment/en_ed6969c.pf_fragment +0 -0
  384. package/build/site/pagefind/fragment/en_f12187d.pf_fragment +0 -0
  385. package/build/site/pagefind/fragment/en_f643df1.pf_fragment +0 -0
  386. package/build/site/pagefind/fragment/fr-fr_10fdc25.pf_fragment +0 -0
  387. package/build/site/pagefind/fragment/fr-fr_132e2e0.pf_fragment +0 -0
  388. package/build/site/pagefind/fragment/fr-fr_1529d31.pf_fragment +0 -0
  389. package/build/site/pagefind/fragment/fr-fr_1531e2c.pf_fragment +0 -0
  390. package/build/site/pagefind/fragment/fr-fr_1d51fb7.pf_fragment +0 -0
  391. package/build/site/pagefind/fragment/fr-fr_27d0aaf.pf_fragment +0 -0
  392. package/build/site/pagefind/fragment/fr-fr_583aea8.pf_fragment +0 -0
  393. package/build/site/pagefind/fragment/fr-fr_5c4f14f.pf_fragment +0 -0
  394. package/build/site/pagefind/fragment/fr-fr_654bb96.pf_fragment +0 -0
  395. package/build/site/pagefind/fragment/fr-fr_65e37ae.pf_fragment +0 -0
  396. package/build/site/pagefind/fragment/fr-fr_6898afa.pf_fragment +0 -0
  397. package/build/site/pagefind/fragment/fr-fr_68d0a0b.pf_fragment +0 -0
  398. package/build/site/pagefind/fragment/fr-fr_6ce4bc1.pf_fragment +0 -0
  399. package/build/site/pagefind/fragment/fr-fr_7ddd126.pf_fragment +0 -0
  400. package/build/site/pagefind/fragment/fr-fr_7f50a2e.pf_fragment +0 -0
  401. package/build/site/pagefind/fragment/fr-fr_8d2df1b.pf_fragment +0 -0
  402. package/build/site/pagefind/fragment/fr-fr_9b8d33d.pf_fragment +0 -0
  403. package/build/site/pagefind/fragment/fr-fr_9c7f851.pf_fragment +0 -0
  404. package/build/site/pagefind/fragment/fr-fr_9cf6892.pf_fragment +0 -0
  405. package/build/site/pagefind/fragment/fr-fr_a512e53.pf_fragment +0 -0
  406. package/build/site/pagefind/fragment/fr-fr_a7ad3f6.pf_fragment +0 -0
  407. package/build/site/pagefind/fragment/fr-fr_afeac81.pf_fragment +0 -0
  408. package/build/site/pagefind/fragment/fr-fr_b364826.pf_fragment +0 -0
  409. package/build/site/pagefind/fragment/fr-fr_bdb3e1e.pf_fragment +0 -0
  410. package/build/site/pagefind/fragment/fr-fr_c4884c3.pf_fragment +0 -0
  411. package/build/site/pagefind/fragment/fr-fr_c54c827.pf_fragment +0 -0
  412. package/build/site/pagefind/fragment/fr-fr_ca664c2.pf_fragment +0 -0
  413. package/build/site/pagefind/fragment/fr-fr_ce3562d.pf_fragment +0 -0
  414. package/build/site/pagefind/fragment/fr-fr_d086476.pf_fragment +0 -0
  415. package/build/site/pagefind/fragment/fr-fr_d0b4e62.pf_fragment +0 -0
  416. package/build/site/pagefind/fragment/fr-fr_df4c57f.pf_fragment +0 -0
  417. package/build/site/pagefind/fragment/fr-fr_e1c2fa8.pf_fragment +0 -0
  418. package/build/site/pagefind/fragment/fr-fr_eaa1363.pf_fragment +0 -0
  419. package/build/site/pagefind/fragment/fr-fr_f456c69.pf_fragment +0 -0
  420. package/build/site/pagefind/fragment/fr-fr_fe8d783.pf_fragment +0 -0
  421. package/build/site/pagefind/fragment/vi-vn_1e5b1da.pf_fragment +0 -0
  422. package/build/site/pagefind/fragment/vi-vn_3268948.pf_fragment +0 -0
  423. package/build/site/pagefind/fragment/vi-vn_37f0bf6.pf_fragment +0 -0
  424. package/build/site/pagefind/fragment/vi-vn_485232c.pf_fragment +0 -0
  425. package/build/site/pagefind/fragment/vi-vn_4d3bd13.pf_fragment +0 -0
  426. package/build/site/pagefind/fragment/vi-vn_4e578d2.pf_fragment +0 -0
  427. package/build/site/pagefind/fragment/vi-vn_4ed2533.pf_fragment +0 -0
  428. package/build/site/pagefind/fragment/vi-vn_533743c.pf_fragment +0 -0
  429. package/build/site/pagefind/fragment/vi-vn_5ffd258.pf_fragment +0 -0
  430. package/build/site/pagefind/fragment/vi-vn_6bfed03.pf_fragment +0 -0
  431. package/build/site/pagefind/fragment/vi-vn_6f2ed6d.pf_fragment +0 -0
  432. package/build/site/pagefind/fragment/vi-vn_71aa305.pf_fragment +0 -0
  433. package/build/site/pagefind/fragment/vi-vn_7577c2c.pf_fragment +0 -0
  434. package/build/site/pagefind/fragment/vi-vn_7883435.pf_fragment +0 -0
  435. package/build/site/pagefind/fragment/vi-vn_7f2e496.pf_fragment +0 -0
  436. package/build/site/pagefind/fragment/vi-vn_7fce614.pf_fragment +0 -0
  437. package/build/site/pagefind/fragment/vi-vn_86274a6.pf_fragment +0 -0
  438. package/build/site/pagefind/fragment/vi-vn_8c4fd62.pf_fragment +0 -0
  439. package/build/site/pagefind/fragment/vi-vn_a06c773.pf_fragment +0 -0
  440. package/build/site/pagefind/fragment/vi-vn_a2e535b.pf_fragment +0 -0
  441. package/build/site/pagefind/fragment/vi-vn_a4b9dbc.pf_fragment +0 -0
  442. package/build/site/pagefind/fragment/vi-vn_b2d8e01.pf_fragment +0 -0
  443. package/build/site/pagefind/fragment/vi-vn_b631cf6.pf_fragment +0 -0
  444. package/build/site/pagefind/fragment/vi-vn_c970ebb.pf_fragment +0 -0
  445. package/build/site/pagefind/fragment/vi-vn_d229f2a.pf_fragment +0 -0
  446. package/build/site/pagefind/fragment/vi-vn_d685e88.pf_fragment +0 -0
  447. package/build/site/pagefind/fragment/vi-vn_dab2c52.pf_fragment +0 -0
  448. package/build/site/pagefind/fragment/vi-vn_df5a829.pf_fragment +0 -0
  449. package/build/site/pagefind/fragment/vi-vn_dfcf280.pf_fragment +0 -0
  450. package/build/site/pagefind/fragment/vi-vn_e8ec8cf.pf_fragment +0 -0
  451. package/build/site/pagefind/fragment/vi-vn_e9f3439.pf_fragment +0 -0
  452. package/build/site/pagefind/fragment/vi-vn_f0bfe83.pf_fragment +0 -0
  453. package/build/site/pagefind/fragment/vi-vn_f5462f7.pf_fragment +0 -0
  454. package/build/site/pagefind/fragment/vi-vn_fcc9bb7.pf_fragment +0 -0
  455. package/build/site/pagefind/fragment/vi-vn_fd55264.pf_fragment +0 -0
  456. package/build/site/pagefind/fragment/vi-vn_ffd39df.pf_fragment +0 -0
  457. package/build/site/pagefind/fragment/zh-cn_119c5bb.pf_fragment +0 -0
  458. package/build/site/pagefind/fragment/zh-cn_198e8ce.pf_fragment +0 -0
  459. package/build/site/pagefind/fragment/zh-cn_19b87a8.pf_fragment +0 -0
  460. package/build/site/pagefind/fragment/zh-cn_1edc3a5.pf_fragment +0 -0
  461. package/build/site/pagefind/fragment/zh-cn_36ae67a.pf_fragment +0 -0
  462. package/build/site/pagefind/fragment/zh-cn_37ab313.pf_fragment +0 -0
  463. package/build/site/pagefind/fragment/zh-cn_3b56778.pf_fragment +0 -0
  464. package/build/site/pagefind/fragment/zh-cn_5735cd4.pf_fragment +0 -0
  465. package/build/site/pagefind/fragment/zh-cn_6110769.pf_fragment +0 -0
  466. package/build/site/pagefind/fragment/zh-cn_6d66d9e.pf_fragment +0 -0
  467. package/build/site/pagefind/fragment/zh-cn_731b3f5.pf_fragment +0 -0
  468. package/build/site/pagefind/fragment/zh-cn_82885ff.pf_fragment +0 -0
  469. package/build/site/pagefind/fragment/zh-cn_8be7aac.pf_fragment +0 -0
  470. package/build/site/pagefind/fragment/zh-cn_8c3fa9e.pf_fragment +0 -0
  471. package/build/site/pagefind/fragment/zh-cn_8f452f7.pf_fragment +0 -0
  472. package/build/site/pagefind/fragment/zh-cn_96ccc61.pf_fragment +0 -0
  473. package/build/site/pagefind/fragment/zh-cn_9f29932.pf_fragment +0 -0
  474. package/build/site/pagefind/fragment/zh-cn_a24d786.pf_fragment +0 -0
  475. package/build/site/pagefind/fragment/zh-cn_a598178.pf_fragment +0 -0
  476. package/build/site/pagefind/fragment/zh-cn_a603f17.pf_fragment +0 -0
  477. package/build/site/pagefind/fragment/zh-cn_a9cffcf.pf_fragment +0 -0
  478. package/build/site/pagefind/fragment/zh-cn_c1bebbd.pf_fragment +0 -0
  479. package/build/site/pagefind/fragment/zh-cn_c38cf84.pf_fragment +0 -0
  480. package/build/site/pagefind/fragment/zh-cn_c42a851.pf_fragment +0 -0
  481. package/build/site/pagefind/fragment/zh-cn_ce57c6e.pf_fragment +0 -0
  482. package/build/site/pagefind/fragment/zh-cn_d4b5cd5.pf_fragment +0 -0
  483. package/build/site/pagefind/fragment/zh-cn_da40e6b.pf_fragment +0 -0
  484. package/build/site/pagefind/fragment/zh-cn_da777ec.pf_fragment +0 -0
  485. package/build/site/pagefind/fragment/zh-cn_de145f9.pf_fragment +0 -0
  486. package/build/site/pagefind/fragment/zh-cn_e376bf7.pf_fragment +0 -0
  487. package/build/site/pagefind/fragment/zh-cn_e663978.pf_fragment +0 -0
  488. package/build/site/pagefind/fragment/zh-cn_e97a13b.pf_fragment +0 -0
  489. package/build/site/pagefind/fragment/zh-cn_f13873d.pf_fragment +0 -0
  490. package/build/site/pagefind/fragment/zh-cn_f25fad4.pf_fragment +0 -0
  491. package/build/site/pagefind/fragment/zh-cn_f7edf48.pf_fragment +0 -0
  492. package/build/site/pagefind/index/cs-cz_24147b6.pf_index +0 -0
  493. package/build/site/pagefind/index/cs-cz_82fc657.pf_index +0 -0
  494. package/build/site/pagefind/index/cs-cz_8f6a83c.pf_index +0 -0
  495. package/build/site/pagefind/index/en_432f933.pf_index +0 -0
  496. package/build/site/pagefind/index/en_70c744a.pf_index +0 -0
  497. package/build/site/pagefind/index/en_fd84991.pf_index +0 -0
  498. package/build/site/pagefind/index/fr-fr_7275484.pf_index +0 -0
  499. package/build/site/pagefind/index/fr-fr_8096dd3.pf_index +0 -0
  500. package/build/site/pagefind/index/fr-fr_b34df12.pf_index +0 -0
  501. package/build/site/pagefind/index/fr-fr_e6ad665.pf_index +0 -0
  502. package/build/site/pagefind/index/vi-vn_129cf7e.pf_index +0 -0
  503. package/build/site/pagefind/index/vi-vn_7f54472.pf_index +0 -0
  504. package/build/site/pagefind/index/vi-vn_c1f31ce.pf_index +0 -0
  505. package/build/site/pagefind/index/vi-vn_c56f634.pf_index +0 -0
  506. package/build/site/pagefind/index/zh-cn_5ed0486.pf_index +0 -0
  507. package/build/site/pagefind/index/zh-cn_ad4d724.pf_index +0 -0
  508. package/build/site/pagefind/index/zh-cn_bc9f7b6.pf_index +0 -0
  509. package/build/site/pagefind/pagefind.cs-cz_cd39a8505eabf.pf_meta +0 -0
  510. package/build/site/pagefind/pagefind.en_8ae84a1b9c.pf_meta +0 -0
  511. package/build/site/pagefind/pagefind.fr-fr_20fca6f342d9a.pf_meta +0 -0
  512. package/build/site/pagefind/pagefind.vi-vn_6a45d08c2bbc8.pf_meta +0 -0
  513. package/build/site/pagefind/pagefind.zh-cn_ae911ac338eae.pf_meta +0 -0
  514. package/build/site/pagefind/wasm.fr-fr.pagefind +0 -0
  515. package/build/site/vi-vn/404/index.html +0 -42
  516. package/build/site/vi-vn/bmad-developer-guide/index.html +0 -794
  517. package/build/site/vi-vn/explanation/advanced-elicitation/index.html +0 -105
  518. package/build/site/vi-vn/explanation/adversarial-review/index.html +0 -109
  519. package/build/site/vi-vn/explanation/analysis-phase/index.html +0 -129
  520. package/build/site/vi-vn/explanation/brainstorming/index.html +0 -92
  521. package/build/site/vi-vn/explanation/checkpoint-preview/index.html +0 -121
  522. package/build/site/vi-vn/explanation/established-projects-faq/index.html +0 -107
  523. package/build/site/vi-vn/explanation/forensic-investigation/index.html +0 -167
  524. package/build/site/vi-vn/explanation/named-agents/index.html +0 -187
  525. package/build/site/vi-vn/explanation/party-mode/index.html +0 -101
  526. package/build/site/vi-vn/explanation/preventing-agent-conflicts/index.html +0 -185
  527. package/build/site/vi-vn/explanation/project-context/index.html +0 -198
  528. package/build/site/vi-vn/explanation/quick-dev/index.html +0 -113
  529. package/build/site/vi-vn/explanation/web-bundles/index.html +0 -178
  530. package/build/site/vi-vn/explanation/why-solutioning-matters/index.html +0 -168
  531. package/build/site/vi-vn/how-to/customize-bmad/index.html +0 -277
  532. package/build/site/vi-vn/how-to/established-projects/index.html +0 -165
  533. package/build/site/vi-vn/how-to/expand-bmad-for-your-org/index.html +0 -228
  534. package/build/site/vi-vn/how-to/get-answers-about-bmad/index.html +0 -129
  535. package/build/site/vi-vn/how-to/install-bmad/index.html +0 -124
  536. package/build/site/vi-vn/how-to/install-custom-modules/index.html +0 -197
  537. package/build/site/vi-vn/how-to/non-interactive-installation/index.html +0 -300
  538. package/build/site/vi-vn/how-to/project-context/index.html +0 -138
  539. package/build/site/vi-vn/how-to/quick-fixes/index.html +0 -122
  540. package/build/site/vi-vn/how-to/shard-large-documents/index.html +0 -103
  541. package/build/site/vi-vn/how-to/upgrade-to-v6/index.html +0 -185
  542. package/build/site/vi-vn/how-to/use-web-bundles/index.html +0 -99
  543. package/build/site/vi-vn/index.html +0 -129
  544. package/build/site/vi-vn/reference/agents/index.html +0 -173
  545. package/build/site/vi-vn/reference/commands/index.html +0 -250
  546. package/build/site/vi-vn/reference/core-tools/index.html +0 -337
  547. package/build/site/vi-vn/reference/modules/index.html +0 -132
  548. package/build/site/vi-vn/reference/testing/index.html +0 -218
  549. package/build/site/vi-vn/reference/workflow-map/index.html +0 -240
  550. package/build/site/vi-vn/roadmap/index.html +0 -77
  551. package/build/site/vi-vn/tutorials/getting-started/index.html +0 -382
  552. package/build/site/zh-cn/404/index.html +0 -42
  553. package/build/site/zh-cn/explanation/advanced-elicitation/index.html +0 -142
  554. package/build/site/zh-cn/explanation/adversarial-review/index.html +0 -132
  555. package/build/site/zh-cn/explanation/analysis-phase/index.html +0 -129
  556. package/build/site/zh-cn/explanation/brainstorming/index.html +0 -147
  557. package/build/site/zh-cn/explanation/checkpoint-preview/index.html +0 -121
  558. package/build/site/zh-cn/explanation/established-projects-faq/index.html +0 -122
  559. package/build/site/zh-cn/explanation/forensic-investigation/index.html +0 -167
  560. package/build/site/zh-cn/explanation/named-agents/index.html +0 -187
  561. package/build/site/zh-cn/explanation/party-mode/index.html +0 -144
  562. package/build/site/zh-cn/explanation/preventing-agent-conflicts/index.html +0 -191
  563. package/build/site/zh-cn/explanation/project-context/index.html +0 -153
  564. package/build/site/zh-cn/explanation/quick-dev/index.html +0 -139
  565. package/build/site/zh-cn/explanation/web-bundles/index.html +0 -178
  566. package/build/site/zh-cn/explanation/why-solutioning-matters/index.html +0 -175
  567. package/build/site/zh-cn/how-to/customize-bmad/index.html +0 -202
  568. package/build/site/zh-cn/how-to/established-projects/index.html +0 -166
  569. package/build/site/zh-cn/how-to/expand-bmad-for-your-org/index.html +0 -223
  570. package/build/site/zh-cn/how-to/get-answers-about-bmad/index.html +0 -198
  571. package/build/site/zh-cn/how-to/install-bmad/index.html +0 -126
  572. package/build/site/zh-cn/how-to/install-custom-modules/index.html +0 -197
  573. package/build/site/zh-cn/how-to/non-interactive-installation/index.html +0 -254
  574. package/build/site/zh-cn/how-to/project-context/index.html +0 -143
  575. package/build/site/zh-cn/how-to/quick-fixes/index.html +0 -122
  576. package/build/site/zh-cn/how-to/shard-large-documents/index.html +0 -110
  577. package/build/site/zh-cn/how-to/upgrade-to-v6/index.html +0 -198
  578. package/build/site/zh-cn/how-to/use-web-bundles/index.html +0 -99
  579. package/build/site/zh-cn/index.html +0 -129
  580. package/build/site/zh-cn/reference/agents/index.html +0 -178
  581. package/build/site/zh-cn/reference/commands/index.html +0 -245
  582. package/build/site/zh-cn/reference/core-tools/index.html +0 -313
  583. package/build/site/zh-cn/reference/modules/index.html +0 -181
  584. package/build/site/zh-cn/reference/testing/index.html +0 -226
  585. package/build/site/zh-cn/reference/workflow-map/index.html +0 -238
  586. package/build/site/zh-cn/roadmap/index.html +0 -77
  587. package/build/site/zh-cn/tutorials/getting-started/index.html +0 -381
  588. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +0 -30
  589. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/branfield-memo.md +0 -0
  590. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/forkbird-brief/addendum.md +0 -0
  591. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/forkbird-brief/brief.md +0 -0
  592. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/forkbird-brief/decision-log.md +0 -0
  593. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/meridian-mobility-report.md +0 -0
  594. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/mossridge-brief/addendum.md +0 -0
  595. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/mossridge-brief/brief.md +0 -0
  596. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/mossridge-brief/decision-log.md +0 -0
  597. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/pantry-bridge-interviews.md +0 -0
  598. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/files/q2-brainstorm.md +0 -0
  599. /package/evals/bmm-skills/{bmad-product-brief → wizz-product-brief}/triggers.json +0 -0
  600. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-01-init.md +0 -0
  601. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-02-domain-analysis.md +0 -0
  602. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-03-competitive-landscape.md +0 -0
  603. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-04-regulatory-focus.md +0 -0
  604. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/domain-steps/step-05-technical-trends.md +0 -0
  605. /package/src/bmm-skills/1-analysis/research/{bmad-domain-research → wizz-domain-research}/research.template.md +0 -0
  606. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/research.template.md +0 -0
  607. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-01-init.md +0 -0
  608. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-02-customer-behavior.md +0 -0
  609. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-03-customer-pain-points.md +0 -0
  610. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-04-customer-decisions.md +0 -0
  611. /package/src/bmm-skills/1-analysis/research/{bmad-market-research → wizz-market-research}/steps/step-05-competitive-analysis.md +0 -0
  612. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/research.template.md +0 -0
  613. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-01-init.md +0 -0
  614. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-02-technical-overview.md +0 -0
  615. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-03-integration-patterns.md +0 -0
  616. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-04-architectural-patterns.md +0 -0
  617. /package/src/bmm-skills/1-analysis/research/{bmad-technical-research → wizz-technical-research}/technical-steps/step-05-implementation-research.md +0 -0
  618. /package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/explain-concept.md +0 -0
  619. /package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/mermaid-gen.md +0 -0
  620. /package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/validate-doc.md +0 -0
  621. /package/src/bmm-skills/1-analysis/{bmad-agent-tech-writer → wizz-agent-tech-writer}/write-document.md +0 -0
  622. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/checklist.md +0 -0
  623. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/documentation-requirements.csv +0 -0
  624. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/instructions.md +0 -0
  625. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/templates/deep-dive-template.md +0 -0
  626. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/templates/index-template.md +0 -0
  627. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/templates/project-overview-template.md +0 -0
  628. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/templates/project-scan-report-schema.json +0 -0
  629. /package/src/bmm-skills/1-analysis/{bmad-document-project → wizz-document-project}/templates/source-tree-template.md +0 -0
  630. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/agents/artifact-analyzer.md +0 -0
  631. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/agents/web-researcher.md +0 -0
  632. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/assets/prfaq-template.md +0 -0
  633. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/bmad-manifest.json +0 -0
  634. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/references/customer-faq.md +0 -0
  635. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/references/internal-faq.md +0 -0
  636. /package/src/bmm-skills/1-analysis/{bmad-prfaq → wizz-prfaq}/references/press-release.md +0 -0
  637. /package/src/bmm-skills/1-analysis/{bmad-product-brief → wizz-product-brief}/assets/brief-template.md +0 -0
  638. /package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/assets/headless-schemas.md +0 -0
  639. /package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/assets/prd-validation-checklist.md +0 -0
  640. /package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/assets/validation-report-template.html +0 -0
  641. /package/src/bmm-skills/2-plan-workflows/{bmad-prd → wizz-prd}/references/validate.md +0 -0
  642. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/color-themes.md +0 -0
  643. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/design-directions.md +0 -0
  644. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/design-example-editorial.md +0 -0
  645. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/design-example-mobile.md +0 -0
  646. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/design-example-shadcn.md +0 -0
  647. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/excalidraw-wireframe.md +0 -0
  648. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/experience-example-mobile.md +0 -0
  649. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/experience-example-shadcn.md +0 -0
  650. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/headless-schemas.md +0 -0
  651. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/key-screens.md +0 -0
  652. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/assets/validation-report-template.html +0 -0
  653. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/references/creative-tools.md +0 -0
  654. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/references/design-md-spec.md +0 -0
  655. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/references/headless.md +0 -0
  656. /package/src/bmm-skills/2-plan-workflows/{bmad-ux → wizz-ux}/references/validate.md +0 -0
  657. /package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/assets/spine-template.md +0 -0
  658. /package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/references/reviewer-gate.md +0 -0
  659. /package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/scripts/lint_spine.py +0 -0
  660. /package/src/bmm-skills/3-solutioning/{bmad-architecture → wizz-architecture}/scripts/tests/test_lint_spine.py +0 -0
  661. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-01-document-discovery.md +0 -0
  662. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-02-prd-analysis.md +0 -0
  663. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +0 -0
  664. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-04-ux-alignment.md +0 -0
  665. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/steps/step-05-epic-quality-review.md +0 -0
  666. /package/src/bmm-skills/3-solutioning/{bmad-check-implementation-readiness → wizz-check-implementation-readiness}/templates/readiness-report-template.md +0 -0
  667. /package/src/bmm-skills/3-solutioning/{bmad-create-epics-and-stories → wizz-create-epics-and-stories}/templates/epics-template.md +0 -0
  668. /package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/project-context-template.md +0 -0
  669. /package/src/bmm-skills/3-solutioning/{bmad-generate-project-context → wizz-generate-project-context}/steps/step-01-discover.md +0 -0
  670. /package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/generate-trail.md +0 -0
  671. /package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/step-01-orientation.md +0 -0
  672. /package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/step-02-walkthrough.md +0 -0
  673. /package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/step-03-detail-pass.md +0 -0
  674. /package/src/bmm-skills/4-implementation/{bmad-checkpoint-preview → wizz-checkpoint-preview}/step-04-testing.md +0 -0
  675. /package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/steps/step-01-gather-context.md +0 -0
  676. /package/src/bmm-skills/4-implementation/{bmad-code-review → wizz-code-review}/steps/step-03-triage.md +0 -0
  677. /package/src/bmm-skills/4-implementation/{bmad-correct-course → wizz-correct-course}/checklist.md +0 -0
  678. /package/src/bmm-skills/4-implementation/{bmad-create-story → wizz-create-story}/checklist.md +0 -0
  679. /package/src/bmm-skills/4-implementation/{bmad-create-story → wizz-create-story}/discover-inputs.md +0 -0
  680. /package/src/bmm-skills/4-implementation/{bmad-create-story → wizz-create-story}/template.md +0 -0
  681. /package/src/bmm-skills/4-implementation/{bmad-dev-story → wizz-dev-story}/checklist.md +0 -0
  682. /package/src/bmm-skills/4-implementation/{bmad-investigate → wizz-investigate}/references/case-file-template.md +0 -0
  683. /package/src/bmm-skills/4-implementation/{bmad-qa-generate-e2e-tests → wizz-qa-generate-e2e-tests}/checklist.md +0 -0
  684. /package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/compile-epic-context.md +0 -0
  685. /package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/spec-template.md +0 -0
  686. /package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-01-clarify-and-route.md +0 -0
  687. /package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/step-03-implement.md +0 -0
  688. /package/src/bmm-skills/4-implementation/{bmad-quick-dev → wizz-quick-dev}/sync-sprint-status.md +0 -0
  689. /package/src/bmm-skills/4-implementation/{bmad-sprint-planning → wizz-sprint-planning}/checklist.md +0 -0
  690. /package/src/bmm-skills/4-implementation/{bmad-sprint-planning → wizz-sprint-planning}/sprint-status-template.yaml +0 -0
  691. /package/src/core-skills/{bmad-advanced-elicitation → wizz-advanced-elicitation}/methods.csv +0 -0
  692. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/analysis/catalog-analysis.md +0 -0
  693. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/analysis/method-matrix.csv +0 -0
  694. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/assets/brain-icons.json +0 -0
  695. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/assets/brain-methods.csv +0 -0
  696. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/assets/brain-selector.html +0 -0
  697. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/converge.md +0 -0
  698. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/mode-autonomous.md +0 -0
  699. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/mode-facilitator.md +0 -0
  700. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/mode-partner.md +0 -0
  701. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/references/resume.md +0 -0
  702. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/scripts/brain.py +0 -0
  703. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/scripts/memlog.py +0 -0
  704. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/scripts/tests/test_brain.py +0 -0
  705. /package/src/core-skills/{bmad-brainstorming → wizz-brainstorming}/scripts/tests/test_memlog.py +0 -0
  706. /package/src/core-skills/{bmad-party-mode → wizz-party-mode}/references/mode-agent-team.md +0 -0
  707. /package/src/core-skills/{bmad-party-mode → wizz-party-mode}/references/mode-auto.md +0 -0
  708. /package/src/core-skills/{bmad-party-mode → wizz-party-mode}/references/mode-subagent.md +0 -0
  709. /package/src/core-skills/{bmad-spec → wizz-spec}/assets/spec-template.md +0 -0
@@ -1,132 +0,0 @@
1
- <!DOCTYPE html><html lang="vi-VN" 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>Các Module Chính Thức | Wizz Method</title><link rel="canonical" href="http://localhost:3000/vi-vn/reference/modules/"/><link rel="alternate" hreflang="en" href="http://localhost:3000/reference/modules/"/><link rel="alternate" hreflang="vi-VN" href="http://localhost:3000/vi-vn/reference/modules/"/><link rel="alternate" hreflang="zh-CN" href="http://localhost:3000/zh-cn/reference/modules/"/><link rel="alternate" hreflang="fr-FR" href="http://localhost:3000/fr/reference/modules/"/><link rel="alternate" hreflang="cs-CZ" href="http://localhost:3000/cs/reference/modules/"/><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="Các Module Chính Thức"/><meta property="og:type" content="article"/><meta property="og:url" content="http://localhost:3000/vi-vn/reference/modules/"/><meta property="og:locale" content="vi-VN"/><meta property="og:description" content="Các module bổ sung để xây agent tùy chỉnh, tăng cường sáng tạo, phát triển game và kiểm thử"/><meta property="og:site_name" content="Wizz Method"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Các module bổ sung để xây agent tùy chỉnh, tăng cường sáng tạo, phát triển game và kiểm thử"/><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">Chuyển đến nội dung chính</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="/vi-vn" 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="{&#34;placeholder&#34;:&#34;Tìm kiếm&#34;}"> <button data-open-modal disabled aria-label="Tìm kiếm" 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">Tìm kiếm</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="Tìm kiếm" class="astro-kbzrce66"> <div class="dialog-frame sl-flex astro-kbzrce66"> <button data-close-modal class="sl-flex md:sl-hidden astro-kbzrce66"> Hủy </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">Chọn giao diện</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">Tối</option><option value="light" class="astro-nmwkdvwx">Sáng</option><option value="auto" selected class="astro-nmwkdvwx">Tự động</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">Chọn ngôn ngữ</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="/reference/modules/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/reference/modules/" selected class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/reference/modules/" class="astro-nmwkdvwx">简体中文</option><option value="/fr/reference/modules/" class="astro-nmwkdvwx">Français</option><option value="/cs/reference/modules/" 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="Điều hướng chính"> <starlight-menu-button class="print:hidden astro-rcmu22v7"> <button aria-expanded="false" aria-label="Menu" 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="10wi2mh" 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="/vi-vn/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">Chào mừng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/roadmap/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">Lộ trình</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">Hướng dẫn nhập môn</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="/vi-vn/tutorials/getting-started/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Bắt đầu</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">Hướng dẫn tác vụ</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="/vi-vn/how-to/install-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách cài đặt BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/non-interactive-installation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cài đặt không tương tác</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/install-custom-modules/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cài đặt module tùy chỉnh và module cộng đồng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/upgrade-to-v6/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách nâng cấp lên v6</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/get-answers-about-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách tìm câu trả lời về BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/quick-fixes/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Sửa nhanh</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/established-projects/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Dự án đã tồn tại</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/customize-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách tùy chỉnh BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Quản lý bối cảnh dự án</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/shard-large-documents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Hướng dẫn chia nhỏ tài liệu</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/expand-bmad-for-your-org/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách mở rộng BMad cho tổ chức của bạn</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/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">Giải thích</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="/vi-vn/explanation/named-agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Agent có tên riêng (Named Agents)</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/analysis-phase/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Giai đoạn phân tích: từ ý tưởng đến nền tảng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/brainstorming/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Động não ý tưởng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/advanced-elicitation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Khai thác nâng cao</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/why-solutioning-matters/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Vì sao solutioning quan trọng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/preventing-agent-conflicts/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Ngăn xung đột giữa các agent</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/quick-dev/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Phát triển nhanh</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/checkpoint-preview/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Xem trước Checkpoint</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/adversarial-review/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Đánh giá đối kháng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/forensic-investigation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Forensic Investigation</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/party-mode/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Chế độ Party</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Bối cảnh dự án</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/established-projects-faq/" class="astro-yhouv36n"> <span class="astro-yhouv36n">FAQ cho dự án đã tồn tại</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/web-bundles/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Web Bundles</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">Tham chiếu</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="/vi-vn/reference/workflow-map/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Sơ đồ workflow</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các agent</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/core-tools/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Công cụ cốt lõi</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/commands/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các skill</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/modules/" aria-current="page" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các Module Chính Thức</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/testing/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các Tùy Chọn Kiểm Thử</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">Chọn giao diện</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">Tối</option><option value="light" class="astro-nmwkdvwx">Sáng</option><option value="auto" selected class="astro-nmwkdvwx">Tự động</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">Chọn ngôn ngữ</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="/reference/modules/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/reference/modules/" selected class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/reference/modules/" class="astro-nmwkdvwx">简体中文</option><option value="/fr/reference/modules/" class="astro-nmwkdvwx">Français</option><option value="/cs/reference/modules/" 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">Trên trang này<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;">Tổng quan</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#bmad-builder" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">BMad Builder</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#creative-intelligence-suite" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Creative Intelligence Suite</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#game-dev-studio" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Game Dev Studio</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#test-architect-tea" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Test Architect (TEA)</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#community-modules" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Community Modules</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">Trên trang này</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;">Tổng quan</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#bmad-builder" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">BMad Builder</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#creative-intelligence-suite" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Creative Intelligence Suite</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#game-dev-studio" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Game Dev Studio</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#test-architect-tea" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Test Architect (TEA)</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#community-modules" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Community Modules</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="vi-VN" dir="ltr"> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <h1 id="_top" class="astro-obdi53jg">Các Module Chính Thức</h1> </div> </div> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <div class="sl-markdown-content"> <p>BMad được mở rộng thông qua các module chính thức mà bạn chọn trong quá trình cài đặt. Những module bổ sung này cung cấp agent, workflow và task chuyên biệt cho các lĩnh vực cụ thể, vượt ra ngoài phần lõi tích hợp sẵn và BMM (Agile suite).</p>
74
- <aside aria-label="Cài đặt module" 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>Cài đặt module</p><div class="starlight-aside__content"><p>Chạy <code dir="auto">npx bmad-method install</code> rồi chọn những module bạn muốn. Trình cài đặt sẽ tự xử lý phần tải về, cấu hình và tích hợp vào IDE.</p></div></aside>
75
- <div class="sl-heading-wrapper level-h2"><h2 id="bmad-builder">BMad Builder</h2><a class="sl-anchor-link" href="#bmad-builder"><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="">Phần tiêu đề “BMad Builder”</span></a></div>
76
- <p>Tạo agent tùy chỉnh, workflow tùy chỉnh và module chuyên biệt theo lĩnh vực với sự hỗ trợ có hướng dẫn. BMad Builder là meta-module để mở rộng chính framework này.</p>
77
- <ul>
78
- <li><strong>Mã:</strong> <code dir="auto">bmb</code></li>
79
- <li><strong>npm:</strong> <a href="https://www.npmjs.com/package/bmad-builder"><code dir="auto">bmad-builder</code></a></li>
80
- <li><strong>GitHub:</strong> <a href="https://github.com/bmad-code-org/bmad-builder">bmad-code-org/bmad-builder</a></li>
81
- </ul>
82
- <p><strong>Cung cấp:</strong></p>
83
- <ul>
84
- <li>Agent Builder — tạo AI agent chuyên biệt với chuyên môn và quyền truy cập công cụ tùy chỉnh</li>
85
- <li>Workflow Builder — thiết kế quy trình có cấu trúc với các bước và điểm quyết định</li>
86
- <li>Module Builder — đóng gói agent và workflow thành các module có thể chia sẻ và phát hành</li>
87
- <li>Thiết lập có tương tác bằng YAML cùng hỗ trợ publish lên npm</li>
88
- </ul>
89
- <div class="sl-heading-wrapper level-h2"><h2 id="creative-intelligence-suite">Creative Intelligence Suite</h2><a class="sl-anchor-link" href="#creative-intelligence-suite"><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="">Phần tiêu đề “Creative Intelligence Suite”</span></a></div>
90
- <p>Bộ công cụ vận hành bởi AI dành cho sáng tạo có cấu trúc, phát ý tưởng và đổi mới trong giai đoạn đầu phát triển. Bộ này cung cấp nhiều agent giúp brainstorming, design thinking và giải quyết vấn đề bằng các framework đã được kiểm chứng.</p>
91
- <ul>
92
- <li><strong>Mã:</strong> <code dir="auto">cis</code></li>
93
- <li><strong>npm:</strong> <a href="https://www.npmjs.com/package/bmad-creative-intelligence-suite"><code dir="auto">bmad-creative-intelligence-suite</code></a></li>
94
- <li><strong>GitHub:</strong> <a href="https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite">bmad-code-org/bmad-module-creative-intelligence-suite</a></li>
95
- </ul>
96
- <p><strong>Cung cấp:</strong></p>
97
- <ul>
98
- <li>Các agent Innovation Strategist, Design Thinking Coach và Brainstorming Coach</li>
99
- <li>Problem Solver và Creative Problem Solver cho tư duy hệ thống và tư duy bên lề</li>
100
- <li>Storyteller và Presentation Master cho kể chuyện và pitching</li>
101
- <li>Các framework phát ý tưởng như SCAMPER, Reverse Brainstorming và problem reframing</li>
102
- </ul>
103
- <div class="sl-heading-wrapper level-h2"><h2 id="game-dev-studio">Game Dev Studio</h2><a class="sl-anchor-link" href="#game-dev-studio"><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="">Phần tiêu đề “Game Dev Studio”</span></a></div>
104
- <p>Các workflow phát triển game có cấu trúc, được điều chỉnh cho Unity, Unreal, Godot và các engine tùy chỉnh. Hỗ trợ làm prototype nhanh qua Quick Flow và sản xuất toàn diện bằng sprint theo epic.</p>
105
- <ul>
106
- <li><strong>Mã:</strong> <code dir="auto">gds</code></li>
107
- <li><strong>npm:</strong> <a href="https://www.npmjs.com/package/bmad-game-dev-studio"><code dir="auto">bmad-game-dev-studio</code></a></li>
108
- <li><strong>GitHub:</strong> <a href="https://github.com/bmad-code-org/bmad-module-game-dev-studio">bmad-code-org/bmad-module-game-dev-studio</a></li>
109
- </ul>
110
- <p><strong>Cung cấp:</strong></p>
111
- <ul>
112
- <li>Workflow tạo Game Design Document (GDD)</li>
113
- <li>Chế độ Quick Dev cho làm prototype nhanh</li>
114
- <li>Hỗ trợ thiết kế narrative cho nhân vật, hội thoại và world-building</li>
115
- <li>Bao phủ hơn 21 thể loại game cùng hướng dẫn kiến trúc theo engine</li>
116
- </ul>
117
- <div class="sl-heading-wrapper level-h2"><h2 id="test-architect-tea">Test Architect (TEA)</h2><a class="sl-anchor-link" href="#test-architect-tea"><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="">Phần tiêu đề “Test Architect (TEA)”</span></a></div>
118
- <p>Chiến lược kiểm thử cấp doanh nghiệp, hướng dẫn tự động hóa và quyết định release gate thông qua một agent chuyên gia cùng chín workflow có cấu trúc. TEA vượt xa QA agent tích hợp sẵn nhờ ưu tiên theo rủi ro và truy vết yêu cầu.</p>
119
- <ul>
120
- <li><strong>Mã:</strong> <code dir="auto">tea</code></li>
121
- <li><strong>npm:</strong> <a href="https://www.npmjs.com/package/bmad-method-test-architecture-enterprise"><code dir="auto">bmad-method-test-architecture-enterprise</code></a></li>
122
- <li><strong>GitHub:</strong> <a href="https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise">bmad-code-org/bmad-method-test-architecture-enterprise</a></li>
123
- </ul>
124
- <p><strong>Cung cấp:</strong></p>
125
- <ul>
126
- <li>Agent Murat (Master Test Architect and Quality Advisor)</li>
127
- <li>Các workflow cho test design, ATDD, automation, test review và traceability</li>
128
- <li>Đánh giá NFR, thiết lập CI và dựng sườn framework kiểm thử</li>
129
- <li>Ưu tiên P0-P3 cùng tích hợp tùy chọn với Playwright Utils và MCP</li>
130
- </ul>
131
- <div class="sl-heading-wrapper level-h2"><h2 id="community-modules">Community Modules</h2><a class="sl-anchor-link" href="#community-modules"><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="">Phần tiêu đề “Community Modules”</span></a></div>
132
- <p>Các module cộng đồng và một chợ module đang được chuẩn bị. Hãy theo dõi <a href="https://github.com/bmad-code-org">tổ chức BMad trên GitHub</a> để cập nhật.</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>
@@ -1,218 +0,0 @@
1
- <!DOCTYPE html><html lang="vi-VN" 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>Các Tùy Chọn Kiểm Thử | Wizz Method</title><link rel="canonical" href="http://localhost:3000/vi-vn/reference/testing/"/><link rel="alternate" hreflang="en" href="http://localhost:3000/reference/testing/"/><link rel="alternate" hreflang="vi-VN" href="http://localhost:3000/vi-vn/reference/testing/"/><link rel="alternate" hreflang="zh-CN" href="http://localhost:3000/zh-cn/reference/testing/"/><link rel="alternate" hreflang="fr-FR" href="http://localhost:3000/fr/reference/testing/"/><link rel="alternate" hreflang="cs-CZ" href="http://localhost:3000/cs/reference/testing/"/><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="Các Tùy Chọn Kiểm Thử"/><meta property="og:type" content="article"/><meta property="og:url" content="http://localhost:3000/vi-vn/reference/testing/"/><meta property="og:locale" content="vi-VN"/><meta property="og:description" content="So sánh workflow QA tích hợp sẵn với module Test Architect (TEA) cho tự động hóa kiểm thử."/><meta property="og:site_name" content="Wizz Method"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="So sánh workflow QA tích hợp sẵn với module Test Architect (TEA) cho tự động hóa kiểm thử."/><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">Chuyển đến nội dung chính</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="/vi-vn" 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="{&#34;placeholder&#34;:&#34;Tìm kiếm&#34;}"> <button data-open-modal disabled aria-label="Tìm kiếm" 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">Tìm kiếm</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="Tìm kiếm" class="astro-kbzrce66"> <div class="dialog-frame sl-flex astro-kbzrce66"> <button data-close-modal class="sl-flex md:sl-hidden astro-kbzrce66"> Hủy </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">Chọn giao diện</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">Tối</option><option value="light" class="astro-nmwkdvwx">Sáng</option><option value="auto" selected class="astro-nmwkdvwx">Tự động</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">Chọn ngôn ngữ</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="/reference/testing/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/reference/testing/" selected class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/reference/testing/" class="astro-nmwkdvwx">简体中文</option><option value="/fr/reference/testing/" class="astro-nmwkdvwx">Français</option><option value="/cs/reference/testing/" 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="Điều hướng chính"> <starlight-menu-button class="print:hidden astro-rcmu22v7"> <button aria-expanded="false" aria-label="Menu" 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="10wi2mh" 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="/vi-vn/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">Chào mừng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/roadmap/" class="large astro-yhouv36n"> <span class="astro-yhouv36n">Lộ trình</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">Hướng dẫn nhập môn</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="/vi-vn/tutorials/getting-started/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Bắt đầu</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">Hướng dẫn tác vụ</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="/vi-vn/how-to/install-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách cài đặt BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/non-interactive-installation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cài đặt không tương tác</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/install-custom-modules/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cài đặt module tùy chỉnh và module cộng đồng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/upgrade-to-v6/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách nâng cấp lên v6</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/get-answers-about-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách tìm câu trả lời về BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/quick-fixes/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Sửa nhanh</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/established-projects/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Dự án đã tồn tại</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/customize-bmad/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách tùy chỉnh BMad</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Quản lý bối cảnh dự án</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/shard-large-documents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Hướng dẫn chia nhỏ tài liệu</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/how-to/expand-bmad-for-your-org/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Cách mở rộng BMad cho tổ chức của bạn</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/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">Giải thích</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="/vi-vn/explanation/named-agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Agent có tên riêng (Named Agents)</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/analysis-phase/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Giai đoạn phân tích: từ ý tưởng đến nền tảng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/brainstorming/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Động não ý tưởng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/advanced-elicitation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Khai thác nâng cao</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/why-solutioning-matters/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Vì sao solutioning quan trọng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/preventing-agent-conflicts/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Ngăn xung đột giữa các agent</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/quick-dev/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Phát triển nhanh</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/checkpoint-preview/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Xem trước Checkpoint</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/adversarial-review/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Đánh giá đối kháng</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/forensic-investigation/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Forensic Investigation</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/party-mode/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Chế độ Party</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/project-context/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Bối cảnh dự án</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/established-projects-faq/" class="astro-yhouv36n"> <span class="astro-yhouv36n">FAQ cho dự án đã tồn tại</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/explanation/web-bundles/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Web Bundles</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">Tham chiếu</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="/vi-vn/reference/workflow-map/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Sơ đồ workflow</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/agents/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các agent</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/core-tools/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Công cụ cốt lõi</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/commands/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các skill</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/modules/" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các Module Chính Thức</span> </a> </li><li class="astro-yhouv36n"> <a href="/vi-vn/reference/testing/" aria-current="page" class="astro-yhouv36n"> <span class="astro-yhouv36n">Các Tùy Chọn Kiểm Thử</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">Chọn giao diện</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">Tối</option><option value="light" class="astro-nmwkdvwx">Sáng</option><option value="auto" selected class="astro-nmwkdvwx">Tự động</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">Chọn ngôn ngữ</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="/reference/testing/" class="astro-nmwkdvwx">English</option><option value="/vi-vn/reference/testing/" selected class="astro-nmwkdvwx">Tiếng Việt</option><option value="/zh-cn/reference/testing/" class="astro-nmwkdvwx">简体中文</option><option value="/fr/reference/testing/" class="astro-nmwkdvwx">Français</option><option value="/cs/reference/testing/" 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">Trên trang này<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;">Tổng quan</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#nên-dùng-cái-nào" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Nên Dùng Cái Nào?</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#workflow-qa-tích-hợp-sẵn" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Workflow QA Tích Hợp Sẵn</span> </a> <ul class="isMobile astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#workflow-làm-gì" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Workflow Làm Gì</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#mẫu-kiểm-thử" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Mẫu Kiểm Thử</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#khi-nào-nên-dùng-qa-tích-hợp-sn" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Khi Nào Nên Dùng QA Tích Hợp S���n</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#module-test-architect-tea" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Module Test Architect (TEA)</span> </a> <ul class="isMobile astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#tea-cung-cấp-gì" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">TEA Cung Cấp Gì</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#khi-nào-nên-dùng-tea" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Khi Nào Nên Dùng TEA</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#kiểm-thử-nằm-ở-đâu-trong-workflow" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Kiểm Thử Nằm Ở Đâu Trong Workflow</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">Trên trang này</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;">Tổng quan</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#nên-dùng-cái-nào" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Nên Dùng Cái Nào?</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#workflow-qa-tích-hợp-sẵn" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Workflow QA Tích Hợp Sẵn</span> </a> <ul class="astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#workflow-làm-gì" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Workflow Làm Gì</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#mẫu-kiểm-thử" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Mẫu Kiểm Thử</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#khi-nào-nên-dùng-qa-tích-hợp-sn" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Khi Nào Nên Dùng QA Tích Hợp S���n</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#module-test-architect-tea" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Module Test Architect (TEA)</span> </a> <ul class="astro-xsqhb6qp" style="--depth: 1;"> <li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#tea-cung-cấp-gì" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">TEA Cung Cấp Gì</span> </a> </li><li class="astro-xsqhb6qp" style="--depth: 1;"> <a href="#khi-nào-nên-dùng-tea" class="astro-xsqhb6qp" style="--depth: 1;"> <span class="astro-xsqhb6qp" style="--depth: 1;">Khi Nào Nên Dùng TEA</span> </a> </li> </ul> </li><li class="astro-xsqhb6qp" style="--depth: 0;"> <a href="#kiểm-thử-nằm-ở-đâu-trong-workflow" class="astro-xsqhb6qp" style="--depth: 0;"> <span class="astro-xsqhb6qp" style="--depth: 0;">Kiểm Thử Nằm Ở Đâu Trong Workflow</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="vi-VN" dir="ltr"> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <h1 id="_top" class="astro-obdi53jg">Các Tùy Chọn Kiểm Thử</h1> </div> </div> <div class="content-panel astro-aoj46c3a"> <div class="sl-container astro-aoj46c3a"> <div class="sl-markdown-content"> <p>BMad cung cấp hai hướng kiểm thử: workflow QA tích hợp sẵn để tạo test nhanh và module Test Architect có thể cài thêm cho chiến lược kiểm thử c��p doanh nghiệp.</p>
74
- <div class="sl-heading-wrapper level-h2"><h2 id="nên-dùng-cái-nào">Nên Dùng Cái Nào?</h2><a class="sl-anchor-link" href="#nên-dùng-cái-nào"><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="">Phần tiêu đề “Nên Dùng Cái Nào?”</span></a></div>
75
-
76
-
77
-
78
-
79
-
80
-
81
-
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
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
- <table><thead><tr><th>Yếu tố</th><th>QA tích hợp sẵn</th><th>Module TEA</th></tr></thead><tbody><tr><td><strong>Phù hợp nhất với</strong></td><td>Dự án nhỏ-trung bình, cần bao phủ nhanh</td><td>Dự án lớn, miền nghiệp vụ bị ràng buộc hoặc phức tạp</td></tr><tr><td><strong>Thiết lập</strong></td><td>Không cần cài thêm, đã có sẵn trong BMM</td><td>Cài riêng qua <code dir="auto">npx bmad-method install</code></td></tr><tr><td><strong>Cách tiếp cận</strong></td><td>Tạo test nhanh, lặp tinh chỉnh sau</td><td>Lập kế hoạch trước rồi mới tạo test có truy vết</td></tr><tr><td><strong>Loại test</strong></td><td>API và E2E</td><td>API, E2E, ATDD, NFR và nhiều loại khác</td></tr><tr><td><strong>Chiến lược</strong></td><td>Happy path + edge case quan trọng</td><td>Ưu tiên theo rủi ro (P0-P3)</td></tr><tr><td><strong>Số workflow</strong></td><td>1 (Automate)</td><td>9 (design, ATDD, automate, review, trace và các workflow khác)</td></tr></tbody></table>
116
- <aside aria-label="Bắt đầu với QA tích h��p sẵn" 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>Bắt đầu với QA tích h��p sẵn</p><div class="starlight-aside__content"><p>Phần lớn dự án nên bắt đầu với workflow QA tích hợp sẵn. Nếu sau này bạn cần chiến lược kiểm thử, quality gate hoặc truy vết yêu cầu, hãy cài TEA song song.</p></div></aside>
117
- <div class="sl-heading-wrapper level-h2"><h2 id="workflow-qa-tích-hợp-sẵn">Workflow QA Tích Hợp Sẵn</h2><a class="sl-anchor-link" href="#workflow-qa-tích-hợp-sẵn"><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="">Phần tiêu đề “Workflow QA Tích Hợp Sẵn”</span></a></div>
118
- <p>Workflow QA tích hợp sẵn (<code dir="auto">bmad-qa-generate-e2e-tests</code>) nằm trong module BMM (Agile suite), khả dụng thông qua Developer agent. Nó tạo test chạy được rất nhanh bằng framework kiểm thử hiện có của dự án, không cần thêm cấu hình hay bước cài đặt bổ sung.</p>
119
- <p><strong>Trigger:</strong> <code dir="auto">QA</code> (thông qua Developer agent) hoặc <code dir="auto">bmad-qa-generate-e2e-tests</code></p>
120
- <div class="sl-heading-wrapper level-h3"><h3 id="workflow-làm-gì">Workflow Làm Gì</h3><a class="sl-anchor-link" href="#workflow-làm-gì"><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="">Phần tiêu đề “Workflow Làm Gì”</span></a></div>
121
- <p>Workflow QA (Automate) gồm năm bước:</p>
122
- <ol>
123
- <li><strong>Phát hiện framework test</strong> — quét <code dir="auto">package.json</code> và các file test hiện có để nhận ra framework của bạn như Jest, Vitest, Playwright, Cypress hoặc bất kỳ runner tiêu chuẩn nào. Nếu chưa có gì, nó sẽ phân tích stack dự án và đề xuất một lựa chọn.</li>
124
- <li><strong>Xác định tính năng</strong> — hỏi cần kiểm thử phần nào hoặc tự khám phá các tính năng trong codebase.</li>
125
- <li><strong>Tạo API tests</strong> — bao phủ status code, cấu trúc phản hồi, happy path và 1-2 trường hợp lỗi.</li>
126
- <li><strong>Tạo E2E tests</strong> — bao phủ workflow người dùng bằng semantic locator và assertion trên kết quả nhìn thấy được.</li>
127
- <li><strong>Chạy và xác minh</strong> — thực thi test vừa tạo và sửa lỗi hỏng ngay lập tức.</li>
128
- </ol>
129
- <p>Workflow tạo một bản tóm tắt kiểm thử và lưu nó vào thư mục implementation artifacts của dự án.</p>
130
- <div class="sl-heading-wrapper level-h3"><h3 id="mẫu-kiểm-thử">Mẫu Kiểm Thử</h3><a class="sl-anchor-link" href="#mẫu-kiểm-thử"><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="">Phần tiêu đề “Mẫu Kiểm Thử”</span></a></div>
131
- <p>Các test được tạo theo triết lý “đơn giản và dễ bảo trì”:</p>
132
- <ul>
133
- <li><strong>Chỉ dùng API chuẩn của framework</strong> — không kéo thêm utility ngoài hay abstraction tùy chỉnh</li>
134
- <li><strong>Semantic locator</strong> cho UI test — dùng role, label, text thay vì CSS selector</li>
135
- <li><strong>Test độc lập</strong> — không phụ thuộc thứ tự chạy</li>
136
- <li><strong>Không hardcode wait hoặc sleep</strong></li>
137
- <li><strong>Mô tả rõ ràng</strong> để test cũng đóng vai trò tài liệu tính năng</li>
138
- </ul>
139
- <aside aria-label="Phạm vi" 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>Phạm vi</p><div class="starlight-aside__content"><p>Workflow QA chỉ tạo test. Nếu bạn cần code review hoặc xác nhận story, hãy dùng workflow Code Review (<code dir="auto">CR</code>).</p></div></aside>
140
- <div class="sl-heading-wrapper level-h3"><h3 id="khi-nào-nên-dùng-qa-tích-hợp-sn">Khi Nào Nên Dùng QA Tích Hợp S���n</h3><a class="sl-anchor-link" href="#khi-nào-nên-dùng-qa-tích-hợp-sn"><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="">Phần tiêu đề “Khi Nào Nên Dùng QA Tích Hợp S���n”</span></a></div>
141
- <ul>
142
- <li>Cần bao phủ test nhanh cho một tính năng mới hoặc hiện có</li>
143
- <li>Muốn tự động hóa kiểm thử thân thiện với người mới mà không cần thiết lập phức tạp</li>
144
- <li>Muốn các pattern test chuẩn mà lập trình viên nào cũng đọc và bảo trì được</li>
145
- <li>Dự án nhỏ-trung bình, nơi chiến lược kiểm thử toàn diện là không cần thiết</li>
146
- </ul>
147
- <div class="sl-heading-wrapper level-h2"><h2 id="module-test-architect-tea">Module Test Architect (TEA)</h2><a class="sl-anchor-link" href="#module-test-architect-tea"><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="">Phần tiêu đề “Module Test Architect (TEA)”</span></a></div>
148
- <p>TEA là một module độc lập cung cấp agent chuyên gia Murat cùng chín workflow có cấu trúc cho kiểm thử cấp doanh nghiệp. Nó vượt ra ngoài việc tạo test để bao gồm chiến lược kiểm thử, lập kế hoạch theo rủi ro, quality gate và truy vết yêu cầu.</p>
149
- <ul>
150
- <li><strong>Tài liệu:</strong> <a href="https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/">TEA Module Docs</a></li>
151
- <li><strong>Cài đặt:</strong> <code dir="auto">npx bmad-method install</code> rồi chọn module TEA</li>
152
- <li><strong>npm:</strong> <a href="https://www.npmjs.com/package/bmad-method-test-architecture-enterprise"><code dir="auto">bmad-method-test-architecture-enterprise</code></a></li>
153
- </ul>
154
- <div class="sl-heading-wrapper level-h3"><h3 id="tea-cung-cấp-gì">TEA Cung Cấp Gì</h3><a class="sl-anchor-link" href="#tea-cung-cấp-gì"><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="">Phần tiêu đề “TEA Cung Cấp Gì”</span></a></div>
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
- <table><thead><tr><th>Workflow</th><th>Mục đích</th></tr></thead><tbody><tr><td>Test Design</td><td>Tạo chiến lược kiểm thử toàn diện gắn với yêu cầu</td></tr><tr><td>ATDD</td><td>Phát triển hướng acceptance test với tiêu chí của stakeholder</td></tr><tr><td>Automate</td><td>Tạo test bằng pattern và utility nâng cao</td></tr><tr><td>Test Review</td><td>Kiểm tra chất lượng và độ bao phủ của test so với chiến lược</td></tr><tr><td>Traceability</td><td>Liên kết test ngược về yêu cầu để phục vụ audit và tuân thủ</td></tr><tr><td>NFR Assessment</td><td>Đánh giá các yêu cầu phi chức năng như hiệu năng, bảo mật</td></tr><tr><td>CI Setup</td><td>Cấu hình thực thi test trong pipeline tích hợp liên tục</td></tr><tr><td>Framework Scaffolding</td><td>Dựng hạ tầng và cấu trúc dự án kiểm thử</td></tr><tr><td>Release Gate</td><td>Ra quyết định phát hành go/no-go dựa trên dữ liệu</td></tr></tbody></table>
201
- <p>TEA cũng hỗ trợ ưu tiên theo rủi ro P0-P3 và tích hợp tùy chọn với Playwright Utils cùng công cụ MCP.</p>
202
- <div class="sl-heading-wrapper level-h3"><h3 id="khi-nào-nên-dùng-tea">Khi Nào Nên Dùng TEA</h3><a class="sl-anchor-link" href="#khi-nào-nên-dùng-tea"><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="">Phần tiêu đề “Khi Nào Nên Dùng TEA”</span></a></div>
203
- <ul>
204
- <li>Dự án cần truy vết yêu cầu hoặc tài liệu tuân thủ</li>
205
- <li>Đội ngũ cần ưu tiên kiểm thử theo rủi ro trên nhiều tính năng</li>
206
- <li>Môi trường doanh nghiệp có quality gate chính thức trước phát hành</li>
207
- <li>Miền nghiệp vụ phức tạp, nơi chiến lược kiểm thử phải được lên trước khi viết test</li>
208
- <li>Dự án đã vượt quá mô hình một workflow của QA tích hợp sẵn</li>
209
- </ul>
210
- <div class="sl-heading-wrapper level-h2"><h2 id="kiểm-thử-nằm-ở-đâu-trong-workflow">Kiểm Thử Nằm Ở Đâu Trong Workflow</h2><a class="sl-anchor-link" href="#kiểm-thử-nằm-ở-đâu-trong-workflow"><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="">Phần tiêu đề “Kiểm Thử Nằm Ở Đâu Trong Workflow”</span></a></div>
211
- <p>Workflow QA Automate xuất hiện ở Phase 4 (Implementation) trong workflow map của BMad Method. Nó được thiết kế để chạy <strong>sau khi hoàn tất trọn vẹn một epic</strong> — tức là khi mọi story trong epic đó đã được triển khai và code review xong. Trình tự điển hình là:</p>
212
- <ol>
213
- <li>Với mỗi story trong epic: triển khai bằng Dev (<code dir="auto">DS</code>), sau đó xác nhận bằng Code Review (<code dir="auto">CR</code>)</li>
214
- <li>Sau khi epic hoàn tất: tạo test bằng <code dir="auto">QA</code> (thông qua Developer agent) hoặc workflow Automate của TEA</li>
215
- <li>Chạy retrospective (<code dir="auto">bmad-retrospective</code>) để ghi nhận bài học rút ra</li>
216
- </ol>
217
- <p>Workflow QA tích hợp sẵn làm việc trực tiếp từ source code mà không cần nạp tài liệu lập kế hoạch như PRD hay architecture. Các workflow của TEA có thể tích hợp với artifact lập kế hoạch ở các bước trước để phục vụ truy vết.</p>
218
- <p>Để hiểu rõ hơn kiểm thử nằm ở đâu trong quy trình tổng thể, xem <a href="/vi-vn/reference/workflow-map/">Workflow Map</a>.</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>