bmad-method-test-architecture-enterprise 0.1.1-beta.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/.github/CODE_OF_CONDUCT.md +128 -0
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +11 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
- package/.github/ISSUE_TEMPLATE/issue.md +61 -0
- package/.github/workflows/docs.yaml +66 -0
- package/.github/workflows/manual-release.yaml +195 -0
- package/.github/workflows/quality.yaml +114 -0
- package/.husky/pre-commit +20 -0
- package/.markdownlint-cli2.yaml +36 -0
- package/.nvmrc +1 -0
- package/.prettierignore +9 -0
- package/.vscode/settings.json +47 -0
- package/CHANGELOG.md +217 -0
- package/CONTRIBUTING.md +268 -0
- package/LICENSE +26 -0
- package/README.md +300 -0
- package/SECURITY.md +85 -0
- package/TEA-MODULE-MIGRATION-PLAN.md +3788 -0
- package/docs/404.md +20 -0
- package/docs/MIGRATION.md +447 -0
- package/docs/explanation/engagement-models.md +767 -0
- package/docs/explanation/fixture-architecture.md +484 -0
- package/docs/explanation/knowledge-base-system.md +599 -0
- package/docs/explanation/network-first-patterns.md +884 -0
- package/docs/explanation/risk-based-testing.md +628 -0
- package/docs/explanation/step-file-architecture.md +609 -0
- package/docs/explanation/subprocess-architecture.md +578 -0
- package/docs/explanation/subprocess-implementation-status.md +327 -0
- package/docs/explanation/tea-overview.md +425 -0
- package/docs/explanation/test-quality-standards.md +965 -0
- package/docs/explanation/testing-as-engineering.md +111 -0
- package/docs/glossary/index.md +160 -0
- package/docs/how-to/brownfield/use-tea-for-enterprise.md +571 -0
- package/docs/how-to/brownfield/use-tea-with-existing-tests.md +631 -0
- package/docs/how-to/customization/enable-tea-mcp-enhancements.md +455 -0
- package/docs/how-to/customization/integrate-playwright-utils.md +846 -0
- package/docs/how-to/workflows/run-atdd.md +460 -0
- package/docs/how-to/workflows/run-automate.md +690 -0
- package/docs/how-to/workflows/run-nfr-assess.md +731 -0
- package/docs/how-to/workflows/run-test-design.md +144 -0
- package/docs/how-to/workflows/run-test-review.md +638 -0
- package/docs/how-to/workflows/run-trace.md +951 -0
- package/docs/how-to/workflows/setup-ci.md +761 -0
- package/docs/how-to/workflows/setup-test-framework.md +99 -0
- package/docs/index.md +122 -0
- package/docs/reference/commands.md +300 -0
- package/docs/reference/configuration.md +729 -0
- package/docs/reference/knowledge-base.md +365 -0
- package/docs/reference/troubleshooting.md +717 -0
- package/docs/tutorials/tea-lite-quickstart.md +465 -0
- package/eslint.config.mjs +152 -0
- package/package.json +117 -0
- package/prettier.config.mjs +32 -0
- package/release_notes.md +28 -0
- package/src/_module-installer/installer.js +92 -0
- package/src/agents/tea.agent.yaml +63 -0
- package/src/module-help.csv +9 -0
- package/src/module.yaml +91 -0
- package/src/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/testarch/knowledge/api-request.md +442 -0
- package/src/testarch/knowledge/api-testing-patterns.md +851 -0
- package/src/testarch/knowledge/auth-session.md +548 -0
- package/src/testarch/knowledge/burn-in.md +273 -0
- package/src/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/testarch/knowledge/component-tdd.md +486 -0
- package/src/testarch/knowledge/contract-testing.md +957 -0
- package/src/testarch/knowledge/data-factories.md +500 -0
- package/src/testarch/knowledge/email-auth.md +721 -0
- package/src/testarch/knowledge/error-handling.md +725 -0
- package/src/testarch/knowledge/feature-flags.md +750 -0
- package/src/testarch/knowledge/file-utils.md +456 -0
- package/src/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/testarch/knowledge/fixtures-composition.md +382 -0
- package/src/testarch/knowledge/intercept-network-call.md +426 -0
- package/src/testarch/knowledge/log.md +426 -0
- package/src/testarch/knowledge/network-error-monitor.md +401 -0
- package/src/testarch/knowledge/network-first.md +486 -0
- package/src/testarch/knowledge/network-recorder.md +527 -0
- package/src/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/testarch/knowledge/overview.md +286 -0
- package/src/testarch/knowledge/playwright-config.md +730 -0
- package/src/testarch/knowledge/probability-impact.md +601 -0
- package/src/testarch/knowledge/recurse.md +421 -0
- package/src/testarch/knowledge/risk-governance.md +615 -0
- package/src/testarch/knowledge/selective-testing.md +732 -0
- package/src/testarch/knowledge/selector-resilience.md +527 -0
- package/src/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/testarch/knowledge/test-quality.md +664 -0
- package/src/testarch/knowledge/timing-debugging.md +372 -0
- package/src/testarch/knowledge/visual-debugging.md +524 -0
- package/src/testarch/tea-index.csv +35 -0
- package/src/workflows/testarch/README.md +74 -0
- package/src/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/src/workflows/testarch/atdd/checklist.md +374 -0
- package/src/workflows/testarch/atdd/instructions.md +38 -0
- package/src/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +110 -0
- package/src/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +79 -0
- package/src/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +76 -0
- package/src/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +228 -0
- package/src/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +215 -0
- package/src/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +212 -0
- package/src/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +329 -0
- package/src/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +68 -0
- package/src/workflows/testarch/atdd/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/atdd/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/atdd/validation-report-20260127-095021.md +73 -0
- package/src/workflows/testarch/atdd/validation-report-20260127-102401.md +116 -0
- package/src/workflows/testarch/atdd/workflow-plan.md +21 -0
- package/src/workflows/testarch/atdd/workflow.md +39 -0
- package/src/workflows/testarch/atdd/workflow.yaml +47 -0
- package/src/workflows/testarch/automate/checklist.md +582 -0
- package/src/workflows/testarch/automate/instructions.md +43 -0
- package/src/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +127 -0
- package/src/workflows/testarch/automate/steps-c/step-02-identify-targets.md +95 -0
- package/src/workflows/testarch/automate/steps-c/step-03-generate-tests.md +199 -0
- package/src/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +183 -0
- package/src/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +181 -0
- package/src/workflows/testarch/automate/steps-c/step-03c-aggregate.md +300 -0
- package/src/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +69 -0
- package/src/workflows/testarch/automate/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/automate/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/automate/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/automate/validation-report-20260127-095021.md +72 -0
- package/src/workflows/testarch/automate/validation-report-20260127-102401.md +114 -0
- package/src/workflows/testarch/automate/workflow-plan.md +20 -0
- package/src/workflows/testarch/automate/workflow.md +39 -0
- package/src/workflows/testarch/automate/workflow.yaml +54 -0
- package/src/workflows/testarch/ci/checklist.md +247 -0
- package/src/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/src/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/src/workflows/testarch/ci/instructions.md +38 -0
- package/src/workflows/testarch/ci/steps-c/step-01-preflight.md +92 -0
- package/src/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +82 -0
- package/src/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +75 -0
- package/src/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +67 -0
- package/src/workflows/testarch/ci/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/ci/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/ci/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/ci/validation-report-20260127-095021.md +72 -0
- package/src/workflows/testarch/ci/validation-report-20260127-102401.md +114 -0
- package/src/workflows/testarch/ci/workflow-plan.md +20 -0
- package/src/workflows/testarch/ci/workflow.md +39 -0
- package/src/workflows/testarch/ci/workflow.yaml +47 -0
- package/src/workflows/testarch/framework/checklist.md +320 -0
- package/src/workflows/testarch/framework/instructions.md +38 -0
- package/src/workflows/testarch/framework/steps-c/step-01-preflight.md +75 -0
- package/src/workflows/testarch/framework/steps-c/step-02-select-framework.md +73 -0
- package/src/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +120 -0
- package/src/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +70 -0
- package/src/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +68 -0
- package/src/workflows/testarch/framework/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/framework/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/framework/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/framework/validation-report-20260127-095021.md +73 -0
- package/src/workflows/testarch/framework/validation-report-20260127-102401.md +116 -0
- package/src/workflows/testarch/framework/workflow-plan.md +22 -0
- package/src/workflows/testarch/framework/workflow.md +39 -0
- package/src/workflows/testarch/framework/workflow.yaml +49 -0
- package/src/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/src/workflows/testarch/nfr-assess/instructions.md +36 -0
- package/src/workflows/testarch/nfr-assess/nfr-report-template.md +462 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +85 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +82 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +64 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +140 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +138 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +84 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +85 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +88 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +219 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +71 -0
- package/src/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +73 -0
- package/src/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +116 -0
- package/src/workflows/testarch/nfr-assess/workflow-plan.md +19 -0
- package/src/workflows/testarch/nfr-assess/workflow.md +39 -0
- package/src/workflows/testarch/nfr-assess/workflow.yaml +49 -0
- package/src/workflows/testarch/test-design/checklist.md +410 -0
- package/src/workflows/testarch/test-design/instructions.md +52 -0
- package/src/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +109 -0
- package/src/workflows/testarch/test-design/steps-c/step-02-load-context.md +127 -0
- package/src/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +85 -0
- package/src/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +98 -0
- package/src/workflows/testarch/test-design/steps-c/step-05-generate-output.md +97 -0
- package/src/workflows/testarch/test-design/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/test-design/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/test-design/test-design-architecture-template.md +222 -0
- package/src/workflows/testarch/test-design/test-design-qa-template.md +296 -0
- package/src/workflows/testarch/test-design/test-design-template.md +294 -0
- package/src/workflows/testarch/test-design/validation-report-20260127-095021.md +73 -0
- package/src/workflows/testarch/test-design/validation-report-20260127-102401.md +116 -0
- package/src/workflows/testarch/test-design/workflow-plan.md +22 -0
- package/src/workflows/testarch/test-design/workflow.md +39 -0
- package/src/workflows/testarch/test-design/workflow.yaml +71 -0
- package/src/workflows/testarch/test-review/checklist.md +472 -0
- package/src/workflows/testarch/test-review/instructions.md +36 -0
- package/src/workflows/testarch/test-review/steps-c/step-01-load-context.md +101 -0
- package/src/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +69 -0
- package/src/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +184 -0
- package/src/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +214 -0
- package/src/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +125 -0
- package/src/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +102 -0
- package/src/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +111 -0
- package/src/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +117 -0
- package/src/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +246 -0
- package/src/workflows/testarch/test-review/steps-c/step-04-generate-report.md +72 -0
- package/src/workflows/testarch/test-review/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/test-review/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/test-review/test-review-template.md +390 -0
- package/src/workflows/testarch/test-review/validation-report-20260127-095021.md +72 -0
- package/src/workflows/testarch/test-review/validation-report-20260127-102401.md +114 -0
- package/src/workflows/testarch/test-review/workflow-plan.md +18 -0
- package/src/workflows/testarch/test-review/workflow.md +39 -0
- package/src/workflows/testarch/test-review/workflow.yaml +48 -0
- package/src/workflows/testarch/trace/checklist.md +642 -0
- package/src/workflows/testarch/trace/instructions.md +36 -0
- package/src/workflows/testarch/trace/steps-c/step-01-load-context.md +80 -0
- package/src/workflows/testarch/trace/steps-c/step-02-discover-tests.md +69 -0
- package/src/workflows/testarch/trace/steps-c/step-03-map-criteria.md +65 -0
- package/src/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +244 -0
- package/src/workflows/testarch/trace/steps-c/step-05-gate-decision.md +232 -0
- package/src/workflows/testarch/trace/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/trace/steps-e/step-02-apply-edit.md +60 -0
- package/src/workflows/testarch/trace/steps-v/step-01-validate.md +67 -0
- package/src/workflows/testarch/trace/trace-template.md +675 -0
- package/src/workflows/testarch/trace/validation-report-20260127-095021.md +73 -0
- package/src/workflows/testarch/trace/validation-report-20260127-102401.md +116 -0
- package/src/workflows/testarch/trace/workflow-plan.md +21 -0
- package/src/workflows/testarch/trace/workflow.md +39 -0
- package/src/workflows/testarch/trace/workflow.yaml +57 -0
- package/test/README.md +23 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/schema/agent.js +491 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-installation-components.js +183 -0
- package/test/test-knowledge-base.js +199 -0
- package/test/unit-test-schema.js +133 -0
- package/test/validate-agent-schema.js +110 -0
- package/tools/build-docs.js +575 -0
- package/tools/fix-doc-links.js +288 -0
- package/tools/schema/agent.js +491 -0
- package/tools/validate-agent-schema.js +111 -0
- package/tools/validate-doc-links.js +371 -0
- package/tools/verify-paths.js +100 -0
- package/website/README.md +137 -0
- package/website/astro.config.mjs +158 -0
- package/website/package-lock.json +6856 -0
- package/website/package.json +23 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/tea-logo.svg +7 -0
- package/website/public/robots.txt +37 -0
- package/website/src/components/Banner.astro +59 -0
- package/website/src/components/Header.astro +121 -0
- package/website/src/components/MobileMenuFooter.astro +53 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.js +25 -0
- package/website/src/pages/404.astro +11 -0
- package/website/src/rehype-base-paths.js +89 -0
- package/website/src/rehype-markdown-links.js +117 -0
- package/website/src/styles/custom.css +499 -0
- package/website/tsconfig.json +9 -0
|
@@ -0,0 +1,25 @@
|
|
|
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
|
|
@@ -0,0 +1,26 @@
|
|
|
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/modules/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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
workflow: 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
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Test: Menu with single valid item
|
|
2
|
+
# Expected: PASS
|
|
3
|
+
|
|
4
|
+
agent:
|
|
5
|
+
metadata:
|
|
6
|
+
id: single-menu
|
|
7
|
+
name: Single Menu Item
|
|
8
|
+
title: Single Menu
|
|
9
|
+
icon: 🧪
|
|
10
|
+
hasSidecar: false
|
|
11
|
+
|
|
12
|
+
persona:
|
|
13
|
+
role: Test agent with single menu item
|
|
14
|
+
identity: I am a test agent.
|
|
15
|
+
communication_style: Clear
|
|
16
|
+
principles:
|
|
17
|
+
- Test minimal menu
|
|
18
|
+
|
|
19
|
+
menu:
|
|
20
|
+
- trigger: help
|
|
21
|
+
description: Show help information
|
|
22
|
+
action: display_help
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Test: Menu items with all valid command target types
|
|
2
|
+
# Expected: PASS
|
|
3
|
+
|
|
4
|
+
agent:
|
|
5
|
+
metadata:
|
|
6
|
+
id: all-commands
|
|
7
|
+
name: All Command Types
|
|
8
|
+
title: All Commands
|
|
9
|
+
icon: 🧪
|
|
10
|
+
hasSidecar: false
|
|
11
|
+
|
|
12
|
+
persona:
|
|
13
|
+
role: Test agent with all command types
|
|
14
|
+
identity: I test all available command target types.
|
|
15
|
+
communication_style: Clear
|
|
16
|
+
principles:
|
|
17
|
+
- Test all command types
|
|
18
|
+
|
|
19
|
+
menu:
|
|
20
|
+
- trigger: workflow-test
|
|
21
|
+
description: Test workflow command
|
|
22
|
+
workflow: path/to/workflow
|
|
23
|
+
- trigger: validate-test
|
|
24
|
+
description: Test validate-workflow command
|
|
25
|
+
validate-workflow: path/to/validation
|
|
26
|
+
- trigger: exec-test
|
|
27
|
+
description: Test exec command
|
|
28
|
+
exec: npm test
|
|
29
|
+
- trigger: action-test
|
|
30
|
+
description: Test action command
|
|
31
|
+
action: perform_action
|
|
32
|
+
- trigger: tmpl-test
|
|
33
|
+
description: Test tmpl command
|
|
34
|
+
tmpl: path/to/template
|
|
35
|
+
- trigger: data-test
|
|
36
|
+
description: Test data command
|
|
37
|
+
data: path/to/data
|
|
38
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Test: Menu item with multiple command targets
|
|
2
|
+
# Expected: PASS - multiple targets are allowed
|
|
3
|
+
|
|
4
|
+
agent:
|
|
5
|
+
metadata:
|
|
6
|
+
id: multiple-commands
|
|
7
|
+
name: Multiple Commands
|
|
8
|
+
title: Multiple Commands
|
|
9
|
+
icon: 🧪
|
|
10
|
+
hasSidecar: false
|
|
11
|
+
|
|
12
|
+
persona:
|
|
13
|
+
role: Test agent with multiple command targets
|
|
14
|
+
identity: I test multiple command targets per menu item.
|
|
15
|
+
communication_style: Clear
|
|
16
|
+
principles:
|
|
17
|
+
- Test multiple targets
|
|
18
|
+
|
|
19
|
+
menu:
|
|
20
|
+
- trigger: multi-command
|
|
21
|
+
description: Menu item with multiple command targets
|
|
22
|
+
workflow: path/to/workflow
|
|
23
|
+
exec: npm test
|
|
24
|
+
action: perform_action
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Test: Valid compound triggers
|
|
2
|
+
# Expected: PASS
|
|
3
|
+
|
|
4
|
+
agent:
|
|
5
|
+
metadata:
|
|
6
|
+
id: compound-triggers
|
|
7
|
+
name: Compound Triggers
|
|
8
|
+
title: Compound Triggers Test
|
|
9
|
+
icon: 🧪
|
|
10
|
+
hasSidecar: false
|
|
11
|
+
|
|
12
|
+
persona:
|
|
13
|
+
role: Test agent with compound triggers
|
|
14
|
+
identity: I test compound trigger validation.
|
|
15
|
+
communication_style: Clear
|
|
16
|
+
principles:
|
|
17
|
+
- Test compound format
|
|
18
|
+
|
|
19
|
+
menu:
|
|
20
|
+
- trigger: TS or fuzzy match on tech-spec
|
|
21
|
+
description: "[TS] Two-word compound trigger"
|
|
22
|
+
action: tech_spec
|
|
23
|
+
- trigger: DS or fuzzy match on dev-story
|
|
24
|
+
description: "[DS] Another two-word compound trigger"
|
|
25
|
+
action: dev_story
|
|
26
|
+
- trigger: WI or fuzzy match on workflow-init-process
|
|
27
|
+
description: "[WI] Three-word compound trigger (uses first 2 words for shortcut)"
|
|
28
|
+
action: workflow_init
|
|
29
|
+
- trigger: H or fuzzy match on help
|
|
30
|
+
description: "[H] Single-word compound trigger (1-letter shortcut)"
|
|
31
|
+
action: help
|