bmad-method 6.0.5-next.9 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/package.json +1 -1
  2. package/src/bmm/agents/analyst.agent.yaml +1 -1
  3. package/src/bmm/module-help.csv +1 -1
  4. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -1
  5. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -1
  6. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -1
  7. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -1
  8. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +1 -1
  9. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +1 -1
  10. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +1 -1
  11. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +1 -1
  12. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +1 -1
  13. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +1 -1
  14. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +1 -1
  15. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +1 -1
  16. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +1 -1
  17. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +1 -1
  18. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +1 -1
  19. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +1 -1
  20. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +1 -1
  21. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +1 -1
  22. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +1 -1
  23. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +2 -2
  24. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +2 -2
  25. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +2 -2
  26. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +2 -2
  27. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +2 -2
  28. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +2 -2
  29. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +2 -2
  30. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +2 -2
  31. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +2 -2
  32. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +2 -2
  33. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +2 -2
  34. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +2 -2
  35. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +2 -2
  36. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +2 -2
  37. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +2 -2
  38. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +2 -2
  39. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +2 -2
  40. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +31 -13
  41. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +1 -1
  42. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +6 -2
  43. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
  44. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +4 -0
  45. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +0 -4
  46. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
  47. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
  48. package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +1 -1
  49. package/src/core/module-help.csv +2 -2
  50. package/src/core/workflows/bmad-brainstorming/SKILL.md +6 -0
  51. package/src/core/workflows/bmad-brainstorming/bmad-skill-manifest.yaml +1 -0
  52. package/src/core/workflows/{brainstorming → bmad-brainstorming}/workflow.md +2 -5
  53. package/src/core/workflows/bmad-party-mode/SKILL.md +6 -0
  54. package/src/core/workflows/bmad-party-mode/bmad-skill-manifest.yaml +1 -0
  55. package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-03-graceful-exit.md +0 -1
  56. package/src/core/workflows/{party-mode → bmad-party-mode}/workflow.md +0 -4
  57. package/tools/cli/external-official-modules.yaml +18 -18
  58. package/tools/cli/installers/lib/core/installer.js +25 -8
  59. package/tools/cli/installers/lib/ide/_base-ide.js +0 -1
  60. package/tools/cli/installers/lib/ide/_config-driven.js +9 -4
  61. package/tools/cli/installers/lib/ide/manager.js +3 -3
  62. package/tools/cli/lib/agent/compiler.js +1 -1
  63. package/.augment/code_review_guidelines.yaml +0 -231
  64. package/.coderabbit.yaml +0 -85
  65. package/.github/CODE_OF_CONDUCT.md +0 -128
  66. package/.github/FUNDING.yaml +0 -15
  67. package/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -124
  68. package/.github/ISSUE_TEMPLATE/config.yaml +0 -8
  69. package/.github/ISSUE_TEMPLATE/documentation.yaml +0 -55
  70. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -22
  71. package/.github/ISSUE_TEMPLATE/issue.md +0 -32
  72. package/.github/PULL_REQUEST_TEMPLATE.md +0 -13
  73. package/.github/scripts/discord-helpers.sh +0 -34
  74. package/.github/workflows/coderabbit-review.yaml +0 -22
  75. package/.github/workflows/discord.yaml +0 -90
  76. package/.github/workflows/docs.yaml +0 -64
  77. package/.github/workflows/publish.yaml +0 -133
  78. package/.github/workflows/quality.yaml +0 -116
  79. package/.husky/pre-commit +0 -20
  80. package/.markdownlint-cli2.yaml +0 -41
  81. package/.nvmrc +0 -1
  82. package/.prettierignore +0 -12
  83. package/.vscode/settings.json +0 -96
  84. package/CHANGELOG.md +0 -1785
  85. package/CNAME +0 -1
  86. package/CONTRIBUTING.md +0 -176
  87. package/CONTRIBUTORS.md +0 -32
  88. package/SECURITY.md +0 -85
  89. package/TRADEMARK.md +0 -55
  90. package/Wordmark.png +0 -0
  91. package/banner-bmad-method.png +0 -0
  92. package/docs/404.md +0 -9
  93. package/docs/_STYLE_GUIDE.md +0 -370
  94. package/docs/explanation/advanced-elicitation.md +0 -49
  95. package/docs/explanation/adversarial-review.md +0 -59
  96. package/docs/explanation/brainstorming.md +0 -33
  97. package/docs/explanation/established-projects-faq.md +0 -50
  98. package/docs/explanation/party-mode.md +0 -59
  99. package/docs/explanation/preventing-agent-conflicts.md +0 -112
  100. package/docs/explanation/project-context.md +0 -157
  101. package/docs/explanation/quick-dev-new-preview.md +0 -73
  102. package/docs/explanation/quick-flow.md +0 -77
  103. package/docs/explanation/why-solutioning-matters.md +0 -77
  104. package/docs/how-to/customize-bmad.md +0 -172
  105. package/docs/how-to/established-projects.md +0 -117
  106. package/docs/how-to/get-answers-about-bmad.md +0 -138
  107. package/docs/how-to/install-bmad.md +0 -116
  108. package/docs/how-to/non-interactive-installation.md +0 -171
  109. package/docs/how-to/project-context.md +0 -136
  110. package/docs/how-to/quick-fixes.md +0 -123
  111. package/docs/how-to/shard-large-documents.md +0 -78
  112. package/docs/how-to/upgrade-to-v6.md +0 -100
  113. package/docs/index.md +0 -60
  114. package/docs/reference/agents.md +0 -28
  115. package/docs/reference/commands.md +0 -145
  116. package/docs/reference/modules.md +0 -76
  117. package/docs/reference/testing.md +0 -106
  118. package/docs/reference/workflow-map.md +0 -89
  119. package/docs/roadmap.mdx +0 -136
  120. package/docs/tutorials/getting-started.md +0 -275
  121. package/docs/zh-cn/404.md +0 -9
  122. package/docs/zh-cn/_STYLE_GUIDE.md +0 -370
  123. package/docs/zh-cn/explanation/advanced-elicitation.md +0 -62
  124. package/docs/zh-cn/explanation/adversarial-review.md +0 -71
  125. package/docs/zh-cn/explanation/brainstorming.md +0 -43
  126. package/docs/zh-cn/explanation/established-projects-faq.md +0 -60
  127. package/docs/zh-cn/explanation/party-mode.md +0 -79
  128. package/docs/zh-cn/explanation/preventing-agent-conflicts.md +0 -137
  129. package/docs/zh-cn/explanation/project-context.md +0 -176
  130. package/docs/zh-cn/explanation/quick-flow.md +0 -93
  131. package/docs/zh-cn/explanation/why-solutioning-matters.md +0 -90
  132. package/docs/zh-cn/how-to/customize-bmad.md +0 -182
  133. package/docs/zh-cn/how-to/established-projects.md +0 -134
  134. package/docs/zh-cn/how-to/get-answers-about-bmad.md +0 -144
  135. package/docs/zh-cn/how-to/install-bmad.md +0 -105
  136. package/docs/zh-cn/how-to/non-interactive-installation.md +0 -181
  137. package/docs/zh-cn/how-to/project-context.md +0 -152
  138. package/docs/zh-cn/how-to/quick-fixes.md +0 -140
  139. package/docs/zh-cn/how-to/shard-large-documents.md +0 -86
  140. package/docs/zh-cn/how-to/upgrade-to-v6.md +0 -120
  141. package/docs/zh-cn/index.md +0 -69
  142. package/docs/zh-cn/reference/agents.md +0 -41
  143. package/docs/zh-cn/reference/commands.md +0 -166
  144. package/docs/zh-cn/reference/modules.md +0 -94
  145. package/docs/zh-cn/reference/testing.md +0 -122
  146. package/docs/zh-cn/reference/workflow-map.md +0 -104
  147. package/docs/zh-cn/roadmap.mdx +0 -152
  148. package/docs/zh-cn/tutorials/getting-started.md +0 -300
  149. package/eslint.config.mjs +0 -141
  150. package/prettier.config.mjs +0 -32
  151. package/src/core/workflows/brainstorming/bmad-skill-manifest.yaml +0 -3
  152. package/src/core/workflows/party-mode/bmad-skill-manifest.yaml +0 -3
  153. package/test/README.md +0 -295
  154. package/test/adversarial-review-tests/README.md +0 -56
  155. package/test/adversarial-review-tests/sample-content.md +0 -46
  156. package/test/adversarial-review-tests/test-cases.yaml +0 -103
  157. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +0 -27
  158. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +0 -30
  159. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +0 -22
  160. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +0 -20
  161. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +0 -25
  162. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +0 -24
  163. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +0 -25
  164. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +0 -25
  165. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +0 -25
  166. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +0 -31
  167. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +0 -25
  168. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +0 -25
  169. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +0 -25
  170. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +0 -25
  171. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +0 -26
  172. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +0 -24
  173. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +0 -27
  174. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +0 -23
  175. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +0 -24
  176. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +0 -27
  177. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +0 -27
  178. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +0 -24
  179. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +0 -29
  180. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +0 -31
  181. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +0 -28
  182. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +0 -28
  183. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +0 -5
  184. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +0 -28
  185. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +0 -11
  186. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +0 -19
  187. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +0 -18
  188. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +0 -24
  189. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +0 -22
  190. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +0 -27
  191. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +0 -31
  192. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +0 -22
  193. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +0 -38
  194. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +0 -23
  195. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +0 -31
  196. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +0 -34
  197. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +0 -24
  198. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +0 -24
  199. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +0 -24
  200. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +0 -24
  201. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +0 -23
  202. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +0 -24
  203. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +0 -24
  204. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +0 -24
  205. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +0 -22
  206. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +0 -28
  207. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +0 -30
  208. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +0 -24
  209. package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +0 -3
  210. package/test/fixtures/file-refs-csv/invalid/empty-data.csv +0 -1
  211. package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +0 -3
  212. package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +0 -3
  213. package/test/fixtures/file-refs-csv/valid/bmm-style.csv +0 -3
  214. package/test/fixtures/file-refs-csv/valid/core-style.csv +0 -3
  215. package/test/fixtures/file-refs-csv/valid/minimal.csv +0 -2
  216. package/test/test-agent-schema.js +0 -387
  217. package/test/test-cli-integration.sh +0 -159
  218. package/test/test-file-refs-csv.js +0 -133
  219. package/test/test-install-to-bmad.js +0 -154
  220. package/test/test-installation-components.js +0 -1796
  221. package/test/test-rehype-plugins.mjs +0 -1050
  222. package/test/test-workflow-path-regex.js +0 -88
  223. package/test/unit-test-schema.js +0 -133
  224. package/tools/build-docs.mjs +0 -464
  225. package/tools/docs/_prompt-external-modules-page.md +0 -59
  226. package/tools/docs/fix-refs.md +0 -91
  227. package/tools/docs/native-skills-migration-checklist.md +0 -281
  228. package/tools/fix-doc-links.js +0 -285
  229. package/tools/validate-agent-schema.js +0 -110
  230. package/tools/validate-doc-links.js +0 -407
  231. package/tools/validate-file-refs.js +0 -556
  232. package/website/README.md +0 -75
  233. package/website/astro.config.mjs +0 -157
  234. package/website/public/diagrams/quick-dev-diagram.png +0 -0
  235. package/website/public/favicon.ico +0 -0
  236. package/website/public/img/bmad-dark.png +0 -0
  237. package/website/public/img/bmad-light.png +0 -0
  238. package/website/public/workflow-map-diagram.html +0 -361
  239. package/website/src/components/Banner.astro +0 -62
  240. package/website/src/components/Header.astro +0 -96
  241. package/website/src/components/MobileMenuFooter.astro +0 -33
  242. package/website/src/content/config.ts +0 -7
  243. package/website/src/content/i18n/zh-CN.json +0 -28
  244. package/website/src/lib/site-url.mjs +0 -25
  245. package/website/src/pages/404.astro +0 -11
  246. package/website/src/pages/robots.txt.ts +0 -48
  247. package/website/src/rehype-base-paths.js +0 -112
  248. package/website/src/rehype-markdown-links.js +0 -119
  249. package/website/src/styles/custom.css +0 -805
  250. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/brain-methods.csv +0 -0
  251. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-01-session-setup.md +0 -0
  252. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-01b-continue.md +0 -0
  253. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02a-user-selected.md +0 -0
  254. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02b-ai-recommended.md +0 -0
  255. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02c-random-selection.md +0 -0
  256. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02d-progressive-flow.md +0 -0
  257. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-03-technique-execution.md +0 -0
  258. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-04-idea-organization.md +0 -0
  259. /package/src/core/workflows/{brainstorming → bmad-brainstorming}/template.md +0 -0
  260. /package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-01-agent-loading.md +0 -0
  261. /package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-02-discussion-orchestration.md +0 -0
