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,25 +0,0 @@
1
- # Test: Compound trigger with old format (no longer supported)
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[0].trigger
5
- # Error message: agent.menu[].trigger compound format error: invalid compound trigger format
6
-
7
- agent:
8
- metadata:
9
- id: compound-mismatched-kebab
10
- name: Old Format
11
- title: Old Format Test
12
- icon: 🧪
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: TS or tech-spec or fuzzy match on tech-spec
24
- description: Old format with middle kebab-case (no longer supported)
25
- action: test
@@ -1,31 +0,0 @@
1
- # Test: Duplicate triggers within same agent
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[2].trigger
5
- # Error message: agent.menu[].trigger duplicates "help" within the same agent
6
-
7
- agent:
8
- metadata:
9
- id: duplicate-triggers
10
- name: Duplicate Triggers
11
- title: Duplicate
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: help
24
- description: First help command
25
- action: display_help
26
- - trigger: list-tasks
27
- description: List tasks
28
- action: list_tasks
29
- - trigger: help
30
- description: Duplicate help command
31
- action: show_help
@@ -1,25 +0,0 @@
1
- # Test: Empty trigger string
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[0].trigger
5
- # Error message: agent.menu[].trigger must be a non-empty string
6
-
7
- agent:
8
- metadata:
9
- id: empty-trigger
10
- name: Empty Trigger
11
- title: Empty
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: " "
24
- description: Empty trigger
25
- action: display_help
@@ -1,25 +0,0 @@
1
- # Test: Trigger with leading asterisk
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[0].trigger
5
- # Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)
6
-
7
- agent:
8
- metadata:
9
- id: asterisk-trigger
10
- name: Asterisk Trigger
11
- title: Asterisk
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: "*help"
24
- description: Invalid trigger with asterisk
25
- action: display_help
@@ -1,25 +0,0 @@
1
- # Test: Snake_case trigger
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[0].trigger
5
- # Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)
6
-
7
- agent:
8
- metadata:
9
- id: snake-case-trigger
10
- name: Snake Case Trigger
11
- title: Snake Case
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: list_tasks
24
- description: Invalid snake_case trigger
25
- action: list_tasks
@@ -1,25 +0,0 @@
1
- # Test: Trigger with spaces
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.menu[0].trigger
5
- # Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)
6
-
7
- agent:
8
- metadata:
9
- id: spaces-trigger
10
- name: Spaces Trigger
11
- title: Spaces
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: list tasks
24
- description: Invalid trigger with spaces
25
- action: list_tasks
@@ -1,26 +0,0 @@
1
- # Test: Module field with whitespace only
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.metadata.module
5
- # Error message: agent.metadata.module must be a non-empty string
6
- # Path context: src/bmm/agents/empty-module-string.agent.yaml
7
-
8
- agent:
9
- metadata:
10
- id: empty-module
11
- name: Empty Module String
12
- title: Empty Module
13
- icon: ❌
14
- module: " "
15
-
16
- persona:
17
- role: Test agent
18
- identity: Test identity
19
- communication_style: Test style
20
- principles:
21
- - Test principle
22
-
23
- menu:
24
- - trigger: help
25
- description: Show help
26
- action: display_help
@@ -1,24 +0,0 @@
1
- # Test: Empty string in metadata.name field
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.metadata.name
5
- # Error message: agent.metadata.name must be a non-empty string
6
-
7
- agent:
8
- metadata:
9
- id: empty-name-test
10
- name: " "
11
- title: Empty Name Test
12
- icon: ❌
13
-
14
- persona:
15
- role: Test agent
16
- identity: Test identity
17
- communication_style: Test style
18
- principles:
19
- - Test principle
20
-
21
- menu:
22
- - trigger: help
23
- description: Show help
24
- action: display_help
@@ -1,27 +0,0 @@
1
- # Test: Extra unknown fields in metadata
2
- # Expected: FAIL
3
- # Error code: unrecognized_keys
4
- # Error path: agent.metadata
5
- # Error keys: ["unknown_field", "another_extra"]
6
-
7
- agent:
8
- metadata:
9
- id: extra-fields
10
- name: Extra Fields
11
- title: Extra Fields
12
- icon: ❌
13
- hasSidecar: false
14
- unknown_field: This is not allowed
15
- another_extra: Also invalid
16
-
17
- persona:
18
- role: Test agent
19
- identity: Test identity
20
- communication_style: Test style
21
- principles:
22
- - Test principle
23
-
24
- menu:
25
- - trigger: help
26
- description: Show help
27
- action: display_help
@@ -1,23 +0,0 @@
1
- # Test: Missing required metadata.id field
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path: agent.metadata.id
5
- # Error expected: string
6
-
7
- agent:
8
- metadata:
9
- name: Missing ID Agent
10
- title: Missing ID
11
- icon: ❌
12
-
13
- persona:
14
- role: Test agent
15
- identity: Test identity
16
- communication_style: Test style
17
- principles:
18
- - Test principle
19
-
20
- menu:
21
- - trigger: help
22
- description: Show help
23
- action: display_help
@@ -1,24 +0,0 @@
1
- # Test: Empty principles array
2
- # Expected: FAIL
3
- # Error code: too_small
4
- # Error path: agent.persona.principles
5
- # Error minimum: 1
6
-
7
- agent:
8
- metadata:
9
- id: empty-principles
10
- name: Empty Principles
11
- title: Empty Principles
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles: []
20
-
21
- menu:
22
- - trigger: help
23
- description: Show help
24
- action: display_help
@@ -1,27 +0,0 @@
1
- # Test: Empty string in principles array
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.persona.principles[1]
5
- # Error message: agent.persona.principles[] must be a non-empty string
6
-
7
- agent:
8
- metadata:
9
- id: empty-principle-string
10
- name: Empty Principle String
11
- title: Empty Principle
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Valid principle
21
- - " "
22
- - Another valid principle
23
-
24
- menu:
25
- - trigger: help
26
- description: Show help
27
- action: display_help
@@ -1,27 +0,0 @@
1
- # Test: Extra unknown fields in persona
2
- # Expected: FAIL
3
- # Error code: unrecognized_keys
4
- # Error path: agent.persona
5
- # Error keys: ["extra_field", "another_extra"]
6
-
7
- agent:
8
- metadata:
9
- id: extra-persona-fields
10
- name: Extra Persona Fields
11
- title: Extra Persona
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
- extra_field: Not allowed
22
- another_extra: Also invalid
23
-
24
- menu:
25
- - trigger: help
26
- description: Show help
27
- action: display_help
@@ -1,24 +0,0 @@
1
- # Test: Missing required persona.role field
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path: agent.persona.role
5
- # Error expected: string
6
-
7
- agent:
8
- metadata:
9
- id: missing-role
10
- name: Missing Role
11
- title: Missing Role
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- identity: Test identity
17
- communication_style: Test style
18
- principles:
19
- - Test principle
20
-
21
- menu:
22
- - trigger: help
23
- description: Show help
24
- action: display_help
@@ -1,29 +0,0 @@
1
- # Test: Prompt with empty content string
2
- # Expected: FAIL
3
- # Error code: custom
4
- # Error path: agent.prompts[0].content
5
- # Error message: agent.prompts[].content must be a non-empty string
6
-
7
- agent:
8
- metadata:
9
- id: empty-content
10
- name: Empty Content
11
- title: Empty Content
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- prompts:
23
- - id: prompt1
24
- content: " "
25
-
26
- menu:
27
- - trigger: help
28
- description: Show help
29
- action: display_help
@@ -1,31 +0,0 @@
1
- # Test: Extra unknown fields in prompts
2
- # Expected: FAIL
3
- # Error code: unrecognized_keys
4
- # Error path: agent.prompts[0]
5
- # Error keys: ["extra_field"]
6
-
7
- agent:
8
- metadata:
9
- id: extra-prompt-fields
10
- name: Extra Prompt Fields
11
- title: Extra Fields
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- prompts:
23
- - id: prompt1
24
- content: Valid content
25
- description: Valid description
26
- extra_field: Not allowed
27
-
28
- menu:
29
- - trigger: help
30
- description: Show help
31
- action: display_help
@@ -1,28 +0,0 @@
1
- # Test: Prompt missing required content field
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path: agent.prompts[0].content
5
- # Error expected: string
6
-
7
- agent:
8
- metadata:
9
- id: prompt-missing-content
10
- name: Prompt Missing Content
11
- title: Missing Content
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- prompts:
23
- - id: prompt1
24
-
25
- menu:
26
- - trigger: help
27
- description: Show help
28
- action: display_help
@@ -1,28 +0,0 @@
1
- # Test: Prompt missing required id field
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path: agent.prompts[0].id
5
- # Error expected: string
6
-
7
- agent:
8
- metadata:
9
- id: prompt-missing-id
10
- name: Prompt Missing ID
11
- title: Missing ID
12
- icon: ❌
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- prompts:
23
- - content: Prompt without ID
24
-
25
- menu:
26
- - trigger: help
27
- description: Show help
28
- action: display_help
@@ -1,5 +0,0 @@
1
- # Test: Empty YAML file
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path:
5
- # Error expected: object
@@ -1,28 +0,0 @@
1
- # Test: Extra top-level keys beyond 'agent'
2
- # Expected: FAIL
3
- # Error code: unrecognized_keys
4
- # Error path:
5
- # Error keys: ["extra_key", "another_extra"]
6
-
7
- agent:
8
- metadata:
9
- id: extra-test
10
- name: Extra Test Agent
11
- title: Extra Test
12
- icon: 🧪
13
- hasSidecar: false
14
-
15
- persona:
16
- role: Test agent
17
- identity: Test identity
18
- communication_style: Test style
19
- principles:
20
- - Test principle
21
-
22
- menu:
23
- - trigger: help
24
- description: Show help
25
- action: display_help
26
-
27
- extra_key: This should not be allowed
28
- another_extra: Also invalid
@@ -1,11 +0,0 @@
1
- # Test: Missing required 'agent' top-level key
2
- # Expected: FAIL
3
- # Error code: invalid_type
4
- # Error path: agent
5
- # Error expected: object
6
-
7
- metadata:
8
- id: bad-test
9
- name: Bad Test Agent
10
- title: Bad Test
11
- icon: ❌
@@ -1,19 +0,0 @@
1
- # Test: Invalid YAML structure with inconsistent indentation
2
- # Expected: FAIL - YAML parse error
3
-
4
- agent:
5
- metadata:
6
- id: invalid-indent
7
- name: Invalid Indentation
8
- title: Invalid
9
- icon: ❌
10
- persona:
11
- role: Test
12
- identity: Test
13
- communication_style: Test
14
- principles:
15
- - Test
16
- menu:
17
- - trigger: help
18
- description: Help
19
- action: help
@@ -1,18 +0,0 @@
1
- # Test: Malformed YAML with syntax errors
2
- # Expected: FAIL - YAML parse error
3
-
4
- agent:
5
- metadata:
6
- id: malformed
7
- name: Malformed YAML
8
- title: [Malformed
9
- icon: 🧪
10
- persona:
11
- role: Test
12
- identity: Test
13
- communication_style: Test
14
- principles:
15
- - Test
16
- menu:
17
- - trigger: help
18
- description: Help
@@ -1,24 +0,0 @@
1
- # Test: Empty critical_actions array
2
- # Expected: PASS - empty array is valid for optional field
3
-
4
- agent:
5
- metadata:
6
- id: empty-critical-actions
7
- name: Empty Critical Actions
8
- title: Empty Critical Actions
9
- icon: 🧪
10
- hasSidecar: false
11
-
12
- persona:
13
- role: Test agent with empty critical actions
14
- identity: I am a test agent with empty critical actions array.
15
- communication_style: Clear
16
- principles:
17
- - Test empty arrays
18
-
19
- critical_actions: []
20
-
21
- menu:
22
- - trigger: help
23
- description: Show help
24
- action: display_help
@@ -1,22 +0,0 @@
1
- # Test: No critical_actions field (optional)
2
- # Expected: PASS
3
-
4
- agent:
5
- metadata:
6
- id: no-critical-actions
7
- name: No Critical Actions
8
- title: No Critical Actions
9
- icon: 🧪
10
- hasSidecar: false
11
-
12
- persona:
13
- role: Test agent without critical actions
14
- identity: I am a test agent without critical actions.
15
- communication_style: Clear
16
- principles:
17
- - Test optional fields
18
-
19
- menu:
20
- - trigger: help
21
- description: Show help
22
- action: display_help
@@ -1,27 +0,0 @@
1
- # Test: critical_actions with valid strings
2
- # Expected: PASS
3
-
4
- agent:
5
- metadata:
6
- id: valid-critical-actions
7
- name: Valid Critical Actions
8
- title: Valid Critical Actions
9
- icon: 🧪
10
- hasSidecar: false
11
-
12
- persona:
13
- role: Test agent with critical actions
14
- identity: I am a test agent with valid critical actions.
15
- communication_style: Clear
16
- principles:
17
- - Test valid arrays
18
-
19
- critical_actions:
20
- - Load configuration from disk
21
- - Initialize user context
22
- - Set communication preferences
23
-
24
- menu:
25
- - trigger: help
26
- description: Show help
27
- action: display_help
@@ -1,31 +0,0 @@
1
- # Test: Menu with multiple valid items using different command types
2
- # Expected: PASS
3
-
4
- agent:
5
- metadata:
6
- id: multiple-menu
7
- name: Multiple Menu Items
8
- title: Multiple Menu
9
- icon: 🧪
10
- hasSidecar: false
11
-
12
- persona:
13
- role: Test agent with multiple menu items
14
- identity: I am a test agent with diverse menu commands.
15
- communication_style: Clear
16
- principles:
17
- - Test multiple menu items
18
-
19
- menu:
20
- - trigger: help
21
- description: Show help
22
- action: display_help
23
- - trigger: start-workflow
24
- description: Start a workflow
25
- exec: path/to/workflow
26
- - trigger: execute
27
- description: Execute command
28
- exec: npm test
29
- - trigger: use-template
30
- description: Use template
31
- tmpl: path/to/template