bmad-method 6.0.5-next.8 → 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.
- package/package.json +1 -1
- package/src/bmm/agents/analyst.agent.yaml +1 -1
- package/src/bmm/module-help.csv +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +31 -13
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +6 -2
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +4 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.md +4 -7
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +0 -4
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +1 -1
- package/src/core/module-help.csv +2 -2
- package/src/core/workflows/bmad-brainstorming/SKILL.md +6 -0
- package/src/core/workflows/bmad-brainstorming/bmad-skill-manifest.yaml +1 -0
- package/src/core/workflows/{brainstorming → bmad-brainstorming}/workflow.md +2 -5
- package/src/core/workflows/bmad-party-mode/SKILL.md +6 -0
- package/src/core/workflows/bmad-party-mode/bmad-skill-manifest.yaml +1 -0
- package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-03-graceful-exit.md +0 -1
- package/src/core/workflows/{party-mode → bmad-party-mode}/workflow.md +0 -4
- package/tools/cli/external-official-modules.yaml +18 -18
- package/tools/cli/installers/lib/core/installer.js +25 -8
- package/tools/cli/installers/lib/ide/_base-ide.js +0 -1
- package/tools/cli/installers/lib/ide/_config-driven.js +9 -4
- package/tools/cli/installers/lib/ide/manager.js +3 -3
- package/tools/cli/lib/agent/compiler.js +1 -1
- package/.augment/code_review_guidelines.yaml +0 -231
- package/.coderabbit.yaml +0 -85
- package/.github/CODE_OF_CONDUCT.md +0 -128
- package/.github/FUNDING.yaml +0 -15
- package/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -124
- package/.github/ISSUE_TEMPLATE/config.yaml +0 -8
- package/.github/ISSUE_TEMPLATE/documentation.yaml +0 -55
- package/.github/ISSUE_TEMPLATE/feature-request.md +0 -22
- package/.github/ISSUE_TEMPLATE/issue.md +0 -32
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -13
- package/.github/scripts/discord-helpers.sh +0 -34
- package/.github/workflows/coderabbit-review.yaml +0 -22
- package/.github/workflows/discord.yaml +0 -90
- package/.github/workflows/docs.yaml +0 -64
- package/.github/workflows/publish.yaml +0 -133
- package/.github/workflows/quality.yaml +0 -116
- package/.husky/pre-commit +0 -20
- package/.markdownlint-cli2.yaml +0 -41
- package/.nvmrc +0 -1
- package/.prettierignore +0 -12
- package/.vscode/settings.json +0 -96
- package/CHANGELOG.md +0 -1785
- package/CNAME +0 -1
- package/CONTRIBUTING.md +0 -176
- package/CONTRIBUTORS.md +0 -32
- package/SECURITY.md +0 -85
- package/TRADEMARK.md +0 -55
- package/Wordmark.png +0 -0
- package/banner-bmad-method.png +0 -0
- package/docs/404.md +0 -9
- package/docs/_STYLE_GUIDE.md +0 -370
- package/docs/explanation/advanced-elicitation.md +0 -49
- package/docs/explanation/adversarial-review.md +0 -59
- package/docs/explanation/brainstorming.md +0 -33
- package/docs/explanation/established-projects-faq.md +0 -50
- package/docs/explanation/party-mode.md +0 -59
- package/docs/explanation/preventing-agent-conflicts.md +0 -112
- package/docs/explanation/project-context.md +0 -157
- package/docs/explanation/quick-dev-new-preview.md +0 -73
- package/docs/explanation/quick-flow.md +0 -77
- package/docs/explanation/why-solutioning-matters.md +0 -77
- package/docs/how-to/customize-bmad.md +0 -172
- package/docs/how-to/established-projects.md +0 -117
- package/docs/how-to/get-answers-about-bmad.md +0 -138
- package/docs/how-to/install-bmad.md +0 -116
- package/docs/how-to/non-interactive-installation.md +0 -171
- package/docs/how-to/project-context.md +0 -136
- package/docs/how-to/quick-fixes.md +0 -123
- package/docs/how-to/shard-large-documents.md +0 -78
- package/docs/how-to/upgrade-to-v6.md +0 -100
- package/docs/index.md +0 -60
- package/docs/reference/agents.md +0 -28
- package/docs/reference/commands.md +0 -145
- package/docs/reference/modules.md +0 -76
- package/docs/reference/testing.md +0 -106
- package/docs/reference/workflow-map.md +0 -89
- package/docs/roadmap.mdx +0 -136
- package/docs/tutorials/getting-started.md +0 -275
- package/docs/zh-cn/404.md +0 -9
- package/docs/zh-cn/_STYLE_GUIDE.md +0 -370
- package/docs/zh-cn/explanation/advanced-elicitation.md +0 -62
- package/docs/zh-cn/explanation/adversarial-review.md +0 -71
- package/docs/zh-cn/explanation/brainstorming.md +0 -43
- package/docs/zh-cn/explanation/established-projects-faq.md +0 -60
- package/docs/zh-cn/explanation/party-mode.md +0 -79
- package/docs/zh-cn/explanation/preventing-agent-conflicts.md +0 -137
- package/docs/zh-cn/explanation/project-context.md +0 -176
- package/docs/zh-cn/explanation/quick-flow.md +0 -93
- package/docs/zh-cn/explanation/why-solutioning-matters.md +0 -90
- package/docs/zh-cn/how-to/customize-bmad.md +0 -182
- package/docs/zh-cn/how-to/established-projects.md +0 -134
- package/docs/zh-cn/how-to/get-answers-about-bmad.md +0 -144
- package/docs/zh-cn/how-to/install-bmad.md +0 -105
- package/docs/zh-cn/how-to/non-interactive-installation.md +0 -181
- package/docs/zh-cn/how-to/project-context.md +0 -152
- package/docs/zh-cn/how-to/quick-fixes.md +0 -140
- package/docs/zh-cn/how-to/shard-large-documents.md +0 -86
- package/docs/zh-cn/how-to/upgrade-to-v6.md +0 -120
- package/docs/zh-cn/index.md +0 -69
- package/docs/zh-cn/reference/agents.md +0 -41
- package/docs/zh-cn/reference/commands.md +0 -166
- package/docs/zh-cn/reference/modules.md +0 -94
- package/docs/zh-cn/reference/testing.md +0 -122
- package/docs/zh-cn/reference/workflow-map.md +0 -104
- package/docs/zh-cn/roadmap.mdx +0 -152
- package/docs/zh-cn/tutorials/getting-started.md +0 -300
- package/eslint.config.mjs +0 -141
- package/prettier.config.mjs +0 -32
- package/src/core/workflows/brainstorming/bmad-skill-manifest.yaml +0 -3
- package/src/core/workflows/party-mode/bmad-skill-manifest.yaml +0 -3
- package/test/README.md +0 -295
- package/test/adversarial-review-tests/README.md +0 -56
- package/test/adversarial-review-tests/sample-content.md +0 -46
- package/test/adversarial-review-tests/test-cases.yaml +0 -103
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +0 -30
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +0 -22
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +0 -20
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +0 -31
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +0 -26
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +0 -23
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +0 -29
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +0 -31
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +0 -5
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +0 -11
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +0 -19
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +0 -18
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +0 -27
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +0 -31
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +0 -38
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +0 -23
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +0 -31
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +0 -34
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +0 -23
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +0 -28
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +0 -30
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +0 -24
- package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +0 -3
- package/test/fixtures/file-refs-csv/invalid/empty-data.csv +0 -1
- package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +0 -3
- package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +0 -3
- package/test/fixtures/file-refs-csv/valid/bmm-style.csv +0 -3
- package/test/fixtures/file-refs-csv/valid/core-style.csv +0 -3
- package/test/fixtures/file-refs-csv/valid/minimal.csv +0 -2
- package/test/test-agent-schema.js +0 -387
- package/test/test-cli-integration.sh +0 -159
- package/test/test-file-refs-csv.js +0 -133
- package/test/test-install-to-bmad.js +0 -154
- package/test/test-installation-components.js +0 -1796
- package/test/test-rehype-plugins.mjs +0 -1050
- package/test/test-workflow-path-regex.js +0 -88
- package/test/unit-test-schema.js +0 -133
- package/tools/build-docs.mjs +0 -464
- package/tools/docs/_prompt-external-modules-page.md +0 -59
- package/tools/docs/fix-refs.md +0 -91
- package/tools/docs/native-skills-migration-checklist.md +0 -281
- package/tools/fix-doc-links.js +0 -285
- package/tools/validate-agent-schema.js +0 -110
- package/tools/validate-doc-links.js +0 -407
- package/tools/validate-file-refs.js +0 -556
- package/website/README.md +0 -75
- package/website/astro.config.mjs +0 -157
- package/website/public/diagrams/quick-dev-diagram.png +0 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/bmad-dark.png +0 -0
- package/website/public/img/bmad-light.png +0 -0
- package/website/public/workflow-map-diagram.html +0 -361
- package/website/src/components/Banner.astro +0 -62
- package/website/src/components/Header.astro +0 -96
- package/website/src/components/MobileMenuFooter.astro +0 -33
- package/website/src/content/config.ts +0 -7
- package/website/src/content/i18n/zh-CN.json +0 -28
- package/website/src/lib/site-url.mjs +0 -25
- package/website/src/pages/404.astro +0 -11
- package/website/src/pages/robots.txt.ts +0 -48
- package/website/src/rehype-base-paths.js +0 -112
- package/website/src/rehype-markdown-links.js +0 -119
- package/website/src/styles/custom.css +0 -805
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/brain-methods.csv +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-01-session-setup.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-01b-continue.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02a-user-selected.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02b-ai-recommended.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02c-random-selection.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-02d-progressive-flow.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-03-technique-execution.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/steps/step-04-idea-organization.md +0 -0
- /package/src/core/workflows/{brainstorming → bmad-brainstorming}/template.md +0 -0
- /package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-01-agent-loading.md +0 -0
- /package/src/core/workflows/{party-mode → bmad-party-mode}/steps/step-02-discussion-orchestration.md +0 -0
package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml
DELETED
|
@@ -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,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,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
|