bmad-method 6.2.1-next.3 → 6.2.1-next.31
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/AGENTS.md +1 -0
- package/README_CN.md +23 -36
- package/package.json +4 -6
- package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/SKILL.md +15 -17
- package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/SKILL.md +13 -16
- package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/SKILL.md +2 -3
- package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/SKILL.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/SKILL.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/SKILL.md +1 -1
- package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/SKILL.md +14 -16
- package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/SKILL.md +9 -16
- package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md +1 -1
- package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +1 -1
- package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/SKILL.md +10 -16
- package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/SKILL.md +10 -16
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/SKILL.md +9 -16
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/SKILL.md +10 -16
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/SKILL.md +12 -16
- package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/bmad-skill-manifest.yaml +2 -3
- package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-01-gather-context.md +3 -2
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +34 -0
- package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-03-triage.md +7 -8
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +129 -0
- package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/workflow.md +1 -0
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/SKILL.md +1 -1
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-01-clarify-and-route.md +12 -13
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-02-plan.md +1 -1
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-03-implement.md +7 -3
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-04-review.md +5 -6
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +63 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +49 -0
- package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/workflow.md +2 -2
- package/src/{bmm → bmm-skills}/module-help.csv +3 -5
- package/src/{core/skills/bmad-advanced-elicitation/workflow.md → core-skills/bmad-advanced-elicitation/SKILL.md} +3 -1
- package/src/{core/skills/bmad-editorial-review-prose/workflow.md → core-skills/bmad-editorial-review-prose/SKILL.md} +5 -0
- package/src/{core/skills/bmad-editorial-review-structure/workflow.md → core-skills/bmad-editorial-review-structure/SKILL.md} +5 -0
- package/src/{core/skills/bmad-help/workflow.md → core-skills/bmad-help/SKILL.md} +5 -1
- package/src/{core/skills/bmad-index-docs/workflow.md → core-skills/bmad-index-docs/SKILL.md} +5 -0
- package/src/{core/skills/bmad-review-adversarial-general/workflow.md → core-skills/bmad-review-adversarial-general/SKILL.md} +5 -0
- package/src/{core/skills/bmad-review-edge-case-hunter/workflow.md → core-skills/bmad-review-edge-case-hunter/SKILL.md} +5 -0
- package/src/{core/skills/bmad-shard-doc/workflow.md → core-skills/bmad-shard-doc/SKILL.md} +5 -0
- package/tools/cli/commands/install.js +1 -8
- package/tools/cli/installers/lib/core/dependency-resolver.js +11 -11
- package/tools/cli/installers/lib/core/installer.js +4 -214
- package/tools/cli/installers/lib/core/manifest-generator.js +62 -723
- package/tools/cli/installers/lib/core/manifest.js +2 -2
- package/tools/cli/installers/lib/custom/handler.js +1 -247
- package/tools/cli/installers/lib/ide/_base-ide.js +0 -16
- package/tools/cli/installers/lib/ide/_config-driven.js +13 -168
- package/tools/cli/installers/lib/ide/manager.js +2 -7
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +0 -1
- package/tools/cli/installers/lib/ide/shared/skill-manifest.js +1 -19
- package/tools/cli/installers/lib/modules/manager.js +12 -459
- package/tools/cli/lib/project-root.js +5 -5
- package/tools/cli/lib/ui.js +0 -19
- package/tools/skill-validator.md +52 -22
- package/tools/validate-skills.js +736 -0
- package/src/bmm/agents/bmad-agent-analyst/bmad-manifest.json +0 -44
- package/src/bmm/agents/bmad-agent-architect/bmad-manifest.json +0 -20
- package/src/bmm/agents/bmad-agent-dev/bmad-manifest.json +0 -20
- package/src/bmm/agents/bmad-agent-pm/bmad-manifest.json +0 -44
- package/src/bmm/agents/bmad-agent-qa/bmad-manifest.json +0 -14
- package/src/bmm/agents/bmad-agent-quick-flow-solo-dev/bmad-manifest.json +0 -32
- package/src/bmm/agents/bmad-agent-sm/bmad-manifest.json +0 -32
- package/src/bmm/agents/bmad-agent-tech-writer/bmad-manifest.json +0 -38
- package/src/bmm/agents/bmad-agent-ux-designer/bmad-manifest.json +0 -14
- package/src/bmm/agents/bmad-skill-manifest.yaml +0 -39
- package/src/bmm/data/project-context-template.md +0 -26
- package/src/bmm/teams/default-party.csv +0 -20
- package/src/bmm/teams/team-fullstack.yaml +0 -12
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +0 -6
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +0 -10
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +0 -170
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +0 -158
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +0 -193
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +0 -196
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +0 -199
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +0 -213
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +0 -159
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +0 -55
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/1-analysis/research/bmad-domain-research/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -476
- package/src/bmm/workflows/1-analysis/research/research.template.md +0 -29
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +0 -41
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +0 -38
- package/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-create-story/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-dev-story/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +0 -6
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +0 -169
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +0 -114
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +0 -107
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +0 -107
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +0 -94
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +0 -144
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +0 -38
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/step-05-present.md +0 -17
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +0 -6
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +0 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md +0 -185
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md +0 -140
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md +0 -123
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md +0 -195
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md +0 -74
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md +0 -73
- package/src/core/skills/bmad-advanced-elicitation/SKILL.md +0 -6
- package/src/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-distillator/bmad-skill-manifest.yaml +0 -15
- package/src/core/skills/bmad-editorial-review-prose/SKILL.md +0 -6
- package/src/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-editorial-review-structure/SKILL.md +0 -6
- package/src/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-help/SKILL.md +0 -6
- package/src/core/skills/bmad-help/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-index-docs/SKILL.md +0 -6
- package/src/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-init/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-review-adversarial-general/SKILL.md +0 -6
- package/src/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-review-edge-case-hunter/SKILL.md +0 -6
- package/src/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +0 -1
- package/src/core/skills/bmad-shard-doc/SKILL.md +0 -6
- package/src/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +0 -1
- package/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +0 -1
- package/src/utility/agent-components/activation-rules.txt +0 -6
- package/src/utility/agent-components/activation-steps.txt +0 -14
- package/src/utility/agent-components/agent-command-header.md +0 -1
- package/src/utility/agent-components/agent.customize.template.yaml +0 -41
- package/src/utility/agent-components/handler-action.txt +0 -4
- package/src/utility/agent-components/handler-data.txt +0 -5
- package/src/utility/agent-components/handler-exec.txt +0 -6
- package/src/utility/agent-components/handler-multi.txt +0 -13
- package/src/utility/agent-components/handler-tmpl.txt +0 -5
- package/src/utility/agent-components/menu-handlers.txt +0 -6
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +0 -368
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +0 -179
- package/tools/cli/lib/activation-builder.js +0 -165
- package/tools/cli/lib/agent/compiler.js +0 -516
- package/tools/cli/lib/agent/installer.js +0 -680
- package/tools/cli/lib/agent/template-engine.js +0 -152
- package/tools/cli/lib/agent-analyzer.js +0 -97
- package/tools/cli/lib/agent-party-generator.js +0 -194
- package/tools/cli/lib/xml-handler.js +0 -177
- package/tools/cli/lib/xml-to-markdown.js +0 -82
- package/tools/cli/lib/yaml-xml-builder.js +0 -570
- package/tools/schema/agent.js +0 -489
- /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/explain-concept.md +0 -0
- /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/mermaid-gen.md +0 -0
- /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/validate-doc.md +0 -0
- /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/write-document.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/documentation-requirements.csv +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/instructions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/deep-dive-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/index-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-overview-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-scan-report-schema.json +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/source-tree-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-instructions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-instructions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-workflow.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/artifact-analyzer.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/opportunity-reviewer.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/skeptic-reviewer.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/web-researcher.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/bmad-manifest.json +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/contextual-discovery.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/draft-and-review.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/finalize.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/guided-elicitation.md +0 -0
- /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/resources/brief-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/research.template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/research.template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-01-init.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/research.template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/workflow.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/SKILL.md +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/domain-complexity.csv +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/prd-purpose.md +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/project-types.csv +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01-init.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01b-continue.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02-discovery.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02b-vision.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-03-success.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-04-journeys.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-05-domain.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-06-innovation.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-07-project-type.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-08-scoping.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-09-functional.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-11-polish.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-12-complete.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/templates/prd-template.md +0 -0
- /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-02-discovery.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/ux-design-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/SKILL.md +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/domain-complexity.csv +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/prd-purpose.md +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/project-types.csv +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/workflow.md +0 -0
- /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/domain-complexity.csv +0 -0
- /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/prd-purpose.md +0 -0
- /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/project-types.csv +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/workflow-validate-prd.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/architecture-decision-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/domain-complexity.csv +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/project-types.csv +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01-init.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01b-continue.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-02-context.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-03-starter.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-04-decisions.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-05-patterns.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-06-structure.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-07-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/project-context-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-01-discover.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-02-generate.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-03-complete.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/discover-inputs.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/workflow.md +0 -0
- /package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/tech-spec-template.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/checklist.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/workflow.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/SKILL.md +0 -0
- /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/workflow.md +0 -0
- /package/src/{bmm → bmm-skills}/module.yaml +0 -0
- /package/src/{core/skills → core-skills}/bmad-advanced-elicitation/methods.csv +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/SKILL.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/brain-methods.csv +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01-session-setup.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01b-continue.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02a-user-selected.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02c-random-selection.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-03-technique-execution.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-04-idea-organization.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/template.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-brainstorming/workflow.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/SKILL.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/agents/distillate-compressor.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/agents/round-trip-reconstructor.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/resources/compression-rules.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/resources/distillate-format-reference.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/resources/splitting-strategy.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/scripts/analyze_sources.py +0 -0
- /package/src/{core/skills → core-skills}/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -0
- /package/src/{core/skills → core-skills}/bmad-init/SKILL.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-init/resources/core-module.yaml +0 -0
- /package/src/{core/skills → core-skills}/bmad-init/scripts/bmad_init.py +0 -0
- /package/src/{core/skills → core-skills}/bmad-init/scripts/tests/test_bmad_init.py +0 -0
- /package/src/{core/skills → core-skills}/bmad-party-mode/SKILL.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-01-agent-loading.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-03-graceful-exit.md +0 -0
- /package/src/{core/skills → core-skills}/bmad-party-mode/workflow.md +0 -0
- /package/src/{core → core-skills}/module-help.csv +0 -0
- /package/src/{core → core-skills}/module.yaml +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
deferred_work_file: '{implementation_artifacts}/deferred-work.md'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Step One-Shot: Implement, Review, Present
|
|
6
|
+
|
|
7
|
+
## RULES
|
|
8
|
+
|
|
9
|
+
- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
10
|
+
- NEVER auto-push.
|
|
11
|
+
|
|
12
|
+
## INSTRUCTIONS
|
|
13
|
+
|
|
14
|
+
### Implement
|
|
15
|
+
|
|
16
|
+
Implement the clarified intent directly.
|
|
17
|
+
|
|
18
|
+
### Review
|
|
19
|
+
|
|
20
|
+
Invoke the `bmad-review-adversarial-general` skill in a subagent with the changed files. The subagent gets NO conversation context — to avoid anchoring bias. If no sub-agents are available, write the changed files to a review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run the review in a separate session and paste back the findings.
|
|
21
|
+
|
|
22
|
+
### Classify
|
|
23
|
+
|
|
24
|
+
Deduplicate all review findings. Three categories only:
|
|
25
|
+
|
|
26
|
+
- **patch** — trivially fixable. Auto-fix immediately.
|
|
27
|
+
- **defer** — pre-existing issue not caused by this change. Append to `{deferred_work_file}`.
|
|
28
|
+
- **reject** — noise. Drop silently.
|
|
29
|
+
|
|
30
|
+
If a finding is caused by this change but too significant for a trivial patch, HALT and present it to the human for decision before proceeding.
|
|
31
|
+
|
|
32
|
+
### Commit
|
|
33
|
+
|
|
34
|
+
If version control is available and the tree is dirty, create a local commit with a conventional message derived from the intent. If VCS is unavailable, skip.
|
|
35
|
+
|
|
36
|
+
### Present
|
|
37
|
+
|
|
38
|
+
1. Open all changed files in the user's editor so they can review the code directly:
|
|
39
|
+
- Resolve two sets of absolute paths: (1) the repository root (`git rev-parse --show-toplevel` — returns the worktree root when in a worktree, project root otherwise; if this fails, fall back to the current working directory), (2) each changed file. Run `code -r "{absolute-root}" <absolute-changed-file-paths>` — the root first so VS Code opens in the right context, then each changed file. Always double-quote paths to handle spaces and special characters.
|
|
40
|
+
- If `code` is not available (command fails), skip gracefully and list the file paths instead.
|
|
41
|
+
2. Display a summary in conversation output, including:
|
|
42
|
+
- The commit hash (if one was created).
|
|
43
|
+
- List of files changed with one-line descriptions. Use CWD-relative paths with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability. No leading `/`.
|
|
44
|
+
- Review findings breakdown: patches applied, items deferred, items rejected. If all findings were rejected, say so.
|
|
45
|
+
3. Offer to push and/or create a pull request.
|
|
46
|
+
|
|
47
|
+
HALT and wait for human input.
|
|
48
|
+
|
|
49
|
+
Workflow complete.
|
|
@@ -4,9 +4,9 @@ main_config: '{project-root}/_bmad/bmm/config.yaml'
|
|
|
4
4
|
|
|
5
5
|
# Quick Dev New Preview Workflow
|
|
6
6
|
|
|
7
|
-
**Goal:**
|
|
7
|
+
**Goal:** Turn user intent into a hardened, reviewable artifact.
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**CRITICAL:** If a step says "read fully and follow step-XX", you read and follow step-XX. No exceptions.
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
## READY FOR DEVELOPMENT STANDARD
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
|
|
2
2
|
bmm,anytime,Document Project,DP,,skill:bmad-document-project,bmad-bmm-document-project,false,analyst,Create Mode,"Analyze an existing project to produce useful documentation",project-knowledge,*,
|
|
3
3
|
bmm,anytime,Generate Project Context,GPC,,skill:bmad-generate-project-context,bmad-bmm-generate-project-context,false,analyst,Create Mode,"Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow.",output_folder,"project context",
|
|
4
|
-
bmm,anytime,Quick
|
|
5
|
-
bmm,anytime,Quick Dev,QD,,skill:bmad-quick-dev,bmad-bmm-quick-dev,false,quick-flow-solo-dev,Create Mode,"Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan",,,
|
|
6
|
-
bmm,anytime,Quick Dev New Preview,QQ,,skill:bmad-quick-dev-new-preview,bmad-bmm-quick-dev-new-preview,false,quick-flow-solo-dev,Create Mode,"Unified quick flow (experimental): clarify intent plan implement review and present in a single workflow",implementation_artifacts,"tech spec implementation",
|
|
4
|
+
bmm,anytime,Quick Dev,QQ,,skill:bmad-quick-dev,bmad-bmm-quick-dev,false,quick-flow-solo-dev,Create Mode,"Unified quick flow: clarify intent plan implement review and present in a single workflow",implementation_artifacts,"tech spec and project implementation",
|
|
7
5
|
bmm,anytime,Correct Course,CC,,skill:bmad-correct-course,bmad-bmm-correct-course,false,sm,Create Mode,"Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories",planning_artifacts,"change proposal",
|
|
8
6
|
bmm,anytime,Write Document,WD,,skill:bmad-agent-tech-writer,,false,tech-writer,,"Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review.",project-knowledge,"document",
|
|
9
7
|
bmm,anytime,Update Standards,US,,skill:bmad-agent-tech-writer,,false,tech-writer,,"Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions.",_bmad/_memory/tech-writer-sidecar,"standards",
|
|
10
8
|
bmm,anytime,Mermaid Generate,MG,,skill:bmad-agent-tech-writer,,false,tech-writer,,"Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.",planning_artifacts,"mermaid diagram",
|
|
11
9
|
bmm,anytime,Validate Document,VD,,skill:bmad-agent-tech-writer,,false,tech-writer,,"Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority.",planning_artifacts,"validation report",
|
|
12
10
|
bmm,anytime,Explain Concept,EC,,skill:bmad-agent-tech-writer,,false,tech-writer,,"Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach.",project_knowledge,"explanation",
|
|
13
|
-
bmm,1-analysis,Brainstorm Project,BP,10,skill:bmad-brainstorming,bmad-brainstorming,false,analyst
|
|
11
|
+
bmm,1-analysis,Brainstorm Project,BP,10,skill:bmad-brainstorming,bmad-brainstorming,false,analyst,,"Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session",
|
|
14
12
|
bmm,1-analysis,Market Research,MR,20,skill:bmad-market-research,bmad-bmm-market-research,false,analyst,Create Mode,"Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents",
|
|
15
13
|
bmm,1-analysis,Domain Research,DR,21,skill:bmad-domain-research,bmad-bmm-domain-research,false,analyst,Create Mode,"Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project_knowledge","research documents",
|
|
16
14
|
bmm,1-analysis,Technical Research,TR,22,skill:bmad-technical-research,bmad-bmm-technical-research,false,analyst,Create Mode,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project_knowledge","research documents",
|
|
17
|
-
bmm,1-analysis,Create Brief,CB,30,skill:bmad-
|
|
15
|
+
bmm,1-analysis,Create Brief,CB,30,skill:bmad-product-brief,bmad-bmm-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief",
|
|
18
16
|
bmm,2-planning,Create PRD,CP,10,skill:bmad-create-prd,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd,
|
|
19
17
|
bmm,2-planning,Validate PRD,VP,20,skill:bmad-validate-prd,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report",
|
|
20
18
|
bmm,2-planning,Edit PRD,EP,25,skill:bmad-edit-prd,bmad-bmm-edit-prd,false,pm,Edit Mode,"Improve and enhance an existing PRD",planning_artifacts,"updated prd",
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: bmad-advanced-elicitation
|
|
3
|
+
description: 'Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team.'
|
|
2
4
|
agent_party: '{project-root}/_bmad/_config/agent-manifest.csv'
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
# Advanced Elicitation
|
|
7
|
+
# Advanced Elicitation
|
|
6
8
|
|
|
7
9
|
**Goal:** Push the LLM to reconsider, refine, and improve its recent output.
|
|
8
10
|
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-editorial-review-prose
|
|
3
|
+
description: 'Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Editorial Review - Prose
|
|
2
7
|
|
|
3
8
|
**Goal:** Review text for communication issues that impede comprehension and output suggested fixes in a three-column table.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-editorial-review-structure
|
|
3
|
+
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Editorial Review - Structure
|
|
2
7
|
|
|
3
8
|
**Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-help
|
|
3
|
+
description: 'Analyzes current state and user query to answer BMad questions or recommend the next workflow or agent. Use when user says what should I do next, what do I do now, or asks a question about BMad'
|
|
4
|
+
---
|
|
1
5
|
|
|
2
6
|
# Task: BMAD Help
|
|
3
7
|
|
|
@@ -19,7 +23,7 @@ When `command` field has a value:
|
|
|
19
23
|
|
|
20
24
|
### Skill-Referenced Workflows
|
|
21
25
|
When `workflow-file` starts with `skill:`:
|
|
22
|
-
- The value is a skill reference (e.g., `skill:bmad-quick-dev
|
|
26
|
+
- The value is a skill reference (e.g., `skill:bmad-quick-dev`), NOT a file path
|
|
23
27
|
- Do NOT attempt to resolve or load it as a file path
|
|
24
28
|
- Display using the `command` column value as a skill name in backticks (same as command-based workflows)
|
|
25
29
|
|
package/src/{core/skills/bmad-index-docs/workflow.md → core-skills/bmad-index-docs/SKILL.md}
RENAMED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-index-docs
|
|
3
|
+
description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Index Docs
|
|
2
7
|
|
|
3
8
|
**Goal:** Generate or update an index.md to reference all docs in a target folder.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-review-adversarial-general
|
|
3
|
+
description: 'Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Adversarial Review (General)
|
|
2
7
|
|
|
3
8
|
**Goal:** Cynically review content and produce findings.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-review-edge-case-hunter
|
|
3
|
+
description: 'Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. Use when you need exhaustive edge-case analysis of code, specs, or diffs.'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Edge Case Hunter Review
|
|
2
7
|
|
|
3
8
|
**Goal:** You are a pure path tracer. Never comment on whether code is good or bad; only list missing handling.
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-shard-doc
|
|
3
|
+
description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Shard Document
|
|
2
7
|
|
|
3
8
|
**Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
|
|
@@ -18,7 +18,7 @@ module.exports = {
|
|
|
18
18
|
'Comma-separated list of tool/IDE IDs to configure (e.g., "claude-code,cursor"). Use "none" to skip tool configuration.',
|
|
19
19
|
],
|
|
20
20
|
['--custom-content <paths>', 'Comma-separated list of paths to custom modules/agents/workflows'],
|
|
21
|
-
['--action <type>', 'Action type for existing installations: install, update, quick-update
|
|
21
|
+
['--action <type>', 'Action type for existing installations: install, update, or quick-update'],
|
|
22
22
|
['--user-name <name>', 'Name for agents to use (default: system username)'],
|
|
23
23
|
['--communication-language <lang>', 'Language for agent communication (default: English)'],
|
|
24
24
|
['--document-output-language <lang>', 'Language for document output (default: English)'],
|
|
@@ -49,13 +49,6 @@ module.exports = {
|
|
|
49
49
|
process.exit(0);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
// Handle compile agents separately
|
|
53
|
-
if (config.actionType === 'compile-agents') {
|
|
54
|
-
const result = await installer.compileAgents(config);
|
|
55
|
-
await prompts.log.info(`Recompiled ${result.agentCount} agents with customizations applied`);
|
|
56
|
-
process.exit(0);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
52
|
// Regular install/update flow
|
|
60
53
|
const result = await installer.install(config);
|
|
61
54
|
|
|
@@ -82,11 +82,11 @@ class DependencyResolver {
|
|
|
82
82
|
// Check if this is a source directory (has 'src' subdirectory)
|
|
83
83
|
const srcDir = path.join(bmadDir, 'src');
|
|
84
84
|
if (await fs.pathExists(srcDir)) {
|
|
85
|
-
// Source directory structure: src/core or src/bmm
|
|
85
|
+
// Source directory structure: src/core-skills or src/bmm-skills
|
|
86
86
|
if (module === 'core') {
|
|
87
|
-
moduleDir = path.join(srcDir, 'core');
|
|
87
|
+
moduleDir = path.join(srcDir, 'core-skills');
|
|
88
88
|
} else if (module === 'bmm') {
|
|
89
|
-
moduleDir = path.join(srcDir, 'bmm');
|
|
89
|
+
moduleDir = path.join(srcDir, 'bmm-skills');
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -401,8 +401,8 @@ class DependencyResolver {
|
|
|
401
401
|
const bmadPath = dep.dependency.replace(/^bmad\//, '');
|
|
402
402
|
|
|
403
403
|
// Try to resolve as if it's in src structure
|
|
404
|
-
// bmad/core/tasks/foo.md -> src/core/tasks/foo.md
|
|
405
|
-
// bmad/bmm/tasks/bar.md -> src/bmm/tasks/bar.md (bmm is directly under src/)
|
|
404
|
+
// bmad/core/tasks/foo.md -> src/core-skills/tasks/foo.md
|
|
405
|
+
// bmad/bmm/tasks/bar.md -> src/bmm-skills/tasks/bar.md (bmm is directly under src/)
|
|
406
406
|
// bmad/cis/agents/bar.md -> src/modules/cis/agents/bar.md
|
|
407
407
|
|
|
408
408
|
if (bmadPath.startsWith('core/')) {
|
|
@@ -584,11 +584,11 @@ class DependencyResolver {
|
|
|
584
584
|
const relative = path.relative(bmadDir, filePath);
|
|
585
585
|
const parts = relative.split(path.sep);
|
|
586
586
|
|
|
587
|
-
// Handle source directory structure (src/core, src/bmm, or src/modules/xxx)
|
|
587
|
+
// Handle source directory structure (src/core-skills, src/bmm-skills, or src/modules/xxx)
|
|
588
588
|
if (parts[0] === 'src') {
|
|
589
|
-
if (parts[1] === 'core') {
|
|
589
|
+
if (parts[1] === 'core-skills') {
|
|
590
590
|
return 'core';
|
|
591
|
-
} else if (parts[1] === 'bmm') {
|
|
591
|
+
} else if (parts[1] === 'bmm-skills') {
|
|
592
592
|
return 'bmm';
|
|
593
593
|
} else if (parts[1] === 'modules' && parts.length > 2) {
|
|
594
594
|
return parts[2];
|
|
@@ -631,11 +631,11 @@ class DependencyResolver {
|
|
|
631
631
|
let moduleBase;
|
|
632
632
|
|
|
633
633
|
// Check if file is in source directory structure
|
|
634
|
-
if (file.includes('/src/core/') || file.includes('/src/bmm/')) {
|
|
634
|
+
if (file.includes('/src/core-skills/') || file.includes('/src/bmm-skills/')) {
|
|
635
635
|
if (module === 'core') {
|
|
636
|
-
moduleBase = path.join(bmadDir, 'src', 'core');
|
|
636
|
+
moduleBase = path.join(bmadDir, 'src', 'core-skills');
|
|
637
637
|
} else if (module === 'bmm') {
|
|
638
|
-
moduleBase = path.join(bmadDir, 'src', 'bmm');
|
|
638
|
+
moduleBase = path.join(bmadDir, 'src', 'bmm-skills');
|
|
639
639
|
}
|
|
640
640
|
} else {
|
|
641
641
|
moduleBase = module === 'core' ? path.join(bmadDir, 'core') : path.join(bmadDir, 'modules', module);
|
|
@@ -6,7 +6,6 @@ const { ModuleManager } = require('../modules/manager');
|
|
|
6
6
|
const { IdeManager } = require('../ide/manager');
|
|
7
7
|
const { FileOps } = require('../../../lib/file-ops');
|
|
8
8
|
const { Config } = require('../../../lib/config');
|
|
9
|
-
const { XmlHandler } = require('../../../lib/xml-handler');
|
|
10
9
|
const { DependencyResolver } = require('./dependency-resolver');
|
|
11
10
|
const { ConfigCollector } = require('./config-collector');
|
|
12
11
|
const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
|
|
@@ -25,7 +24,6 @@ class Installer {
|
|
|
25
24
|
this.ideManager = new IdeManager();
|
|
26
25
|
this.fileOps = new FileOps();
|
|
27
26
|
this.config = new Config();
|
|
28
|
-
this.xmlHandler = new XmlHandler();
|
|
29
27
|
this.dependencyResolver = new DependencyResolver();
|
|
30
28
|
this.configCollector = new ConfigCollector();
|
|
31
29
|
this.ideConfigManager = new IdeConfigManager();
|
|
@@ -1126,11 +1124,9 @@ class Installer {
|
|
|
1126
1124
|
// Pre-register manifest files
|
|
1127
1125
|
const cfgDir = path.join(bmadDir, '_config');
|
|
1128
1126
|
this.installedFiles.add(path.join(cfgDir, 'manifest.yaml'));
|
|
1129
|
-
this.installedFiles.add(path.join(cfgDir, 'workflow-manifest.csv'));
|
|
1130
1127
|
this.installedFiles.add(path.join(cfgDir, 'agent-manifest.csv'));
|
|
1131
|
-
this.installedFiles.add(path.join(cfgDir, 'task-manifest.csv'));
|
|
1132
1128
|
|
|
1133
|
-
// Generate CSV manifests for
|
|
1129
|
+
// Generate CSV manifests for agents, skills AND ALL FILES with hashes
|
|
1134
1130
|
// This must happen BEFORE mergeModuleHelpCatalogs because it depends on agent-manifest.csv
|
|
1135
1131
|
message('Generating manifests...');
|
|
1136
1132
|
const manifestGen = new ManifestGenerator();
|
|
@@ -1789,8 +1785,8 @@ class Installer {
|
|
|
1789
1785
|
.filter((entry) => entry.isDirectory() && entry.name !== '_config' && entry.name !== 'docs' && entry.name !== '_memory')
|
|
1790
1786
|
.map((entry) => entry.name);
|
|
1791
1787
|
|
|
1792
|
-
// Add core module to scan (it's installed at root level as _config, but we check src/core)
|
|
1793
|
-
const coreModulePath = getSourcePath('core');
|
|
1788
|
+
// Add core module to scan (it's installed at root level as _config, but we check src/core-skills)
|
|
1789
|
+
const coreModulePath = getSourcePath('core-skills');
|
|
1794
1790
|
const modulePaths = new Map();
|
|
1795
1791
|
|
|
1796
1792
|
// Map all module source paths
|
|
@@ -2114,10 +2110,6 @@ class Installer {
|
|
|
2114
2110
|
},
|
|
2115
2111
|
);
|
|
2116
2112
|
|
|
2117
|
-
// Process agent files to build YAML agents and create customize templates
|
|
2118
|
-
const modulePath = path.join(bmadDir, moduleName);
|
|
2119
|
-
await this.processAgentFiles(modulePath, moduleName);
|
|
2120
|
-
|
|
2121
2113
|
// Dependencies are already included in full module install
|
|
2122
2114
|
}
|
|
2123
2115
|
|
|
@@ -2227,16 +2219,8 @@ class Installer {
|
|
|
2227
2219
|
const sourcePath = getModulePath('core');
|
|
2228
2220
|
const targetPath = path.join(bmadDir, 'core');
|
|
2229
2221
|
|
|
2230
|
-
// Copy core files
|
|
2222
|
+
// Copy core files
|
|
2231
2223
|
await this.copyCoreFiles(sourcePath, targetPath);
|
|
2232
|
-
|
|
2233
|
-
// Compile agents using the same compiler as modules
|
|
2234
|
-
const { ModuleManager } = require('../modules/manager');
|
|
2235
|
-
const moduleManager = new ModuleManager();
|
|
2236
|
-
await moduleManager.compileModuleAgents(sourcePath, targetPath, 'core', bmadDir, this);
|
|
2237
|
-
|
|
2238
|
-
// Process agent files to inject activation block
|
|
2239
|
-
await this.processAgentFiles(targetPath, 'core');
|
|
2240
2224
|
}
|
|
2241
2225
|
|
|
2242
2226
|
/**
|
|
@@ -2254,16 +2238,6 @@ class Installer {
|
|
|
2254
2238
|
continue;
|
|
2255
2239
|
}
|
|
2256
2240
|
|
|
2257
|
-
// Skip sidecar directories - they are handled separately during agent compilation
|
|
2258
|
-
if (
|
|
2259
|
-
path
|
|
2260
|
-
.dirname(file)
|
|
2261
|
-
.split('/')
|
|
2262
|
-
.some((dir) => dir.toLowerCase().includes('sidecar'))
|
|
2263
|
-
) {
|
|
2264
|
-
continue;
|
|
2265
|
-
}
|
|
2266
|
-
|
|
2267
2241
|
// Skip module.yaml at root - it's only needed at install time
|
|
2268
2242
|
if (file === 'module.yaml') {
|
|
2269
2243
|
continue;
|
|
@@ -2274,27 +2248,9 @@ class Installer {
|
|
|
2274
2248
|
continue;
|
|
2275
2249
|
}
|
|
2276
2250
|
|
|
2277
|
-
// Skip .agent.yaml files - they will be compiled separately
|
|
2278
|
-
if (file.endsWith('.agent.yaml')) {
|
|
2279
|
-
continue;
|
|
2280
|
-
}
|
|
2281
|
-
|
|
2282
2251
|
const sourceFile = path.join(sourcePath, file);
|
|
2283
2252
|
const targetFile = path.join(targetPath, file);
|
|
2284
2253
|
|
|
2285
|
-
// Check if this is an agent file
|
|
2286
|
-
if (file.startsWith('agents/') && file.endsWith('.md')) {
|
|
2287
|
-
// Read the file to check for localskip
|
|
2288
|
-
const content = await fs.readFile(sourceFile, 'utf8');
|
|
2289
|
-
|
|
2290
|
-
// Check for localskip="true" in the agent tag
|
|
2291
|
-
const agentMatch = content.match(/<agent[^>]*\slocalskip="true"[^>]*>/);
|
|
2292
|
-
if (agentMatch) {
|
|
2293
|
-
await prompts.log.message(` Skipping web-only agent: ${path.basename(file)}`);
|
|
2294
|
-
continue; // Skip this agent
|
|
2295
|
-
}
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
2254
|
// Copy the file with placeholder replacement
|
|
2299
2255
|
await fs.ensureDir(path.dirname(targetFile));
|
|
2300
2256
|
await this.copyFileWithPlaceholderReplacement(sourceFile, targetFile);
|
|
@@ -2328,58 +2284,6 @@ class Installer {
|
|
|
2328
2284
|
return files;
|
|
2329
2285
|
}
|
|
2330
2286
|
|
|
2331
|
-
/**
|
|
2332
|
-
* Process agent files to build YAML agents and inject activation blocks
|
|
2333
|
-
* @param {string} modulePath - Path to module in bmad/ installation
|
|
2334
|
-
* @param {string} moduleName - Module name
|
|
2335
|
-
*/
|
|
2336
|
-
async processAgentFiles(modulePath, moduleName) {
|
|
2337
|
-
const agentsPath = path.join(modulePath, 'agents');
|
|
2338
|
-
|
|
2339
|
-
// Check if agents directory exists
|
|
2340
|
-
if (!(await fs.pathExists(agentsPath))) {
|
|
2341
|
-
return; // No agents to process
|
|
2342
|
-
}
|
|
2343
|
-
|
|
2344
|
-
// Determine project directory (parent of bmad/ directory)
|
|
2345
|
-
const bmadDir = path.dirname(modulePath);
|
|
2346
|
-
const cfgAgentsDir = path.join(bmadDir, '_config', 'agents');
|
|
2347
|
-
|
|
2348
|
-
// Ensure _config/agents directory exists
|
|
2349
|
-
await fs.ensureDir(cfgAgentsDir);
|
|
2350
|
-
|
|
2351
|
-
// Get all agent files
|
|
2352
|
-
const agentFiles = await fs.readdir(agentsPath);
|
|
2353
|
-
|
|
2354
|
-
for (const agentFile of agentFiles) {
|
|
2355
|
-
// Skip .agent.yaml files - they should already be compiled by compileModuleAgents
|
|
2356
|
-
if (agentFile.endsWith('.agent.yaml')) {
|
|
2357
|
-
continue;
|
|
2358
|
-
}
|
|
2359
|
-
|
|
2360
|
-
// Only process .md files (already compiled from YAML)
|
|
2361
|
-
if (!agentFile.endsWith('.md')) {
|
|
2362
|
-
continue;
|
|
2363
|
-
}
|
|
2364
|
-
|
|
2365
|
-
const agentName = agentFile.replace('.md', '');
|
|
2366
|
-
const mdPath = path.join(agentsPath, agentFile);
|
|
2367
|
-
const customizePath = path.join(cfgAgentsDir, `${moduleName}-${agentName}.customize.yaml`);
|
|
2368
|
-
|
|
2369
|
-
// For .md files that are already compiled, we don't need to do much
|
|
2370
|
-
// Just ensure the customize template exists
|
|
2371
|
-
if (!(await fs.pathExists(customizePath))) {
|
|
2372
|
-
const genericTemplatePath = getSourcePath('utility', 'agent-components', 'agent.customize.template.yaml');
|
|
2373
|
-
if (await fs.pathExists(genericTemplatePath)) {
|
|
2374
|
-
await this.copyFileWithPlaceholderReplacement(genericTemplatePath, customizePath);
|
|
2375
|
-
if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
|
|
2376
|
-
await prompts.log.message(` Created customize: ${moduleName}-${agentName}.customize.yaml`);
|
|
2377
|
-
}
|
|
2378
|
-
}
|
|
2379
|
-
}
|
|
2380
|
-
}
|
|
2381
|
-
}
|
|
2382
|
-
|
|
2383
2287
|
/**
|
|
2384
2288
|
* Private: Update core
|
|
2385
2289
|
*/
|
|
@@ -2393,12 +2297,6 @@ class Installer {
|
|
|
2393
2297
|
} else {
|
|
2394
2298
|
// Selective update - preserve user modifications
|
|
2395
2299
|
await this.fileOps.syncDirectory(sourcePath, targetPath);
|
|
2396
|
-
|
|
2397
|
-
// Recompile agents (#1133)
|
|
2398
|
-
const { ModuleManager } = require('../modules/manager');
|
|
2399
|
-
const moduleManager = new ModuleManager();
|
|
2400
|
-
await moduleManager.compileModuleAgents(sourcePath, targetPath, 'core', bmadDir, this);
|
|
2401
|
-
await this.processAgentFiles(targetPath, 'core');
|
|
2402
2300
|
}
|
|
2403
2301
|
}
|
|
2404
2302
|
|
|
@@ -2643,114 +2541,6 @@ class Installer {
|
|
|
2643
2541
|
}
|
|
2644
2542
|
}
|
|
2645
2543
|
|
|
2646
|
-
/**
|
|
2647
|
-
* Compile agents with customizations only
|
|
2648
|
-
* @param {Object} config - Configuration with directory
|
|
2649
|
-
* @returns {Object} Compilation result
|
|
2650
|
-
*/
|
|
2651
|
-
async compileAgents(config) {
|
|
2652
|
-
// Using @clack prompts
|
|
2653
|
-
const { ModuleManager } = require('../modules/manager');
|
|
2654
|
-
const { getSourcePath } = require('../../../lib/project-root');
|
|
2655
|
-
|
|
2656
|
-
const spinner = await prompts.spinner();
|
|
2657
|
-
spinner.start('Recompiling agents with customizations...');
|
|
2658
|
-
|
|
2659
|
-
try {
|
|
2660
|
-
const projectDir = path.resolve(config.directory);
|
|
2661
|
-
const { bmadDir } = await this.findBmadDir(projectDir);
|
|
2662
|
-
|
|
2663
|
-
// Check if bmad directory exists
|
|
2664
|
-
if (!(await fs.pathExists(bmadDir))) {
|
|
2665
|
-
spinner.stop('No BMAD installation found');
|
|
2666
|
-
throw new Error(`BMAD not installed at ${bmadDir}. Use regular install for first-time setup.`);
|
|
2667
|
-
}
|
|
2668
|
-
|
|
2669
|
-
// Detect existing installation
|
|
2670
|
-
const existingInstall = await this.detector.detect(bmadDir);
|
|
2671
|
-
const installedModules = existingInstall.modules.map((m) => m.id);
|
|
2672
|
-
|
|
2673
|
-
// Initialize module manager
|
|
2674
|
-
const moduleManager = new ModuleManager();
|
|
2675
|
-
moduleManager.setBmadFolderName(path.basename(bmadDir));
|
|
2676
|
-
|
|
2677
|
-
let totalAgentCount = 0;
|
|
2678
|
-
|
|
2679
|
-
// Get custom module sources from cache
|
|
2680
|
-
const customModuleSources = new Map();
|
|
2681
|
-
const cacheDir = path.join(bmadDir, '_config', 'custom');
|
|
2682
|
-
if (await fs.pathExists(cacheDir)) {
|
|
2683
|
-
const cachedModules = await fs.readdir(cacheDir, { withFileTypes: true });
|
|
2684
|
-
|
|
2685
|
-
for (const cachedModule of cachedModules) {
|
|
2686
|
-
if (cachedModule.isDirectory()) {
|
|
2687
|
-
const moduleId = cachedModule.name;
|
|
2688
|
-
const cachedPath = path.join(cacheDir, moduleId);
|
|
2689
|
-
const moduleYamlPath = path.join(cachedPath, 'module.yaml');
|
|
2690
|
-
|
|
2691
|
-
// Check if this is actually a custom module
|
|
2692
|
-
if (await fs.pathExists(moduleYamlPath)) {
|
|
2693
|
-
// Check if this is an external official module - skip cache for those
|
|
2694
|
-
const isExternal = await this.moduleManager.isExternalModule(moduleId);
|
|
2695
|
-
if (isExternal) {
|
|
2696
|
-
// External modules are handled via cloneExternalModule, not from cache
|
|
2697
|
-
continue;
|
|
2698
|
-
}
|
|
2699
|
-
customModuleSources.set(moduleId, cachedPath);
|
|
2700
|
-
}
|
|
2701
|
-
}
|
|
2702
|
-
}
|
|
2703
|
-
}
|
|
2704
|
-
|
|
2705
|
-
// Process each installed module
|
|
2706
|
-
for (const moduleId of installedModules) {
|
|
2707
|
-
spinner.message(`Recompiling agents in ${moduleId}...`);
|
|
2708
|
-
|
|
2709
|
-
// Get source path
|
|
2710
|
-
let sourcePath;
|
|
2711
|
-
if (moduleId === 'core') {
|
|
2712
|
-
sourcePath = getSourcePath('core');
|
|
2713
|
-
} else {
|
|
2714
|
-
// First check if it's in the custom cache
|
|
2715
|
-
if (customModuleSources.has(moduleId)) {
|
|
2716
|
-
sourcePath = customModuleSources.get(moduleId);
|
|
2717
|
-
} else {
|
|
2718
|
-
sourcePath = await moduleManager.findModuleSource(moduleId);
|
|
2719
|
-
}
|
|
2720
|
-
}
|
|
2721
|
-
|
|
2722
|
-
if (!sourcePath) {
|
|
2723
|
-
await prompts.log.warn(`Source not found for module ${moduleId}, skipping...`);
|
|
2724
|
-
continue;
|
|
2725
|
-
}
|
|
2726
|
-
|
|
2727
|
-
const targetPath = path.join(bmadDir, moduleId);
|
|
2728
|
-
|
|
2729
|
-
// Compile agents for this module
|
|
2730
|
-
await moduleManager.compileModuleAgents(sourcePath, targetPath, moduleId, bmadDir, this);
|
|
2731
|
-
|
|
2732
|
-
// Count agents (rough estimate based on files)
|
|
2733
|
-
const agentsPath = path.join(targetPath, 'agents');
|
|
2734
|
-
if (await fs.pathExists(agentsPath)) {
|
|
2735
|
-
const agentFiles = await fs.readdir(agentsPath);
|
|
2736
|
-
const agentCount = agentFiles.filter((f) => f.endsWith('.md')).length;
|
|
2737
|
-
totalAgentCount += agentCount;
|
|
2738
|
-
}
|
|
2739
|
-
}
|
|
2740
|
-
|
|
2741
|
-
spinner.stop('Agent recompilation complete!');
|
|
2742
|
-
|
|
2743
|
-
return {
|
|
2744
|
-
success: true,
|
|
2745
|
-
agentCount: totalAgentCount,
|
|
2746
|
-
modules: installedModules,
|
|
2747
|
-
};
|
|
2748
|
-
} catch (error) {
|
|
2749
|
-
spinner.error('Agent recompilation failed');
|
|
2750
|
-
throw error;
|
|
2751
|
-
}
|
|
2752
|
-
}
|
|
2753
|
-
|
|
2754
2544
|
/**
|
|
2755
2545
|
* Private: Prompt for update action
|
|
2756
2546
|
*/
|