@@ -1,157 +0,0 @@
1
- // @ts-check
2
- import { defineConfig } from 'astro/config';
3
- import starlight from '@astrojs/starlight';
4
- import sitemap from '@astrojs/sitemap';
5
- import rehypeMarkdownLinks from './src/rehype-markdown-links.js';
6
- import rehypeBasePaths from './src/rehype-base-paths.js';
7
- import { getSiteUrl } from './src/lib/site-url.mjs';
8
-
9
- const siteUrl = getSiteUrl();
10
- const urlParts = new URL(siteUrl);
11
- // Normalize basePath: ensure trailing slash so links can use `${BASE_URL}path`
12
- const basePath = urlParts.pathname === '/' ? '/' : urlParts.pathname.endsWith('/') ? urlParts.pathname : urlParts.pathname + '/';
13
-
14
- export default defineConfig({
15
- site: `${urlParts.origin}${basePath}`,
16
- base: basePath,
17
- outDir: '../build/site',
18
-
19
- // Disable aggressive caching in dev mode
20
- vite: {
21
- optimizeDeps: {
22
- force: true, // Always re-bundle dependencies
23
- },
24
- server: {
25
- watch: {
26
- usePolling: false, // Set to true if file changes aren't detected
27
- },
28
- },
29
- },
30
-
31
- markdown: {
32
- rehypePlugins: [
33
- [rehypeMarkdownLinks, { base: basePath }],
34
- [rehypeBasePaths, { base: basePath }],
35
- ],
36
- },
37
-
38
- integrations: [
39
- // Exclude custom 404 pages (all locales) from the sitemap — they are
40
- // treated as normal content docs by Starlight even with disable404Route.
41
- sitemap({
42
- filter: (page) => !/\/404(\/|$)/.test(new URL(page).pathname),
43
- }),
44
- starlight({
45
- title: 'BMAD Method',
46
- tagline: 'AI-driven agile development with specialized agents and workflows that scale from bug fixes to enterprise platforms.',
47
-
48
- // i18n: English as root (no URL prefix), Chinese at /zh-cn/
49
- defaultLocale: 'root',
50
- locales: {
51
- root: {
52
- label: 'English',
53
- lang: 'en',
54
- },
55
- 'zh-cn': {
56
- label: '简体中文',
57
- lang: 'zh-CN',
58
- },
59
- },
60
-
61
- logo: {
62
- light: './public/img/bmad-light.png',
63
- dark: './public/img/bmad-dark.png',
64
- alt: 'BMAD Method',
65
- replacesTitle: true,
66
- },
67
- favicon: '/favicon.ico',
68
-
69
- // Social links
70
- social: [
71
- { icon: 'discord', label: 'Discord', href: 'https://discord.gg/gk8jAdXWmj' },
72
- { icon: 'github', label: 'GitHub', href: 'https://github.com/bmad-code-org/BMAD-METHOD' },
73
- { icon: 'youtube', label: 'YouTube', href: 'https://www.youtube.com/@BMadCode' },
74
- ],
75
-
76
- // Show last updated timestamps
77
- lastUpdated: true,
78
-
79
- // Custom head tags for LLM discovery
80
- head: [
81
- {
82
- tag: 'meta',
83
- attrs: {
84
- name: 'ai-terms',
85
- content: `AI-optimized documentation: ${siteUrl}/llms-full.txt (plain text, ~100k tokens, complete BMAD reference). Index: ${siteUrl}/llms.txt`,
86
- },
87
- },
88
- {
89
- tag: 'meta',
90
- attrs: {
91
- name: 'llms-full',
92
- content: `${siteUrl}/llms-full.txt`,
93
- },
94
- },
95
- {
96
- tag: 'meta',
97
- attrs: {
98
- name: 'llms',
99
- content: `${siteUrl}/llms.txt`,
100
- },
101
- },
102
- ],
103
-
104
- // Custom CSS
105
- customCss: ['./src/styles/custom.css'],
106
-
107
- // Sidebar configuration (Diataxis structure)
108
- sidebar: [
109
- { label: 'Welcome', translations: { 'zh-CN': '欢迎' }, slug: 'index' },
110
- { label: 'Roadmap', translations: { 'zh-CN': '路线图' }, slug: 'roadmap' },
111
- {
112
- label: 'Tutorials',
113
- translations: { 'zh-CN': '教程' },
114
- collapsed: false,
115
- autogenerate: { directory: 'tutorials' },
116
- },
117
- {
118
- label: 'How-To Guides',
119
- translations: { 'zh-CN': '操作指南' },
120
- collapsed: true,
121
- autogenerate: { directory: 'how-to' },
122
- },
123
- {
124
- label: 'Explanation',
125
- translations: { 'zh-CN': '概念说明' },
126
- collapsed: true,
127
- autogenerate: { directory: 'explanation' },
128
- },
129
- {
130
- label: 'Reference',
131
- translations: { 'zh-CN': '参考' },
132
- collapsed: true,
133
- autogenerate: { directory: 'reference' },
134
- },
135
- // TEA docs moved to standalone module site; keep BMM sidebar focused.
136
- ],
137
-
138
- // Credits in footer
139
- credits: false,
140
-
141
- // Pagination
142
- pagination: false,
143
-
144
- // Use our docs/404.md instead of Starlight's built-in 404
145
- disable404Route: true,
146
-
147
- // Custom components
148
- components: {
149
- Header: './src/components/Header.astro',
150
- MobileMenuFooter: './src/components/MobileMenuFooter.astro',
151
- },
152
-
153
- // Table of contents
154
- tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 3 },
155
- }),
156
- ],
157
- });
Binary file
Binary file
Binary file
@@ -1,361 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>BMad Method Workflow Map</title>
7
- <style>
8
- :root {
9
- --analysis: #0ea5e9;
10
- --planning: #22c55e;
11
- --solutioning: #eab308;
12
- --implementation: #ef4444;
13
- --quickflow: #64748b;
14
- --bg: #0f172a;
15
- --card: #1e293b;
16
- --text: #f8fafc;
17
- --text-muted: #94a3b8;
18
- --border: #334155;
19
- --success: #10b981;
20
- --arrow: #f59e0b;
21
- }
22
- * { margin: 0; padding: 0; box-sizing: border-box; }
23
- body {
24
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
25
- background: var(--bg);
26
- color: var(--text);
27
- line-height: 1.4;
28
- padding: 12px;
29
- }
30
- .header { text-align: center; margin-bottom: 16px; }
31
- .header-badge {
32
- display: inline-flex; align-items: center; gap: 6px;
33
- background: linear-gradient(135deg, var(--analysis), var(--planning));
34
- padding: 4px 12px; border-radius: 20px;
35
- font-size: 0.75rem; font-weight: 600; margin-bottom: 8px;
36
- }
37
- h1 { font-size: 1.5rem; font-weight: 700; }
38
- .subtitle { color: var(--text-muted); font-size: 0.8rem; }
39
-
40
- .flow-legend {
41
- background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.3);
42
- border-radius: 8px; padding: 8px 12px; margin-bottom: 16px; text-align: center;
43
- font-size: 0.7rem; color: var(--arrow);
44
- }
45
-
46
- .flow-grid {
47
- display: grid;
48
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
49
- gap: 8px;
50
- margin-bottom: 16px;
51
- }
52
-
53
- .phase {
54
- background: var(--card);
55
- border-radius: 10px;
56
- border: 1px solid var(--border);
57
- border-top: 3px solid;
58
- }
59
- .phase.analysis { border-top-color: var(--analysis); }
60
- .phase.planning { border-top-color: var(--planning); }
61
- .phase.solutioning { border-top-color: var(--solutioning); }
62
- .phase.implementation { border-top-color: var(--implementation); }
63
-
64
- .phase-header { padding: 10px 12px 8px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
65
- .phase-num { width: 22px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; }
66
- .analysis .phase-num { background: var(--analysis); }
67
- .planning .phase-num { background: var(--planning); }
68
- .solutioning .phase-num { background: var(--solutioning); color: #000; }
69
- .implementation .phase-num { background: var(--implementation); }
70
- .phase-title { font-size: 0.95rem; font-weight: 700; }
71
- .phase-opt { font-size: 0.6rem; padding: 2px 6px; border-radius: 4px; background: rgba(14, 165, 233, 0.2); color: #7dd3fc; }
72
-
73
- .workflows { padding: 8px 10px; }
74
-
75
- .workflow {
76
- background: rgba(255,255,255,0.03); border-radius: 6px;
77
- padding: 8px; margin-bottom: 6px;
78
- font-size: 0.7rem;
79
- }
80
- .workflow-header {
81
- display: flex; justify-content: space-between; align-items: center;
82
- margin-bottom: 4px;
83
- }
84
- .workflow-name {
85
- font-family: monospace; color: var(--success);
86
- background: rgba(16, 185, 129, 0.1); padding: 2px 6px;
87
- border-radius: 3px; font-size: 0.65rem;
88
- }
89
- .workflow-meta { display: flex; justify-content: space-between; align-items: center; }
90
- .agent { display: flex; align-items: center; gap: 4px; }
91
- .agent-icon { width: 14px; height: 14px; border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 0.55rem; font-weight: 700; }
92
- .agent-icon.mary { background: linear-gradient(135deg, #f472b6, #ec4899); }
93
- .agent-icon.john { background: linear-gradient(135deg, #60a5fa, #3b82f6); }
94
- .agent-icon.sally { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #000; }
95
- .agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
96
- .agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
97
- .agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
98
- .agent-icon.barry { background: linear-gradient(135deg, #94a3b8, #64748b); }
99
- .agent-name { font-size: 0.65rem; }
100
- .output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
101
- .badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
102
- .badge.opt { background: rgba(251,191,36,0.15); color: #fbbf24; }
103
- .badge.iffy { background: rgba(168,85,247,0.15); color: #a855f7; }
104
- .badge.adhoc { background: rgba(59,130,246,0.15); color: #3b82f6; }
105
-
106
- .arrow { display: flex; align-items: center; justify-content: center; color: var(--arrow); font-size: 0.9rem; margin: 6px 0; }
107
-
108
- .decision { background: linear-gradient(135deg, #a855f7, #9333ea); padding: 4px 8px; border-radius: 4px; text-align: center; font-size: 0.65rem; font-weight: 600; margin: 6px 0; }
109
-
110
- .quickflow {
111
- background: rgba(100, 116, 139, 0.2); border: 2px dashed var(--quickflow);
112
- border-radius: 10px; padding: 12px; margin-bottom: 16px;
113
- }
114
- .quickflow-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
115
- .quickflow-header h2 { font-size: 0.95rem; }
116
- .quickflow-header span { font-size: 0.7rem; color: var(--text-muted); }
117
- .quickflow-body { display: flex; align-items: center; gap: 12px; }
118
- .quickflow-item { flex: 1; background: rgba(255,255,255,0.03); border-radius: 8px; padding: 10px; }
119
- .quickflow-item code { font-family: monospace; color: var(--success); background: rgba(16, 185, 129, 0.1); padding: 2px 6px; border-radius: 3px; font-size: 0.7rem; }
120
-
121
- .context { background: rgba(14, 165, 233, 0.08); border-radius: 10px; padding: 12px; font-size: 0.75rem; }
122
- .context-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-weight: 600; }
123
- .context-items { display: flex; flex-wrap: wrap; gap: 6px; }
124
- .context-items code { font-family: monospace; color: var(--success); background: rgba(16, 185, 129, 0.1); padding: 2px 5px; border-radius: 3px; font-size: 0.65rem; }
125
- .context-items span { color: var(--text-muted); }
126
-
127
- .legend { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 0.7rem; margin-top: 12px; }
128
- .legend-item { display: flex; align-items: center; gap: 4px; }
129
- .legend-dot { width: 12px; height: 3px; border-radius: 2px; }
130
- </style>
131
- </head>
132
- <body>
133
- <div class="header">
134
- <div class="header-badge">⚡ Workflow Map V6</div>
135
- <h1>BMad Method</h1>
136
- <p class="subtitle">Context engineering for AI-powered development</p>
137
- </div>
138
-
139
- <div class="flow-legend">→ arrows show artifact flow between workflows</div>
140
-
141
- <div class="flow-grid">
142
- <!-- Phase 1: Analysis -->
143
- <div class="phase analysis">
144
- <div class="phase-header">
145
- <div class="phase-num">1</div>
146
- <div class="phase-title">Analysis</div>
147
- <span class="phase-opt">Optional</span>
148
- </div>
149
- <div class="workflows">
150
- <div class="workflow">
151
- <div class="workflow-header">
152
- <span class="workflow-name">brainstorm</span>
153
- <span class="badge opt">opt</span>
154
- </div>
155
- <div class="workflow-meta">
156
- <div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
157
- <span class="output">brainstorming-report.md</span>
158
- </div>
159
- </div>
160
- <div class="workflow">
161
- <div class="workflow-header">
162
- <span class="workflow-name">research</span>
163
- <span class="badge opt">opt</span>
164
- </div>
165
- <div class="workflow-meta">
166
- <div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
167
- <span class="output">findings</span>
168
- </div>
169
- </div>
170
- <div class="workflow">
171
- <div class="workflow-header">
172
- <span class="workflow-name">create-product-brief</span>
173
- </div>
174
- <div class="workflow-meta">
175
- <div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
176
- <span class="output">product-brief.md →</span>
177
- </div>
178
- </div>
179
- </div>
180
- <div class="arrow">→</div>
181
- </div>
182
-
183
- <!-- Phase 2: Planning -->
184
- <div class="phase planning">
185
- <div class="phase-header">
186
- <div class="phase-num">2</div>
187
- <div class="phase-title">Planning</div>
188
- </div>
189
- <div class="workflows">
190
- <div class="workflow">
191
- <div class="workflow-header">
192
- <span class="workflow-name">create-prd</span>
193
- </div>
194
- <div class="workflow-meta">
195
- <div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
196
- <span class="output">PRD.md →</span>
197
- </div>
198
- </div>
199
- <div class="decision">Has UI?</div>
200
- <div class="workflow">
201
- <div class="workflow-header">
202
- <span class="workflow-name">create-ux-design</span>
203
- <span class="badge iffy">if yes</span>
204
- </div>
205
- <div class="workflow-meta">
206
- <div class="agent"><div class="agent-icon sally">S</div><span class="agent-name">Sally</span></div>
207
- <span class="output">ux-spec.md →</span>
208
- </div>
209
- </div>
210
- </div>
211
- <div class="arrow">→</div>
212
- </div>
213
-
214
- <!-- Phase 3: Solutioning -->
215
- <div class="phase solutioning">
216
- <div class="phase-header">
217
- <div class="phase-num">3</div>
218
- <div class="phase-title">Solutioning</div>
219
- </div>
220
- <div class="workflows">
221
- <div class="workflow">
222
- <div class="workflow-header">
223
- <span class="workflow-name">create-architecture</span>
224
- </div>
225
- <div class="workflow-meta">
226
- <div class="agent"><div class="agent-icon winston">W</div><span class="agent-name">Winston</span></div>
227
- <span class="output">architecture.md →</span>
228
- </div>
229
- </div>
230
- <div class="workflow">
231
- <div class="workflow-header">
232
- <span class="workflow-name">create-epics-and-stories</span>
233
- </div>
234
- <div class="workflow-meta">
235
- <div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
236
- <span class="output">epics.md →</span>
237
- </div>
238
- </div>
239
- <div class="workflow">
240
- <div class="workflow-header">
241
- <span class="workflow-name">check-implementation-readiness</span>
242
- </div>
243
- <div class="workflow-meta">
244
- <div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
245
- <span class="output">gate check</span>
246
- </div>
247
- </div>
248
- </div>
249
- <div class="arrow">→</div>
250
- </div>
251
-
252
- <!-- Phase 4: Implementation -->
253
- <div class="phase implementation">
254
- <div class="phase-header">
255
- <div class="phase-num">4</div>
256
- <div class="phase-title">Implementation</div>
257
- </div>
258
- <div class="workflows">
259
- <div class="workflow">
260
- <div class="workflow-header">
261
- <span class="workflow-name">sprint-planning</span>
262
- </div>
263
- <div class="workflow-meta">
264
- <div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
265
- <span class="output">sprint-status.yaml →</span>
266
- </div>
267
- </div>
268
- <div class="workflow">
269
- <div class="workflow-header">
270
- <span class="workflow-name">create-story</span>
271
- </div>
272
- <div class="workflow-meta">
273
- <div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
274
- <span class="output">story-[slug].md →</span>
275
- </div>
276
- </div>
277
- <div class="workflow">
278
- <div class="workflow-header">
279
- <span class="workflow-name">dev-story</span>
280
- </div>
281
- <div class="workflow-meta">
282
- <div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
283
- <span class="output">code →</span>
284
- </div>
285
- </div>
286
- <div class="workflow">
287
- <div class="workflow-header">
288
- <span class="workflow-name">code-review</span>
289
- </div>
290
- <div class="workflow-meta">
291
- <div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
292
- <span class="output">approve</span>
293
- </div>
294
- </div>
295
- <div class="workflow">
296
- <div class="workflow-header">
297
- <span class="workflow-name">correct-course</span>
298
- <span class="badge adhoc">ad-hoc</span>
299
- </div>
300
- <div class="workflow-meta">
301
- <div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
302
- <span class="output">updated plan</span>
303
- </div>
304
- </div>
305
- <div class="workflow">
306
- <div class="workflow-header">
307
- <span class="workflow-name">retrospective</span>
308
- <span class="badge adhoc">per epic</span>
309
- </div>
310
- <div class="workflow-meta">
311
- <div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
312
- <span class="output">lessons</span>
313
- </div>
314
- </div>
315
- </div>
316
- </div>
317
- </div>
318
-
319
- <div class="quickflow">
320
- <div class="quickflow-header">
321
- <span>⚡</span>
322
- <div>
323
- <h2>Quick Flow (Parallel Track)</h2>
324
- <span>For small, well-understood changes — skip phases 1-3</span>
325
- </div>
326
- </div>
327
- <div class="quickflow-body">
328
- <div class="quickflow-item">
329
- <div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
330
- <code>quick-spec</code>
331
- <div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">→ tech-spec.md</div>
332
- </div>
333
- <span style="color: var(--arrow); font-size: 1.2rem;">→</span>
334
- <div class="quickflow-item">
335
- <div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
336
- <code>quick-dev</code>
337
- <div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">→ working code</div>
338
- </div>
339
- </div>
340
- </div>
341
-
342
- <div class="context">
343
- <div class="context-header">📚 Context Flow</div>
344
- <p style="margin-bottom: 8px; color: var(--text-muted);">Each document becomes context for the next phase.</p>
345
- <div class="context-items">
346
- <span><code>create-story</code> <span>loads epics, PRD, architecture, UX</span></span>
347
- <span><code>dev-story</code> <span>loads story file</span></span>
348
- <span><code>code-review</code> <span>loads architecture, story</span></span>
349
- <span><code>quick-dev</code> <span>loads tech-spec</span></span>
350
- </div>
351
- </div>
352
-
353
- <div class="legend">
354
- <div class="legend-item"><div class="legend-dot" style="background: var(--analysis);"></div>Analysis</div>
355
- <div class="legend-item"><div class="legend-dot" style="background: var(--planning);"></div>Planning</div>
356
- <div class="legend-item"><div class="legend-dot" style="background: var(--solutioning);"></div>Solutioning</div>
357
- <div class="legend-item"><div class="legend-dot" style="background: var(--implementation);"></div>Implementation</div>
358
- <div class="legend-item"><div class="legend-dot" style="background: var(--quickflow);"></div>Quick Flow</div>
359
- </div>
360
- </body>
361
- </html>
@@ -1,62 +0,0 @@
1
- ---
2
- import { getSiteUrl } from '../lib/site-url.mjs';
3
-
4
- const llmsFullUrl = `${getSiteUrl()}/llms-full.txt`;
5
- ---
6
-
7
- <div class="ai-banner" role="note" aria-label="AI documentation notice">
8
- <span>🤖 Consolidated, AI-optimized BMAD docs: <a href={llmsFullUrl}>llms-full.txt</a>. Fetch this plain text file for complete context.</span>
9
- </div>
10
-
11
- <style>
12
- .ai-banner {
13
- width: 100%;
14
- height: var(--ai-banner-height, 2.75rem);
15
- background: #334155;
16
- color: #cbd5e1;
17
- padding: 0.5rem 1rem;
18
- font-size: 0.875rem;
19
- border-bottom: 1px solid rgba(140, 140, 255, 0.15);
20
- display: flex;
21
- align-items: center;
22
- justify-content: center;
23
- box-sizing: border-box;
24
- font-family: system-ui, sans-serif;
25
- }
26
-
27
- /* Truncate text on narrow screens */
28
- .ai-banner span {
29
- white-space: nowrap;
30
- overflow: hidden;
31
- text-overflow: ellipsis;
32
- max-width: 100%;
33
- }
34
- .ai-banner a {
35
- color: #B9B9FF;
36
- text-decoration: none;
37
- font-weight: 600;
38
- }
39
- .ai-banner a:hover {
40
- text-decoration: underline;
41
- }
42
- .ai-banner a:focus-visible {
43
- outline: 2px solid #B9B9FF;
44
- outline-offset: 2px;
45
- border-radius: 2px;
46
- }
47
-
48
- /* Match navbar padding at breakpoints */
49
- @media (min-width: 50rem) {
50
- .ai-banner {
51
- padding-left: 2.5rem;
52
- padding-right: 2.5rem;
53
- }
54
- }
55
-
56
- @media (min-width: 72rem) {
57
- .ai-banner {
58
- padding-left: 3rem;
59
- padding-right: 3rem;
60
- }
61
- }
62
- </style>