bmad-method 6.0.3 → 6.0.5-next.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/.augment/code_review_guidelines.yaml +2 -42
- package/.claude/skills/bmad-os-findings-triage/SKILL.md +6 -0
- package/.claude/skills/bmad-os-findings-triage/prompts/agent-prompt.md +104 -0
- package/.claude/skills/bmad-os-findings-triage/prompts/instructions.md +286 -0
- package/.claude/skills/bmad-os-review-pr/SKILL.md +1 -1
- package/.claude/skills/bmad-os-review-pr/prompts/instructions.md +63 -6
- package/.claude/skills/bmad-os-review-prompt/SKILL.md +177 -0
- package/.claude/skills/bmad-os-root-cause-analysis/SKILL.md +12 -0
- package/.claude/skills/bmad-os-root-cause-analysis/prompts/instructions.md +74 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +1 -1
- package/.github/ISSUE_TEMPLATE/documentation.yaml +1 -1
- package/.github/workflows/publish.yaml +243 -0
- package/CHANGELOG.md +32 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +8 -8
- package/README_CN.md +121 -0
- package/docs/_STYLE_GUIDE.md +10 -10
- package/docs/explanation/brainstorming.md +1 -1
- package/docs/explanation/party-mode.md +1 -1
- package/docs/explanation/preventing-agent-conflicts.md +1 -1
- package/docs/explanation/project-context.md +15 -15
- package/docs/explanation/quick-flow.md +9 -9
- package/docs/how-to/established-projects.md +7 -7
- package/docs/how-to/get-answers-about-bmad.md +2 -2
- package/docs/how-to/install-bmad.md +16 -6
- package/docs/how-to/project-context.md +2 -2
- package/docs/how-to/quick-fixes.md +5 -5
- package/docs/how-to/shard-large-documents.md +1 -1
- package/docs/how-to/upgrade-to-v6.md +8 -5
- package/docs/index.md +2 -2
- package/docs/reference/agents.md +14 -14
- package/docs/reference/commands.md +64 -70
- package/docs/reference/testing.md +1 -1
- package/docs/reference/workflow-map.md +19 -19
- package/docs/tutorials/getting-started.md +34 -34
- package/docs/zh-cn/404.md +9 -0
- package/docs/zh-cn/_STYLE_GUIDE.md +370 -0
- package/docs/zh-cn/explanation/advanced-elicitation.md +62 -0
- package/docs/zh-cn/explanation/adversarial-review.md +71 -0
- package/docs/zh-cn/explanation/brainstorming.md +43 -0
- package/docs/zh-cn/explanation/established-projects-faq.md +60 -0
- package/docs/zh-cn/explanation/party-mode.md +79 -0
- package/docs/zh-cn/explanation/preventing-agent-conflicts.md +137 -0
- package/docs/zh-cn/explanation/project-context.md +176 -0
- package/docs/zh-cn/explanation/quick-flow.md +93 -0
- package/docs/zh-cn/explanation/why-solutioning-matters.md +90 -0
- package/docs/zh-cn/how-to/customize-bmad.md +182 -0
- package/docs/zh-cn/how-to/established-projects.md +134 -0
- package/docs/zh-cn/how-to/get-answers-about-bmad.md +144 -0
- package/docs/zh-cn/how-to/install-bmad.md +105 -0
- package/docs/zh-cn/how-to/non-interactive-installation.md +181 -0
- package/docs/zh-cn/how-to/project-context.md +152 -0
- package/docs/zh-cn/how-to/quick-fixes.md +140 -0
- package/docs/zh-cn/how-to/shard-large-documents.md +86 -0
- package/docs/zh-cn/how-to/upgrade-to-v6.md +120 -0
- package/docs/zh-cn/index.md +69 -0
- package/docs/zh-cn/reference/agents.md +41 -0
- package/docs/zh-cn/reference/commands.md +166 -0
- package/docs/zh-cn/reference/modules.md +94 -0
- package/docs/zh-cn/reference/testing.md +122 -0
- package/docs/zh-cn/reference/workflow-map.md +104 -0
- package/docs/zh-cn/roadmap.mdx +152 -0
- package/docs/zh-cn/tutorials/getting-started.md +300 -0
- package/package.json +1 -1
- package/src/bmm/agents/analyst.agent.yaml +1 -1
- package/src/bmm/agents/bmad-skill-manifest.yaml +39 -0
- package/src/bmm/agents/dev.agent.yaml +2 -2
- package/src/bmm/agents/pm.agent.yaml +1 -1
- package/src/bmm/agents/qa.agent.yaml +1 -1
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +6 -2
- package/src/bmm/agents/sm.agent.yaml +4 -4
- package/src/bmm/agents/tech-writer/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +1 -1
- package/src/bmm/module-help.csv +11 -10
- package/src/bmm/workflows/1-analysis/create-product-brief/bmad-skill-manifest.yaml +3 -0
- 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/1-analysis/create-product-brief/steps/step-06-complete.md +1 -1
- package/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml +14 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml +14 -0
- 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-c/step-12-complete.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-e/step-e-02-review.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-prd/steps-v/step-v-10-smart-validation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/bmad-skill-manifest.yaml +3 -0
- 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/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -1
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-architecture/bmad-skill-manifest.yaml +3 -0
- 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-architecture/steps/step-08-complete.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +1 -1
- 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 +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +2 -2
- package/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/code-review/discover-inputs.md +88 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.md +271 -0
- package/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/bmm/workflows/4-implementation/correct-course/{instructions.md → workflow.md} +79 -12
- package/src/bmm/workflows/4-implementation/create-story/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +9 -10
- package/src/bmm/workflows/4-implementation/create-story/discover-inputs.md +88 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.md +388 -0
- package/src/bmm/workflows/4-implementation/dev-story/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/dev-story/{instructions.xml → workflow.md} +49 -2
- package/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/retrospective/{instructions.md → workflow.md} +64 -23
- package/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/{instructions.md → workflow.md} +55 -10
- package/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/sprint-status/{instructions.md → workflow.md} +45 -8
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +54 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +39 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +35 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +55 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +19 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md +90 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +84 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +8 -14
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +4 -6
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
- package/src/bmm/workflows/document-project/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/document-project/instructions.md +5 -7
- package/src/bmm/workflows/document-project/workflow.md +39 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -1
- package/src/bmm/workflows/document-project/workflows/deep-dive-workflow.md +42 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1
- package/src/bmm/workflows/document-project/workflows/full-scan-workflow.md +42 -0
- package/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +2 -2
- package/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +1 -1
- package/src/bmm/workflows/qa-generate-e2e-tests/{instructions.md → workflow.md} +40 -7
- package/src/core/agents/bmad-master.agent.yaml +1 -1
- package/src/core/agents/bmad-skill-manifest.yaml +3 -0
- package/src/core/module-help.csv +3 -2
- package/src/core/module.yaml +1 -1
- package/src/core/tasks/bmad-help/SKILL.md +6 -0
- package/src/core/tasks/bmad-help/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/{help.md → bmad-help/workflow.md} +6 -4
- package/src/core/tasks/bmad-review-adversarial-general/SKILL.md +6 -0
- package/src/core/tasks/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-review-adversarial-general/workflow.md +32 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/SKILL.md +6 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/workflow.md +62 -0
- package/src/core/tasks/bmad-skill-manifest.yaml +19 -0
- package/src/core/workflows/advanced-elicitation/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/advanced-elicitation/workflow.md +138 -0
- package/src/core/workflows/brainstorming/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +31 -18
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +1 -1
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +3 -3
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +2 -2
- package/src/core/workflows/brainstorming/workflow.md +5 -3
- package/src/core/workflows/party-mode/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/party-mode/workflow.md +1 -1
- package/src/utility/agent-components/activation-steps.txt +2 -2
- package/src/utility/agent-components/handler-multi.txt +1 -2
- package/test/adversarial-review-tests/README.md +3 -3
- package/test/adversarial-review-tests/test-cases.yaml +2 -2
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -1
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -1
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -2
- package/test/fixtures/file-refs-csv/valid/bmm-style.csv +1 -1
- package/test/test-file-refs-csv.js +1 -1
- package/test/test-install-to-bmad.js +154 -0
- package/test/test-installation-components.js +1586 -2
- package/test/test-workflow-path-regex.js +88 -0
- package/tools/cli/installers/install-messages.yaml +1 -1
- package/tools/cli/installers/lib/core/installer.js +34 -1
- package/tools/cli/installers/lib/core/manifest-generator.js +332 -41
- package/tools/cli/installers/lib/ide/_base-ide.js +24 -15
- package/tools/cli/installers/lib/ide/_config-driven.js +547 -53
- package/tools/cli/installers/lib/ide/manager.js +26 -62
- package/tools/cli/installers/lib/ide/platform-codes.yaml +116 -29
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +1 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +7 -0
- package/tools/cli/installers/lib/ide/shared/path-utils.js +68 -3
- package/tools/cli/installers/lib/ide/shared/skill-manifest.js +90 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +2 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +6 -145
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +0 -1
- package/tools/cli/installers/lib/modules/manager.js +9 -132
- package/tools/cli/lib/agent/compiler.js +1 -10
- package/tools/cli/lib/agent-analyzer.js +2 -14
- package/tools/cli/lib/yaml-xml-builder.js +1 -18
- package/tools/docs/native-skills-migration-checklist.md +281 -0
- package/tools/platform-codes.yaml +1 -1
- package/tools/schema/agent.js +1 -3
- package/tools/validate-file-refs.js +2 -0
- package/website/astro.config.mjs +24 -3
- package/website/src/content/config.ts +2 -1
- package/website/src/content/i18n/zh-CN.json +28 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -43
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -53
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +0 -346
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -52
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -20
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -52
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -47
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -25
- package/src/bmm/workflows/document-project/workflow.yaml +0 -22
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
- package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +0 -42
- package/src/core/tasks/review-adversarial-general.xml +0 -49
- package/src/core/tasks/workflow.xml +0 -235
- package/src/core/workflows/advanced-elicitation/workflow.xml +0 -118
- package/src/utility/agent-components/handler-validate-workflow.txt +0 -7
- package/src/utility/agent-components/handler-workflow.txt +0 -10
- package/tools/cli/installers/lib/ide/codex.js +0 -440
- package/tools/cli/installers/lib/ide/github-copilot.js +0 -699
- package/tools/cli/installers/lib/ide/kilo.js +0 -269
- package/tools/cli/installers/lib/ide/rovodev.js +0 -257
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +0 -14
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +0 -15
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +0 -13
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +0 -5
|
@@ -367,15 +367,6 @@ class YamlXmlBuilder {
|
|
|
367
367
|
const attrs = [`cmd="${trigger}"`];
|
|
368
368
|
|
|
369
369
|
// Add handler attributes
|
|
370
|
-
// If workflow-install exists, use its value for workflow attribute (vendoring)
|
|
371
|
-
// workflow-install is build-time metadata - tells installer where to copy workflows
|
|
372
|
-
// The final XML should only have workflow pointing to the install location
|
|
373
|
-
if (item['workflow-install']) {
|
|
374
|
-
attrs.push(`workflow="${item['workflow-install']}"`);
|
|
375
|
-
} else if (item.workflow) {
|
|
376
|
-
attrs.push(`workflow="${item.workflow}"`);
|
|
377
|
-
}
|
|
378
|
-
|
|
379
370
|
if (item['validate-workflow']) attrs.push(`validate-workflow="${item['validate-workflow']}"`);
|
|
380
371
|
if (item.exec) attrs.push(`exec="${item.exec}"`);
|
|
381
372
|
if (item.tmpl) attrs.push(`tmpl="${item.tmpl}"`);
|
|
@@ -417,8 +408,6 @@ class YamlXmlBuilder {
|
|
|
417
408
|
|
|
418
409
|
// Add handler attributes based on exec data
|
|
419
410
|
if (execData.route) attrs.push(`exec="${execData.route}"`);
|
|
420
|
-
if (execData.workflow) attrs.push(`workflow="${execData.workflow}"`);
|
|
421
|
-
if (execData['validate-workflow']) attrs.push(`validate-workflow="${execData['validate-workflow']}"`);
|
|
422
411
|
if (execData.action) attrs.push(`action="${execData.action}"`);
|
|
423
412
|
if (execData.data) attrs.push(`data="${execData.data}"`);
|
|
424
413
|
if (execData.tmpl) attrs.push(`tmpl="${execData.tmpl}"`);
|
|
@@ -442,7 +431,6 @@ class YamlXmlBuilder {
|
|
|
442
431
|
const result = {
|
|
443
432
|
description: '',
|
|
444
433
|
route: null,
|
|
445
|
-
workflow: null,
|
|
446
434
|
data: null,
|
|
447
435
|
action: null,
|
|
448
436
|
type: null,
|
|
@@ -459,12 +447,7 @@ class YamlXmlBuilder {
|
|
|
459
447
|
}
|
|
460
448
|
|
|
461
449
|
if (exec.route) {
|
|
462
|
-
|
|
463
|
-
if (exec.route.endsWith('.yaml') || exec.route.endsWith('.yml')) {
|
|
464
|
-
result.workflow = exec.route;
|
|
465
|
-
} else {
|
|
466
|
-
result.route = exec.route;
|
|
467
|
-
}
|
|
450
|
+
result.route = exec.route;
|
|
468
451
|
}
|
|
469
452
|
|
|
470
453
|
if (exec.data !== null && exec.data !== undefined) {
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# Native Skills Migration Checklist
|
|
2
|
+
|
|
3
|
+
Branch: `refactor/all-is-skills`
|
|
4
|
+
|
|
5
|
+
Scope: migrate the BMAD-supported platforms that fully support the Agent Skills standard from legacy installer outputs to native skills output.
|
|
6
|
+
|
|
7
|
+
Current branch status:
|
|
8
|
+
|
|
9
|
+
- `Claude Code` has already been moved to `.claude/skills`
|
|
10
|
+
- `Codex CLI` has already been moved to `.agents/skills`
|
|
11
|
+
|
|
12
|
+
This checklist now includes those completed platforms plus the remaining full-support platforms.
|
|
13
|
+
|
|
14
|
+
## Claude Code
|
|
15
|
+
|
|
16
|
+
Support assumption: full Agent Skills support. BMAD has already migrated from `.claude/commands` to `.claude/skills`.
|
|
17
|
+
|
|
18
|
+
**Install:** `npm install -g @anthropic-ai/claude-code` or `brew install claude-code`
|
|
19
|
+
|
|
20
|
+
- [x] Confirm current implementation still matches Claude Code skills expectations
|
|
21
|
+
- [x] Confirm legacy cleanup for `.claude/commands`
|
|
22
|
+
- [x] Test fresh install
|
|
23
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
24
|
+
- [x] Confirm ancestor conflict protection because Claude Code inherits skills from parent directories and `ancestor_conflict_check: true` is set in platform-codes.yaml
|
|
25
|
+
- [x] Implement/extend automated tests as needed
|
|
26
|
+
|
|
27
|
+
## Codex CLI
|
|
28
|
+
|
|
29
|
+
Support assumption: full Agent Skills support. BMAD has already migrated from `.codex/prompts` to `.agents/skills`.
|
|
30
|
+
|
|
31
|
+
**Install:** `npm install -g @openai/codex`
|
|
32
|
+
|
|
33
|
+
- [x] Confirm current implementation still matches Codex CLI skills expectations
|
|
34
|
+
- [x] Confirm legacy cleanup for project and global `.codex/prompts`
|
|
35
|
+
- [x] Test fresh install
|
|
36
|
+
- [x] Test reinstall/upgrade from legacy prompt output
|
|
37
|
+
- [x] Confirm ancestor conflict protection because Codex inherits parent-directory `.agents/skills`
|
|
38
|
+
- [x] Implement/extend automated tests as needed
|
|
39
|
+
|
|
40
|
+
## Cursor
|
|
41
|
+
|
|
42
|
+
Support assumption: full Agent Skills support. BMAD currently installs legacy command files to `.cursor/commands`; target should move to a native skills directory.
|
|
43
|
+
|
|
44
|
+
- [x] Confirm current Cursor skills path and that BMAD should target `.cursor/skills`
|
|
45
|
+
- [x] Implement installer migration to native skills output
|
|
46
|
+
- [x] Add legacy cleanup for `.cursor/commands`
|
|
47
|
+
- [x] Test fresh install
|
|
48
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
49
|
+
- [x] Confirm no ancestor conflict protection is needed because a child workspace surfaced child `.cursor/skills` entries but not a parent-only skill during manual verification
|
|
50
|
+
- [x] Implement/extend automated tests
|
|
51
|
+
- [x] Commit
|
|
52
|
+
|
|
53
|
+
## Windsurf
|
|
54
|
+
|
|
55
|
+
Support assumption: full Agent Skills support. Windsurf docs confirm workspace skills at `.windsurf/skills` and global skills at `~/.codeium/windsurf/skills`. BMAD has now migrated from `.windsurf/workflows` to `.windsurf/skills`. Manual verification also confirmed that Windsurf custom skills are triggered via `@skill-name`, not slash commands.
|
|
56
|
+
|
|
57
|
+
- [x] Confirm Windsurf native skills directory as `.windsurf/skills`
|
|
58
|
+
- [x] Implement installer migration to native skills output
|
|
59
|
+
- [x] Add legacy cleanup for `.windsurf/workflows`
|
|
60
|
+
- [x] Test fresh install
|
|
61
|
+
- [x] Test reinstall/upgrade from legacy workflow output
|
|
62
|
+
- [x] Confirm no ancestor conflict protection is needed because manual Windsurf verification showed child-local `@` skills loaded while a parent-only skill was not inherited
|
|
63
|
+
- [x] Implement/extend automated tests
|
|
64
|
+
|
|
65
|
+
## Cline
|
|
66
|
+
|
|
67
|
+
Support assumption: full Agent Skills support. Cline docs confirm workspace skills at `.cline/skills/<skill-name>/SKILL.md` and global skills at `~/.cline/skills/`. BMAD has now migrated from `.clinerules/workflows` to `.cline/skills`.
|
|
68
|
+
|
|
69
|
+
**Install:** VS Code extension `saoudrizwan.claude-dev` — search "Cline" in Extensions or `code --install-extension saoudrizwan.claude-dev`
|
|
70
|
+
|
|
71
|
+
- [x] Confirm current Cline skills path is `.cline/skills/{skill-name}/SKILL.md` with YAML frontmatter (name + description)
|
|
72
|
+
- [x] Implement installer migration to native skills output
|
|
73
|
+
- [x] Add legacy cleanup for `.clinerules/workflows`
|
|
74
|
+
- [x] Test fresh install — 43 skills installed to `.cline/skills/`
|
|
75
|
+
- [x] Test reinstall/upgrade from legacy workflow output
|
|
76
|
+
- [x] Confirm no ancestor conflict protection is needed because Cline only scans workspace-local `.cline/skills/` and global `~/.cline/skills/`, with no ancestor directory inheritance
|
|
77
|
+
- [x] Implement/extend automated tests — 9 assertions in test suite 18
|
|
78
|
+
- [x] Commit
|
|
79
|
+
|
|
80
|
+
## Google Antigravity
|
|
81
|
+
|
|
82
|
+
Support assumption: full Agent Skills support. Antigravity docs confirm workspace skills at `.agent/skills/<skill-folder>/` and global skills at `~/.gemini/antigravity/skills/<skill-folder>/`. BMAD has now migrated from `.agent/workflows` to `.agent/skills`.
|
|
83
|
+
|
|
84
|
+
- [x] Confirm Antigravity native skills path and project/global precedence
|
|
85
|
+
- [x] Implement installer migration to native skills output
|
|
86
|
+
- [x] Add legacy cleanup for `.agent/workflows`
|
|
87
|
+
- [x] Test fresh install
|
|
88
|
+
- [x] Test reinstall/upgrade from legacy workflow output
|
|
89
|
+
- [x] Confirm no ancestor conflict protection is needed because manual Antigravity verification in `/tmp/antigravity-ancestor-repro/parent/child` showed only the child-local `child-only` skill, with no inherited parent `.agent/skills` entry
|
|
90
|
+
- [x] Implement/extend automated tests
|
|
91
|
+
|
|
92
|
+
## Auggie
|
|
93
|
+
|
|
94
|
+
Support assumption: full Agent Skills support. BMAD currently installs commands to `.augment/commands`; target should move to `.augment/skills`.
|
|
95
|
+
|
|
96
|
+
- [x] Confirm Auggie native skills path and compatibility loading from `.claude/skills` and `.agents/skills` via Augment docs plus local `auggie --print` repros
|
|
97
|
+
- [x] Implement installer migration to native skills output
|
|
98
|
+
- [x] Add legacy cleanup for `.augment/commands`
|
|
99
|
+
- [x] Test fresh install
|
|
100
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
101
|
+
- [x] Confirm no ancestor conflict protection is needed because local `auggie --workspace-root` repro showed child-local `.augment/skills` loading `child-only` but not parent `parent-only`
|
|
102
|
+
- [x] Implement/extend automated tests
|
|
103
|
+
- [x] Commit
|
|
104
|
+
|
|
105
|
+
## CodeBuddy
|
|
106
|
+
|
|
107
|
+
Support assumption: full Agent Skills support. CodeBuddy docs confirm workspace skills at `.codebuddy/skills/<skill-name>/SKILL.md` and global skills at `~/.codebuddy/commands/`. BMAD has now migrated from `.codebuddy/commands` to `.codebuddy/skills`.
|
|
108
|
+
|
|
109
|
+
**Install:** Download [Tencent CodeBuddy IDE](https://codebuddyide.net/) or install as VS Code extension `CodebuddyAI.codebuddy-ai`
|
|
110
|
+
|
|
111
|
+
- [x] Confirm CodeBuddy native skills path is `.codebuddy/skills/{skill-name}/SKILL.md` with YAML frontmatter (name + description) — per docs, not IDE-verified
|
|
112
|
+
- [x] Implement installer migration to native skills output
|
|
113
|
+
- [x] Add legacy cleanup for `.codebuddy/commands`
|
|
114
|
+
- [x] Test fresh install — 43 skills installed to `.codebuddy/skills/` (installer output only)
|
|
115
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
116
|
+
- [ ] **NEEDS MANUAL IDE VERIFICATION** — requires Tencent Cloud account; confirm skills appear in UI and test ancestor inheritance
|
|
117
|
+
- [x] Implement/extend automated tests — 9 assertions in test suite 19
|
|
118
|
+
- [x] Commit
|
|
119
|
+
|
|
120
|
+
## Crush
|
|
121
|
+
|
|
122
|
+
Support assumption: full Agent Skills support. Crush scans project-local `.crush/skills/` exclusively ([GitHub issue #2072](https://github.com/charmbracelet/crush/issues/2072) confirms this and requests adding `~/.agents/skills/`). BMAD has now migrated from `.crush/commands` to `.crush/skills`.
|
|
123
|
+
|
|
124
|
+
**Install:** `brew install charmbracelet/tap/crush` (macOS/Linux) or `winget install charmbracelet.crush` (Windows)
|
|
125
|
+
|
|
126
|
+
- [x] Confirm Crush project-local skills path is `.crush/skills/{skill-name}/SKILL.md` — per GitHub issue #2072 confirming `.crush/skills/` is the only scan path
|
|
127
|
+
- [x] Implement installer migration to native skills output
|
|
128
|
+
- [x] Add legacy cleanup for `.crush/commands`
|
|
129
|
+
- [x] Test fresh install — 43 skills installed to `.crush/skills/`
|
|
130
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
131
|
+
- [x] Confirm no ancestor conflict protection is needed because Crush only scans project-local `.crush/skills/`, no ancestor inheritance
|
|
132
|
+
- [x] Manual CLI verification — `crush run` lists all 10 skills and successfully triggers bmad-help
|
|
133
|
+
- [x] Implement/extend automated tests — 9 assertions in test suite 20
|
|
134
|
+
- [x] Commit
|
|
135
|
+
|
|
136
|
+
## Kiro
|
|
137
|
+
|
|
138
|
+
Support assumption: full Agent Skills support. Kiro docs confirm project skills at `.kiro/skills/<skill-name>/SKILL.md` and describe steering as a separate rules mechanism, not a required compatibility layer. BMAD has now migrated from `.kiro/steering` to `.kiro/skills`. Manual app verification also confirmed that Kiro can surface skills in Slash when the relevant UI setting is enabled, and that it does not inherit ancestor `.kiro/skills` directories.
|
|
139
|
+
|
|
140
|
+
- [x] Confirm Kiro skills path and verify BMAD should stop writing steering artifacts for this migration
|
|
141
|
+
- [x] Implement installer migration to native skills output
|
|
142
|
+
- [x] Add legacy cleanup for `.kiro/steering`
|
|
143
|
+
- [x] Test fresh install
|
|
144
|
+
- [x] Test reinstall/upgrade from legacy steering output
|
|
145
|
+
- [x] Confirm no ancestor conflict protection is needed because manual Kiro verification showed Slash-visible skills from the current workspace only, with no ancestor `.kiro/skills` inheritance
|
|
146
|
+
- [x] Implement/extend automated tests
|
|
147
|
+
|
|
148
|
+
## OpenCode
|
|
149
|
+
|
|
150
|
+
Support assumption: full Agent Skills support. BMAD currently splits output between `.opencode/agents` and `.opencode/commands`; target should consolidate to `.opencode/skills`.
|
|
151
|
+
|
|
152
|
+
- [x] Confirm OpenCode native skills path and compatibility loading from `.claude/skills` and `.agents/skills` in OpenCode docs and with local `opencode run` repros
|
|
153
|
+
- [x] Implement installer migration from multi-target legacy output to single native skills target
|
|
154
|
+
- [x] Add legacy cleanup for `.opencode/agents`, `.opencode/commands`, `.opencode/agent`, and `.opencode/command`
|
|
155
|
+
- [x] Test fresh install
|
|
156
|
+
- [x] Test reinstall/upgrade from split legacy output
|
|
157
|
+
- [x] Confirm ancestor conflict protection is required because local `opencode run` repros loaded both child-local `child-only` and ancestor `parent-only`, matching the docs that project-local skill discovery walks upward to the git worktree
|
|
158
|
+
- [x] Implement/extend automated tests
|
|
159
|
+
- [x] Commit
|
|
160
|
+
|
|
161
|
+
## Roo Code
|
|
162
|
+
|
|
163
|
+
Support assumption: full Agent Skills support. BMAD currently installs commands to `.roo/commands`; target should move to `.roo/skills` or the correct mode-aware skill directories.
|
|
164
|
+
|
|
165
|
+
**Install:** VS Code extension `RooVeterinaryInc.roo-cline` — search "Roo Code" in Extensions or `code --install-extension RooVeterinaryInc.roo-cline`
|
|
166
|
+
|
|
167
|
+
- [x] Confirm Roo native skills path is `.roo/skills/{skill-name}/SKILL.md` with `name` frontmatter matching directory exactly (lowercase, alphanumeric + hyphens only)
|
|
168
|
+
- [x] Implement installer migration to native skills output
|
|
169
|
+
- [x] Add legacy cleanup for `.roo/commands`
|
|
170
|
+
- [x] Test fresh install — 43 skills installed, verified in Roo Code v3.51
|
|
171
|
+
- [x] Test reinstall/upgrade from legacy command output
|
|
172
|
+
- [x] Confirm no ancestor conflict protection is needed because manual Roo Code v3.51 verification showed child-local `child-only` skill loaded while parent-only skill was not inherited
|
|
173
|
+
- [x] Implement/extend automated tests — 7 assertions in test suite 13
|
|
174
|
+
- [x] Commit
|
|
175
|
+
|
|
176
|
+
## Trae
|
|
177
|
+
|
|
178
|
+
Support assumption: full Agent Skills support. [Trae docs](https://docs.trae.ai/ide/skills) confirm workspace skills at `.trae/skills/<skill-name>/SKILL.md`. BMAD has now migrated from `.trae/rules` to `.trae/skills`.
|
|
179
|
+
|
|
180
|
+
**Install:** Download [standalone IDE](https://www.trae.ai/download) (macOS/Windows/Linux) or `winget install -e --id ByteDance.Trae`
|
|
181
|
+
|
|
182
|
+
- [x] Confirm Trae native skills path is `.trae/skills/{skill-name}/SKILL.md` — per official docs
|
|
183
|
+
- [x] Implement installer migration to native skills output
|
|
184
|
+
- [x] Add legacy cleanup for `.trae/rules`
|
|
185
|
+
- [x] Test fresh install — 43 skills installed to `.trae/skills/`
|
|
186
|
+
- [x] Test reinstall/upgrade from legacy rules output
|
|
187
|
+
- [x] Confirm no ancestor conflict protection is needed — Trae docs describe project-local `.trae/skills/` only
|
|
188
|
+
- [ ] **NEEDS MANUAL IDE VERIFICATION** — download Trae IDE and confirm skills appear in UI
|
|
189
|
+
- [x] Implement/extend automated tests — 9 assertions in test suite 21
|
|
190
|
+
- [x] Commit
|
|
191
|
+
|
|
192
|
+
## GitHub Copilot
|
|
193
|
+
|
|
194
|
+
Support assumption: full Agent Skills support. BMAD currently uses a custom installer that generates `.github/agents`, `.github/prompts`, and `.github/copilot-instructions.md`; target should move to `.github/skills`.
|
|
195
|
+
|
|
196
|
+
**Install:** VS Code extension `GitHub.copilot` — search "GitHub Copilot" in Extensions or `code --install-extension GitHub.copilot`
|
|
197
|
+
|
|
198
|
+
- [x] Confirm GitHub Copilot native skills path is `.github/skills/{skill-name}/SKILL.md` — also reads `.claude/skills/` automatically
|
|
199
|
+
- [x] Design the migration away from the custom prompt/agent installer model — replaced 699-line custom installer with config-driven `skill_format: true`
|
|
200
|
+
- [x] Implement native skills output, ideally with shared config-driven code where practical
|
|
201
|
+
- [x] Add legacy cleanup for `.github/agents`, `.github/prompts`, and BMAD markers in `copilot-instructions.md`
|
|
202
|
+
- [x] Test fresh install — 43 skills installed to `.github/skills/`
|
|
203
|
+
- [x] Test reinstall/upgrade from legacy custom installer output — legacy dirs removed, BMAD markers stripped, user content preserved
|
|
204
|
+
- [x] Confirm no ancestor conflict protection is needed because manual Copilot verification showed child-local `child-only` skill loaded while parent-only skill was not inherited
|
|
205
|
+
- [x] Implement/extend automated tests — 11 assertions in test suite 17 including marker cleanup
|
|
206
|
+
- [x] Commit
|
|
207
|
+
|
|
208
|
+
## KiloCoder — SUSPENDED
|
|
209
|
+
|
|
210
|
+
**Status: Kilo Code does not support the Agent Skills standard.** The original migration assumed skills support because Kilo forked from Roo Code, but manual IDE verification confirmed Kilo has not merged that feature. BMAD support is paused until Kilo implements skills.
|
|
211
|
+
|
|
212
|
+
**Install:** VS Code extension `kilocode.kilo-code` — search "Kilo Code" in Extensions or `code --install-extension kilocode.kilo-code`
|
|
213
|
+
|
|
214
|
+
- [x] ~~Confirm KiloCoder native skills path~~ — **FALSE**: assumed from Roo Code fork, not verified. Manual testing showed no skills support in the IDE
|
|
215
|
+
- [x] Config and installer code retained in platform-codes.yaml with `suspended` flag — hidden from IDE picker, setup blocked with explanation
|
|
216
|
+
- [x] Installer fails early (before writing `_bmad/`) if Kilo is the only selected IDE, protecting existing installations
|
|
217
|
+
- [x] Legacy cleanup still runs for `.kilocode/workflows` and `.kilocodemodes` when users switch to a different IDE
|
|
218
|
+
- [x] Automated tests — 7 assertions in suite 22 (suspended config, hidden from picker, setup blocked, no files written, legacy cleanup)
|
|
219
|
+
|
|
220
|
+
## Gemini CLI
|
|
221
|
+
|
|
222
|
+
Support assumption: full Agent Skills support. Gemini CLI docs confirm workspace skills at `.gemini/skills/` and user skills at `~/.gemini/skills/`. Also discovers `.agents/skills/` as an alias. BMAD previously installed TOML files to `.gemini/commands`.
|
|
223
|
+
|
|
224
|
+
**Install:** `npm install -g @google/gemini-cli` or see [geminicli.com](https://geminicli.com)
|
|
225
|
+
|
|
226
|
+
- [x] Confirm Gemini CLI native skills path is `.gemini/skills/{skill-name}/SKILL.md` (per [geminicli.com/docs/cli/skills](https://geminicli.com/docs/cli/skills/))
|
|
227
|
+
- [x] Implement native skills output — target_dir `.gemini/skills`, skill_format true, template_type default (replaces TOML templates)
|
|
228
|
+
- [x] Add legacy cleanup for `.gemini/commands` (via `legacy_targets`)
|
|
229
|
+
- [x] Test fresh install — skills written to `.gemini/skills/bmad-master/SKILL.md` with correct frontmatter
|
|
230
|
+
- [x] Test reinstall/upgrade from legacy TOML command output — legacy dir removed, skills installed
|
|
231
|
+
- [x] Confirm no ancestor conflict protection is needed — Gemini CLI uses workspace > user > extension precedence, no ancestor directory inheritance
|
|
232
|
+
- [x] Implement/extend automated tests — 9 assertions in test suite 23 (config, fresh install, legacy cleanup, reinstall)
|
|
233
|
+
- [x] Manual CLI verification — `gemini` lists all 10 skills and successfully triggers bmad-help
|
|
234
|
+
- [ ] Commit
|
|
235
|
+
|
|
236
|
+
## iFlow
|
|
237
|
+
|
|
238
|
+
Support assumption: full Agent Skills support. iFlow docs confirm workspace skills at `.iflow/skills/` and global skills at `~/.iflow/skills/`. BMAD previously installed flat files to `.iflow/commands`.
|
|
239
|
+
|
|
240
|
+
- [x] Confirm iFlow native skills path is `.iflow/skills/{skill-name}/SKILL.md`
|
|
241
|
+
- [x] Implement native skills output — target_dir `.iflow/skills`, skill_format true, template_type default
|
|
242
|
+
- [x] Add legacy cleanup for `.iflow/commands` (via `legacy_targets`)
|
|
243
|
+
- [x] Test fresh install — skills written to `.iflow/skills/bmad-master/SKILL.md`
|
|
244
|
+
- [x] Test legacy cleanup — legacy commands dir removed
|
|
245
|
+
- [x] Implement/extend automated tests — 6 assertions in test suite 24
|
|
246
|
+
- [ ] **NEEDS MANUAL IDE VERIFICATION** — install iFlow and confirm skills appear in UI and can be triggered
|
|
247
|
+
- [ ] Commit
|
|
248
|
+
|
|
249
|
+
## QwenCoder
|
|
250
|
+
|
|
251
|
+
Support assumption: full Agent Skills support. Qwen Code supports workspace skills at `.qwen/skills/` and global skills at `~/.qwen/skills/`. BMAD previously installed flat files to `.qwen/commands`.
|
|
252
|
+
|
|
253
|
+
- [x] Confirm QwenCoder native skills path is `.qwen/skills/{skill-name}/SKILL.md`
|
|
254
|
+
- [x] Implement native skills output — target_dir `.qwen/skills`, skill_format true, template_type default
|
|
255
|
+
- [x] Add legacy cleanup for `.qwen/commands` (via `legacy_targets`)
|
|
256
|
+
- [x] Test fresh install — skills written to `.qwen/skills/bmad-master/SKILL.md`
|
|
257
|
+
- [x] Test legacy cleanup — legacy commands dir removed
|
|
258
|
+
- [x] Implement/extend automated tests — 6 assertions in test suite 25
|
|
259
|
+
- [ ] **NEEDS MANUAL IDE VERIFICATION** — install QwenCoder and confirm skills appear in UI and can be triggered
|
|
260
|
+
- [ ] Commit
|
|
261
|
+
|
|
262
|
+
## Rovo Dev
|
|
263
|
+
|
|
264
|
+
Support assumption: full Agent Skills support. Rovo Dev now supports workspace skills at `.rovodev/skills/` and user skills at `~/.rovodev/skills/`. BMAD previously used a custom 257-line installer that wrote `.rovodev/workflows/` and `prompts.yml`.
|
|
265
|
+
|
|
266
|
+
- [x] Confirm Rovo Dev native skills path is `.rovodev/skills/{skill-name}/SKILL.md` (per Atlassian blog)
|
|
267
|
+
- [x] Replace 257-line custom `rovodev.js` with config-driven entry in `platform-codes.yaml`
|
|
268
|
+
- [x] Add legacy cleanup for `.rovodev/workflows` (via `legacy_targets`) and BMAD entries in `prompts.yml` (via `cleanupRovoDevPrompts()` in `_config-driven.js`)
|
|
269
|
+
- [x] Test fresh install — skills written to `.rovodev/skills/bmad-master/SKILL.md`
|
|
270
|
+
- [x] Test legacy cleanup — legacy workflows dir removed, `prompts.yml` BMAD entries stripped while preserving user entries
|
|
271
|
+
- [x] Implement/extend automated tests — 8 assertions in test suite 26
|
|
272
|
+
- [ ] **NEEDS MANUAL IDE VERIFICATION** — install Rovo Dev and confirm skills appear in UI and can be triggered
|
|
273
|
+
- [ ] Commit
|
|
274
|
+
|
|
275
|
+
## Summary Gates
|
|
276
|
+
|
|
277
|
+
- [x] All full-support BMAD platforms install `SKILL.md` directory-based output
|
|
278
|
+
- [x] No full-support platform still emits BMAD command/workflow/rule files as its primary install format
|
|
279
|
+
- [x] Legacy cleanup paths are defined for every migrated platform
|
|
280
|
+
- [x] Automated coverage exists for config-driven and custom-installer migrations
|
|
281
|
+
- [ ] Installer docs and migration notes updated after code changes land
|
package/tools/schema/agent.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const assert = require('node:assert');
|
|
3
3
|
const { z } = require('zod');
|
|
4
4
|
|
|
5
|
-
const COMMAND_TARGET_KEYS = ['
|
|
5
|
+
const COMMAND_TARGET_KEYS = ['validate-workflow', 'exec', 'action', 'tmpl', 'data'];
|
|
6
6
|
const TRIGGER_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
7
7
|
const COMPOUND_TRIGGER_PATTERN = /^([A-Z]{1,3}) or fuzzy match on ([a-z0-9]+(?:-[a-z0-9]+)*)$/;
|
|
8
8
|
|
|
@@ -273,8 +273,6 @@ function buildMenuItemSchema() {
|
|
|
273
273
|
.object({
|
|
274
274
|
trigger: createNonEmptyString('agent.menu[].trigger'),
|
|
275
275
|
description: createNonEmptyString('agent.menu[].description'),
|
|
276
|
-
workflow: createNonEmptyString('agent.menu[].workflow').optional(),
|
|
277
|
-
'workflow-install': createNonEmptyString('agent.menu[].workflow-install').optional(),
|
|
278
276
|
'validate-workflow': createNonEmptyString('agent.menu[].validate-workflow').optional(),
|
|
279
277
|
exec: createNonEmptyString('agent.menu[].exec').optional(),
|
|
280
278
|
action: createNonEmptyString('agent.menu[].action').optional(),
|
|
@@ -324,6 +324,8 @@ function extractCsvRefs(filePath, content) {
|
|
|
324
324
|
const raw = record['workflow-file'];
|
|
325
325
|
if (!raw || raw.trim() === '') continue;
|
|
326
326
|
if (!isResolvable(raw)) continue;
|
|
327
|
+
// skill: prefixed references are resolved by the IDE/CLI, not as file paths
|
|
328
|
+
if (raw.startsWith('skill:')) continue;
|
|
327
329
|
|
|
328
330
|
// Line = header (1) + data row index (0-based) + 1
|
|
329
331
|
const line = i + 2;
|
package/website/astro.config.mjs
CHANGED
|
@@ -36,11 +36,28 @@ export default defineConfig({
|
|
|
36
36
|
},
|
|
37
37
|
|
|
38
38
|
integrations: [
|
|
39
|
-
|
|
39
|
+
// Exclude custom 404 pages (all locales) from the sitemap — they are
|
|
40
|
+
// treated as normal content docs by Starlight even with disable404Route.
|
|
41
|
+
sitemap({
|
|
42
|
+
filter: (page) => !/\/404(\/|$)/.test(new URL(page).pathname),
|
|
43
|
+
}),
|
|
40
44
|
starlight({
|
|
41
45
|
title: 'BMAD Method',
|
|
42
46
|
tagline: 'AI-driven agile development with specialized agents and workflows that scale from bug fixes to enterprise platforms.',
|
|
43
47
|
|
|
48
|
+
// i18n: English as root (no URL prefix), Chinese at /zh-cn/
|
|
49
|
+
defaultLocale: 'root',
|
|
50
|
+
locales: {
|
|
51
|
+
root: {
|
|
52
|
+
label: 'English',
|
|
53
|
+
lang: 'en',
|
|
54
|
+
},
|
|
55
|
+
'zh-cn': {
|
|
56
|
+
label: '简体中文',
|
|
57
|
+
lang: 'zh-CN',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
|
|
44
61
|
logo: {
|
|
45
62
|
light: './public/img/bmad-light.png',
|
|
46
63
|
dark: './public/img/bmad-dark.png',
|
|
@@ -89,25 +106,29 @@ export default defineConfig({
|
|
|
89
106
|
|
|
90
107
|
// Sidebar configuration (Diataxis structure)
|
|
91
108
|
sidebar: [
|
|
92
|
-
{ label: 'Welcome', slug: 'index' },
|
|
93
|
-
{ label: 'Roadmap', slug: 'roadmap' },
|
|
109
|
+
{ label: 'Welcome', translations: { 'zh-CN': '欢迎' }, slug: 'index' },
|
|
110
|
+
{ label: 'Roadmap', translations: { 'zh-CN': '路线图' }, slug: 'roadmap' },
|
|
94
111
|
{
|
|
95
112
|
label: 'Tutorials',
|
|
113
|
+
translations: { 'zh-CN': '教程' },
|
|
96
114
|
collapsed: false,
|
|
97
115
|
autogenerate: { directory: 'tutorials' },
|
|
98
116
|
},
|
|
99
117
|
{
|
|
100
118
|
label: 'How-To Guides',
|
|
119
|
+
translations: { 'zh-CN': '操作指南' },
|
|
101
120
|
collapsed: true,
|
|
102
121
|
autogenerate: { directory: 'how-to' },
|
|
103
122
|
},
|
|
104
123
|
{
|
|
105
124
|
label: 'Explanation',
|
|
125
|
+
translations: { 'zh-CN': '概念说明' },
|
|
106
126
|
collapsed: true,
|
|
107
127
|
autogenerate: { directory: 'explanation' },
|
|
108
128
|
},
|
|
109
129
|
{
|
|
110
130
|
label: 'Reference',
|
|
131
|
+
translations: { 'zh-CN': '参考' },
|
|
111
132
|
collapsed: true,
|
|
112
133
|
autogenerate: { directory: 'reference' },
|
|
113
134
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineCollection } from 'astro:content';
|
|
2
|
-
import { docsSchema } from '@astrojs/starlight/schema';
|
|
2
|
+
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';
|
|
3
3
|
|
|
4
4
|
export const collections = {
|
|
5
5
|
docs: defineCollection({ schema: docsSchema() }),
|
|
6
|
+
i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
|
|
6
7
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skipLink.label": "跳转到内容",
|
|
3
|
+
"search.label": "搜索",
|
|
4
|
+
"search.ctrlKey": "Ctrl",
|
|
5
|
+
"search.cancelLabel": "取消",
|
|
6
|
+
"themeSelect.accessibleLabel": "选择主题",
|
|
7
|
+
"themeSelect.dark": "深色",
|
|
8
|
+
"themeSelect.light": "浅色",
|
|
9
|
+
"themeSelect.auto": "自动",
|
|
10
|
+
"languageSelect.accessibleLabel": "选择语言",
|
|
11
|
+
"menuButton.accessibleLabel": "菜单",
|
|
12
|
+
"sidebarNav.accessibleLabel": "主导航",
|
|
13
|
+
"tableOfContents.onThisPage": "本页内容",
|
|
14
|
+
"tableOfContents.overview": "概述",
|
|
15
|
+
"i18n.untranslatedContent": "此内容尚未提供中文翻译。",
|
|
16
|
+
"page.editLink": "编辑页面",
|
|
17
|
+
"page.lastUpdated": "最后更新:",
|
|
18
|
+
"page.previousLink": "上一页",
|
|
19
|
+
"page.nextLink": "下一页",
|
|
20
|
+
"page.draft": "此内容为草稿,不会包含在正式版本中。",
|
|
21
|
+
"404.text": "页面未找到。请检查 URL 或尝试使用搜索。",
|
|
22
|
+
"aside.note": "注意",
|
|
23
|
+
"aside.tip": "提示",
|
|
24
|
+
"aside.caution": "警告",
|
|
25
|
+
"aside.danger": "危险",
|
|
26
|
+
"fileTree.directory": "目录",
|
|
27
|
+
"builtWithStarlight.label": "使用 Starlight 构建"
|
|
28
|
+
}
|