bmad-method 5.1.3 → 6.0.0-alpha.1
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/.claude/commands/bmad/bmb/agents/bmad-builder.md +70 -0
- package/.claude/commands/bmad/bmb/workflows/README.md +67 -0
- package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-agent.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-module.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-agent.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-module.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/module-brief.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/redoc.md +15 -0
- package/.claude/commands/bmad/bmd/agents/cli-chief.md +108 -0
- package/.claude/commands/bmad/bmd/agents/doc-keeper.md +115 -0
- package/.claude/commands/bmad/bmd/agents/release-chief.md +109 -0
- package/.claude/commands/bmad/core/agents/bmad-master.md +71 -0
- package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
- package/.claude/commands/bmad/core/tools/shard-doc.md +9 -0
- package/.claude/commands/bmad/core/workflows/README.md +27 -0
- package/.claude/commands/bmad/core/workflows/brainstorming.md +15 -0
- package/.claude/commands/bmad/core/workflows/party-mode.md +15 -0
- package/.claude/hooks/bmad-tts-injector.sh +415 -0
- package/.claude/hooks/bmad-voice-manager.sh +511 -0
- package/.claude/hooks/check-output-style.sh +112 -0
- package/.claude/hooks/download-extra-voices.sh +244 -0
- package/.claude/hooks/github-star-reminder.sh +154 -0
- package/.claude/hooks/language-manager.sh +392 -0
- package/.claude/hooks/learn-manager.sh +475 -0
- package/.claude/hooks/personality-manager.sh +438 -0
- package/.claude/hooks/piper-download-voices.sh +165 -0
- package/.claude/hooks/piper-installer.sh +178 -0
- package/.claude/hooks/piper-multispeaker-registry.sh +165 -0
- package/.claude/hooks/piper-voice-manager.sh +293 -0
- package/.claude/hooks/play-tts-elevenlabs.sh +404 -0
- package/.claude/hooks/play-tts-piper.sh +338 -0
- package/.claude/hooks/play-tts.sh +100 -0
- package/.claude/hooks/provider-commands.sh +540 -0
- package/.claude/hooks/provider-manager.sh +298 -0
- package/.claude/hooks/replay-target-audio.sh +95 -0
- package/.claude/hooks/sentiment-manager.sh +201 -0
- package/.claude/hooks/speed-manager.sh +291 -0
- package/.claude/hooks/voice-manager.sh +594 -0
- package/.claude/hooks/voices-config.sh +70 -0
- package/.claude/settings.local.json +41 -0
- package/.github/FUNDING.yaml +2 -2
- package/.github/ISSUE_TEMPLATE/config.yaml +5 -0
- package/.github/ISSUE_TEMPLATE/idea_submission.md +109 -0
- package/.github/workflows/discord.yaml +1 -10
- package/.github/workflows/{format-check.yaml → lint.yaml} +22 -3
- package/.github/workflows/manual-release.yaml +2 -2
- package/.nvmrc +1 -0
- package/.prettierignore +2 -0
- package/.vscode/settings.json +34 -9
- package/CHANGELOG.md +214 -574
- package/CONTRIBUTING.md +131 -60
- package/LICENSE +6 -1
- package/README.md +188 -148
- package/bmad/_cfg/agent-manifest.csv +7 -0
- package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +42 -0
- package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +32 -0
- package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +42 -0
- package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +42 -0
- package/bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
- package/bmad/_cfg/files-manifest.csv +83 -0
- package/bmad/_cfg/manifest.yaml +12 -0
- package/bmad/_cfg/task-manifest.csv +5 -0
- package/bmad/_cfg/tool-manifest.csv +2 -0
- package/bmad/_cfg/workflow-manifest.csv +15 -0
- package/bmad/bmb/README.md +132 -0
- package/bmad/bmb/agents/bmad-builder.md +70 -0
- package/bmad/bmb/config.yaml +14 -0
- package/bmad/bmb/workflows/audit-workflow/checklist.md +143 -0
- package/bmad/bmb/workflows/audit-workflow/instructions.md +341 -0
- package/bmad/bmb/workflows/audit-workflow/template.md +118 -0
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml +23 -0
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +21 -0
- package/bmad/bmb/workflows/convert-legacy/README.md +262 -0
- package/bmad/bmb/workflows/convert-legacy/checklist.md +205 -0
- package/bmad/bmb/workflows/convert-legacy/instructions.md +377 -0
- package/bmad/bmb/workflows/convert-legacy/workflow.yaml +32 -0
- package/bmad/bmb/workflows/create-agent/README.md +320 -0
- package/bmad/bmb/workflows/create-agent/agent-architecture.md +419 -0
- package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +412 -0
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +759 -0
- package/bmad/bmb/workflows/create-agent/agent-types.md +292 -0
- package/bmad/bmb/workflows/create-agent/brainstorm-context.md +174 -0
- package/bmad/bmb/workflows/create-agent/checklist.md +62 -0
- package/bmad/bmb/workflows/create-agent/communication-styles.md +202 -0
- package/bmad/bmb/workflows/create-agent/instructions.md +430 -0
- package/bmad/bmb/workflows/create-agent/workflow.yaml +37 -0
- package/bmad/bmb/workflows/create-module/README.md +220 -0
- package/bmad/bmb/workflows/create-module/README.md.bak +218 -0
- package/bmad/bmb/workflows/create-module/brainstorm-context.md +137 -0
- package/bmad/bmb/workflows/create-module/checklist.md +244 -0
- package/bmad/bmb/workflows/create-module/checklist.md.bak +245 -0
- package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js +231 -0
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +231 -0
- package/bmad/bmb/workflows/create-module/instructions.md +581 -0
- package/bmad/bmb/workflows/create-module/instructions.md.bak +521 -0
- package/bmad/bmb/workflows/create-module/module-structure.md +366 -0
- package/bmad/bmb/workflows/create-module/module-structure.md.bak +310 -0
- package/bmad/bmb/workflows/create-module/workflow.yaml +42 -0
- package/bmad/bmb/workflows/create-module/workflow.yaml.bak +40 -0
- package/bmad/bmb/workflows/create-workflow/README.md +277 -0
- package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
- package/bmad/bmb/workflows/create-workflow/checklist.md +94 -0
- package/bmad/bmb/workflows/create-workflow/instructions.md +716 -0
- package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +39 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +39 -0
- package/bmad/bmb/workflows/create-workflow/workflow.yaml +40 -0
- package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +38 -0
- package/bmad/bmb/workflows/edit-agent/README.md +112 -0
- package/bmad/bmb/workflows/edit-agent/checklist.md +112 -0
- package/bmad/bmb/workflows/edit-agent/instructions.md +290 -0
- package/bmad/bmb/workflows/edit-agent/workflow.yaml +33 -0
- package/bmad/bmb/workflows/edit-module/README.md +187 -0
- package/bmad/bmb/workflows/edit-module/checklist.md +165 -0
- package/bmad/bmb/workflows/edit-module/instructions.md +339 -0
- package/bmad/bmb/workflows/edit-module/workflow.yaml +34 -0
- package/bmad/bmb/workflows/edit-workflow/README.md +119 -0
- package/bmad/bmb/workflows/edit-workflow/checklist.md +70 -0
- package/bmad/bmb/workflows/edit-workflow/instructions.md +342 -0
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml +27 -0
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +25 -0
- package/bmad/bmb/workflows/module-brief/README.md +264 -0
- package/bmad/bmb/workflows/module-brief/checklist.md +116 -0
- package/bmad/bmb/workflows/module-brief/instructions.md +267 -0
- package/bmad/bmb/workflows/module-brief/template.md +275 -0
- package/bmad/bmb/workflows/module-brief/workflow.yaml +29 -0
- package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +27 -0
- package/bmad/bmb/workflows/redoc/README.md +87 -0
- package/bmad/bmb/workflows/redoc/checklist.md +99 -0
- package/bmad/bmb/workflows/redoc/instructions.md +265 -0
- package/bmad/bmb/workflows/redoc/workflow.yaml +32 -0
- package/bmad/bmb/workflows/redoc/workflow.yaml.bak +31 -0
- package/bmad/bmd/README.md +193 -0
- package/bmad/bmd/README.md.bak +193 -0
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +102 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +68 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +123 -0
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md +53 -0
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +53 -0
- package/bmad/bmd/agents/cli-chief.md +108 -0
- package/bmad/bmd/agents/cli-chief.md.bak +108 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +177 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +81 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +88 -0
- package/bmad/bmd/agents/doc-keeper.md +115 -0
- package/bmad/bmd/agents/doc-keeper.md.bak +115 -0
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md +164 -0
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +164 -0
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +82 -0
- package/bmad/bmd/agents/release-chief-sidecar/memories.md +73 -0
- package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +73 -0
- package/bmad/bmd/agents/release-chief.md +109 -0
- package/bmad/bmd/agents/release-chief.md.bak +109 -0
- package/bmad/bmd/config.yaml +10 -0
- package/bmad/core/agents/bmad-master.md +71 -0
- package/bmad/core/agents/bmad-web-orchestrator.agent.xml +122 -0
- package/bmad/core/config.yaml +9 -0
- package/bmad/core/tasks/adv-elicit-methods.csv +39 -0
- package/bmad/core/tasks/adv-elicit.xml +104 -0
- package/bmad/core/tasks/index-docs.xml +65 -0
- package/bmad/core/tasks/validate-workflow.xml +89 -0
- package/bmad/core/tasks/workflow.xml +174 -0
- package/bmad/core/tools/shard-doc.xml +100 -0
- package/bmad/core/workflows/brainstorming/README.md +271 -0
- package/bmad/core/workflows/brainstorming/brain-methods.csv +36 -0
- package/bmad/core/workflows/brainstorming/instructions.md +314 -0
- package/bmad/core/workflows/brainstorming/template.md +102 -0
- package/bmad/core/workflows/brainstorming/workflow.yaml +43 -0
- package/bmad/core/workflows/party-mode/instructions.md +188 -0
- package/bmad/core/workflows/party-mode/workflow.yaml +23 -0
- package/bmad/docs/claude-code-instructions.md +25 -0
- package/bmad/docs/codex-instructions.md +21 -0
- package/bmd/README.md +193 -0
- package/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
- package/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
- package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
- package/bmd/agents/cli-chief-sidecar/memories.md +53 -0
- package/bmd/agents/cli-chief.agent.yaml +126 -0
- package/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
- package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
- package/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
- package/bmd/agents/doc-keeper.agent.yaml +137 -0
- package/bmd/agents/release-chief-sidecar/instructions.md +164 -0
- package/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
- package/bmd/agents/release-chief-sidecar/memories.md +73 -0
- package/bmd/agents/release-chief.agent.yaml +127 -0
- package/bmd/bmad-custom-module-installer-plan.md +1176 -0
- package/bmd/config.yaml +12 -0
- package/docs/bmad-brownfield-guide.md +1260 -0
- package/docs/conversion-report-shard-doc-2025-10-26.md +188 -0
- package/docs/ide-info/auggie.md +31 -0
- package/docs/ide-info/claude-code.md +25 -0
- package/docs/ide-info/cline.md +31 -0
- package/docs/ide-info/codex.md +21 -0
- package/docs/ide-info/crush.md +30 -0
- package/docs/ide-info/cursor.md +25 -0
- package/docs/ide-info/gemini.md +25 -0
- package/docs/ide-info/github-copilot.md +26 -0
- package/docs/ide-info/iflow.md +33 -0
- package/docs/ide-info/kilo.md +24 -0
- package/docs/ide-info/opencode.md +24 -0
- package/docs/ide-info/qwen.md +25 -0
- package/docs/ide-info/roo.md +27 -0
- package/docs/ide-info/trae.md +25 -0
- package/docs/ide-info/windsurf.md +22 -0
- package/docs/installers-bundlers/ide-injections.md +186 -0
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +327 -0
- package/docs/installers-bundlers/web-bundler-usage.md +54 -0
- package/docs/v4-to-v6-upgrade.md +225 -0
- package/eslint.config.mjs +21 -9
- package/package.json +32 -36
- package/prettier.config.mjs +1 -1
- package/src/core/_module-installer/install-config.yaml +28 -0
- package/src/core/_module-installer/installer.js +68 -0
- package/src/core/agents/bmad-master.agent.yaml +39 -0
- package/src/core/agents/bmad-web-orchestrator.agent.xml +122 -0
- package/src/core/tasks/adv-elicit-methods.csv +39 -0
- package/src/core/tasks/adv-elicit.xml +104 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/validate-workflow.xml +89 -0
- package/src/core/tasks/workflow.xml +166 -0
- package/src/core/tools/shard-doc.xml +100 -0
- package/src/core/workflows/brainstorming/README.md +271 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +36 -0
- package/src/core/workflows/brainstorming/instructions.md +314 -0
- package/src/core/workflows/brainstorming/template.md +102 -0
- package/src/core/workflows/brainstorming/workflow.yaml +43 -0
- package/src/core/workflows/party-mode/instructions.md +188 -0
- package/src/core/workflows/party-mode/workflow.yaml +23 -0
- package/src/modules/bmb/README.md +132 -0
- package/src/modules/bmb/_module-installer/install-config.yaml +26 -0
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +58 -0
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +143 -0
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +341 -0
- package/src/modules/bmb/workflows/audit-workflow/template.md +118 -0
- package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +25 -0
- package/src/modules/bmb/workflows/convert-legacy/README.md +262 -0
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +205 -0
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +377 -0
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +34 -0
- package/src/modules/bmb/workflows/create-agent/README.md +320 -0
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +419 -0
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
- package/src/modules/bmb/workflows/create-agent/agent-types.md +292 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +174 -0
- package/src/modules/bmb/workflows/create-agent/checklist.md +62 -0
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +202 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +430 -0
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +49 -0
- package/src/modules/bmb/workflows/create-module/README.md +220 -0
- package/src/modules/bmb/workflows/create-module/brainstorm-context.md +137 -0
- package/src/modules/bmb/workflows/create-module/checklist.md +244 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +231 -0
- package/src/modules/bmb/workflows/create-module/instructions.md +581 -0
- package/src/modules/bmb/workflows/create-module/module-structure.md +366 -0
- package/src/modules/bmb/workflows/create-module/workflow.yaml +44 -0
- package/src/modules/bmb/workflows/create-workflow/README.md +277 -0
- package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
- package/src/modules/bmb/workflows/create-workflow/checklist.md +94 -0
- package/src/modules/bmb/workflows/create-workflow/instructions.md +716 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +65 -0
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +42 -0
- package/src/modules/bmb/workflows/edit-agent/README.md +112 -0
- package/src/modules/bmb/workflows/edit-agent/checklist.md +112 -0
- package/src/modules/bmb/workflows/edit-agent/instructions.md +290 -0
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +35 -0
- package/src/modules/bmb/workflows/edit-module/README.md +187 -0
- package/src/modules/bmb/workflows/edit-module/checklist.md +165 -0
- package/src/modules/bmb/workflows/edit-module/instructions.md +339 -0
- package/src/modules/bmb/workflows/edit-module/workflow.yaml +36 -0
- package/src/modules/bmb/workflows/edit-workflow/README.md +119 -0
- package/src/modules/bmb/workflows/edit-workflow/checklist.md +70 -0
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +342 -0
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +29 -0
- package/src/modules/bmb/workflows/module-brief/README.md +264 -0
- package/src/modules/bmb/workflows/module-brief/checklist.md +116 -0
- package/src/modules/bmb/workflows/module-brief/instructions.md +267 -0
- package/src/modules/bmb/workflows/module-brief/template.md +275 -0
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +31 -0
- package/src/modules/bmb/workflows/redoc/README.md +87 -0
- package/src/modules/bmb/workflows/redoc/checklist.md +99 -0
- package/src/modules/bmb/workflows/redoc/instructions.md +265 -0
- package/src/modules/bmb/workflows/redoc/workflow.yaml +34 -0
- package/src/modules/bmm/README.md +141 -0
- package/src/modules/bmm/_module-installer/assets/bmm-kb.md +1 -0
- package/src/modules/bmm/_module-installer/assets/technical-decisions.md +30 -0
- package/src/modules/bmm/_module-installer/install-config.yaml +74 -0
- package/src/modules/bmm/_module-installer/installer.js +131 -0
- package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
- package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
- package/src/modules/bmm/agents/analyst.agent.yaml +43 -0
- package/src/modules/bmm/agents/architect.agent.yaml +41 -0
- package/src/modules/bmm/agents/dev.agent.yaml +43 -0
- package/src/modules/bmm/agents/game-architect.agent.yaml +35 -0
- package/src/modules/bmm/agents/game-designer.agent.yaml +47 -0
- package/src/modules/bmm/agents/game-dev.agent.yaml +39 -0
- package/src/modules/bmm/agents/pm.agent.yaml +50 -0
- package/src/modules/bmm/agents/sm.agent.yaml +67 -0
- package/src/modules/bmm/agents/tea.agent.yaml +59 -0
- package/src/modules/bmm/agents/ux-designer.agent.yaml +33 -0
- package/src/modules/bmm/sub-modules/claude-code/config.yaml +5 -0
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +242 -0
- package/src/modules/bmm/sub-modules/claude-code/readme.md +87 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +102 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +82 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +101 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +84 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +83 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +81 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +61 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +168 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +115 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +123 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +72 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +51 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +106 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +102 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +68 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +108 -0
- package/src/modules/bmm/tasks/daily-standup.xml +85 -0
- package/src/modules/bmm/tasks/retrospective.xml +104 -0
- package/src/modules/bmm/teams/team-fullstack.yaml +11 -0
- package/src/modules/bmm/teams/team-gamedev.yaml +14 -0
- package/src/modules/bmm/testarch/README.md +311 -0
- package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/modules/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/src/modules/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/src/modules/bmm/testarch/knowledge/data-factories.md +500 -0
- package/src/modules/bmm/testarch/knowledge/email-auth.md +721 -0
- package/src/modules/bmm/testarch/knowledge/error-handling.md +725 -0
- package/src/modules/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/src/modules/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/modules/bmm/testarch/knowledge/network-first.md +486 -0
- package/src/modules/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/modules/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/src/modules/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/src/modules/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/src/modules/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/src/modules/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/src/modules/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/modules/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/modules/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/modules/bmm/testarch/knowledge/test-quality.md +664 -0
- package/src/modules/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/src/modules/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/src/modules/bmm/testarch/tea-index.csv +22 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +38 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-brain-methods.csv +26 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +115 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +109 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +41 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +29 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +91 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +39 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +221 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +128 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +357 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +205 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +44 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +180 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +321 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +165 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +43 -0
- package/src/modules/bmm/workflows/1-analysis/research/README.md +454 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist.md +202 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +259 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +190 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +337 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +107 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +329 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +433 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +613 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +125 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +501 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +311 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +210 -0
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +49 -0
- package/src/modules/bmm/workflows/2-plan-workflows/README.md +258 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1283 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +42 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +222 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/checklist.md +148 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/action-platformer.md +45 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/adventure.md +84 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/card-game.md +76 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/fighting.md +89 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/horror.md +86 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/idle-incremental.md +78 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/metroidvania.md +87 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/moba.md +74 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/party-game.md +79 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/puzzle.md +58 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/racing.md +88 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/rhythm.md +79 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/roguelike.md +69 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/rpg.md +70 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/sandbox.md +79 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/shooter.md +62 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/simulation.md +73 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/sports.md +75 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/strategy.md +71 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/survival.md +79 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/text-based.md +91 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/tower-defense.md +79 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/turn-based-tactics.md +88 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/visual-novel.md +89 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types.csv +25 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/gdd-template.md +153 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +475 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +67 -0
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +557 -0
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +195 -0
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +38 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +117 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +63 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +449 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +62 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +107 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +11 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +167 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +278 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +269 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +55 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +56 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +52 -0
- package/src/modules/bmm/workflows/3-solutioning/README.md +1 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +703 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/readme.md +318 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +177 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +273 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +40 -0
- package/src/modules/bmm/workflows/4-implementation/README.md +221 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/README.md +69 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +391 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +56 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +73 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +201 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +45 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +129 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +252 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +51 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +49 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +206 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +262 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +28 -0
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +195 -0
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +160 -0
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +34 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +77 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +479 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +45 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +156 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +221 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +41 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/README.md +234 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +201 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +32 -0
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/README.md +577 -0
- package/src/modules/bmm/workflows/document-project/README.md +444 -0
- package/src/modules/bmm/workflows/document-project/checklist.md +245 -0
- package/src/modules/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/modules/bmm/workflows/document-project/instructions.md +222 -0
- package/src/modules/bmm/workflows/document-project/templates/README.md +38 -0
- package/src/modules/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/modules/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/modules/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/modules/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/modules/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/modules/bmm/workflows/document-project/workflow.yaml +36 -0
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/modules/bmm/workflows/testarch/README.md +26 -0
- package/src/modules/bmm/workflows/testarch/atdd/README.md +672 -0
- package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/src/modules/bmm/workflows/testarch/atdd/checklist.md +373 -0
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +785 -0
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/testarch/automate/README.md +869 -0
- package/src/modules/bmm/workflows/testarch/automate/checklist.md +580 -0
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +1303 -0
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +63 -0
- package/src/modules/bmm/workflows/testarch/ci/README.md +493 -0
- package/src/modules/bmm/workflows/testarch/ci/checklist.md +246 -0
- package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
- package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +517 -0
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/framework/README.md +340 -0
- package/src/modules/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +455 -0
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +469 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +58 -0
- package/src/modules/bmm/workflows/testarch/test-design/README.md +493 -0
- package/src/modules/bmm/workflows/testarch/test-design/checklist.md +234 -0
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +621 -0
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/testarch/test-review/README.md +775 -0
- package/src/modules/bmm/workflows/testarch/test-review/checklist.md +470 -0
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +608 -0
- package/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/trace/README.md +802 -0
- package/src/modules/bmm/workflows/testarch/trace/checklist.md +654 -0
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +1045 -0
- package/src/modules/bmm/workflows/testarch/trace/trace-template.md +673 -0
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +68 -0
- package/src/modules/bmm/workflows/workflow-status/README.md +241 -0
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +297 -0
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
- package/src/modules/bmm/workflows/workflow-status/instructions.md +324 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +54 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml +58 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +76 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +95 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +88 -0
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +45 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml +49 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +78 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +73 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +75 -0
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +30 -0
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +30 -0
- package/src/modules/cis/_module-installer/install-config.yaml +14 -0
- package/src/modules/cis/_module-installer/installer.js +92 -0
- package/src/modules/cis/agents/README.md +104 -0
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +23 -0
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +23 -0
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +23 -0
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +23 -0
- package/src/modules/cis/agents/storyteller.agent.yaml +23 -0
- package/src/modules/cis/readme.md +86 -0
- package/src/modules/cis/teams/creative-squad.yaml +6 -0
- package/src/modules/cis/workflows/README.md +67 -0
- package/src/modules/cis/workflows/design-thinking/README.md +56 -0
- package/src/modules/cis/workflows/design-thinking/design-methods.csv +31 -0
- package/src/modules/cis/workflows/design-thinking/instructions.md +200 -0
- package/src/modules/cis/workflows/design-thinking/template.md +111 -0
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +43 -0
- package/src/modules/cis/workflows/innovation-strategy/README.md +56 -0
- package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +274 -0
- package/src/modules/cis/workflows/innovation-strategy/template.md +189 -0
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +43 -0
- package/src/modules/cis/workflows/problem-solving/README.md +56 -0
- package/src/modules/cis/workflows/problem-solving/instructions.md +250 -0
- package/src/modules/cis/workflows/problem-solving/solving-methods.csv +31 -0
- package/src/modules/cis/workflows/problem-solving/template.md +165 -0
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +43 -0
- package/src/modules/cis/workflows/storytelling/README.md +58 -0
- package/src/modules/cis/workflows/storytelling/instructions.md +283 -0
- package/src/modules/cis/workflows/storytelling/story-types.csv +26 -0
- package/src/modules/cis/workflows/storytelling/template.md +113 -0
- package/src/modules/cis/workflows/storytelling/workflow.yaml +43 -0
- package/src/utility/models/agent-activation-ide.xml +51 -0
- package/src/utility/models/agent-activation-web.xml +60 -0
- package/src/utility/models/agent-config-template.md +23 -0
- package/src/utility/models/agent-in-team-activation.xml +3 -0
- package/src/utility/models/fragments/activation-rules.xml +8 -0
- package/src/utility/models/fragments/activation-steps.xml +15 -0
- package/src/utility/models/fragments/handler-action.xml +4 -0
- package/src/utility/models/fragments/handler-data.xml +5 -0
- package/src/utility/models/fragments/handler-exec.xml +5 -0
- package/src/utility/models/fragments/handler-tmpl.xml +5 -0
- package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
- package/src/utility/models/fragments/handler-workflow.xml +9 -0
- package/src/utility/models/fragments/menu-handlers.xml +6 -0
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
- package/src/utility/templates/agent.customize.template.yaml +42 -0
- package/test/README.md +295 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +21 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +26 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +39 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +33 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +29 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +23 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/unit-test-schema.js +133 -0
- package/tools/bmad-npx-wrapper.js +100 -13
- package/tools/cli/README.md +590 -0
- package/tools/cli/bmad-cli.js +40 -0
- package/tools/cli/bundlers/bundle-web.js +179 -0
- package/tools/cli/bundlers/test-analyst.js +28 -0
- package/tools/cli/bundlers/test-bundler.js +118 -0
- package/tools/cli/bundlers/web-bundler.js +1479 -0
- package/tools/cli/commands/build.js +458 -0
- package/tools/cli/commands/install.js +82 -0
- package/tools/cli/commands/list.js +28 -0
- package/tools/cli/commands/status.js +47 -0
- package/tools/cli/commands/uninstall.js +44 -0
- package/tools/cli/commands/update.js +28 -0
- package/tools/cli/installers/lib/core/config-collector.js +590 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +725 -0
- package/tools/cli/installers/lib/core/detector.js +274 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +152 -0
- package/tools/cli/installers/lib/core/installer.js +2095 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +776 -0
- package/tools/cli/installers/lib/core/manifest.js +536 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +572 -0
- package/tools/cli/installers/lib/ide/auggie.js +336 -0
- package/tools/cli/installers/lib/ide/claude-code.js +449 -0
- package/tools/cli/installers/lib/ide/cline.js +223 -0
- package/tools/cli/installers/lib/ide/codex.js +234 -0
- package/tools/cli/installers/lib/ide/crush.js +276 -0
- package/tools/cli/installers/lib/ide/cursor.js +292 -0
- package/tools/cli/installers/lib/ide/gemini.js +156 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +290 -0
- package/tools/cli/installers/lib/ide/iflow.js +142 -0
- package/tools/cli/installers/lib/ide/kilo.js +171 -0
- package/tools/cli/installers/lib/ide/manager.js +194 -0
- package/tools/cli/installers/lib/ide/opencode.js +213 -0
- package/tools/cli/installers/lib/ide/qwen.js +290 -0
- package/tools/cli/installers/lib/ide/roo.js +288 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +143 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +133 -0
- package/tools/cli/installers/lib/ide/task-tool-command-generator.js +119 -0
- package/tools/cli/installers/lib/ide/trae.js +278 -0
- package/tools/cli/installers/lib/ide/windsurf.js +201 -0
- package/tools/cli/installers/lib/ide/workflow-command-generator.js +235 -0
- package/tools/cli/installers/lib/ide/workflow-command-template.md +15 -0
- package/tools/cli/installers/lib/modules/manager.js +568 -0
- package/tools/cli/lib/activation-builder.js +168 -0
- package/tools/cli/lib/agent-analyzer.js +81 -0
- package/tools/cli/lib/agent-party-generator.js +206 -0
- package/tools/cli/lib/cli-utils.js +208 -0
- package/tools/cli/lib/config.js +210 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +71 -0
- package/tools/cli/lib/replace-project-root.js +239 -0
- package/tools/cli/lib/ui.js +591 -0
- package/tools/cli/lib/xml-handler.js +228 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/{yaml-format.js → cli/lib/yaml-format.js} +3 -10
- package/tools/cli/lib/yaml-xml-builder.js +439 -0
- package/tools/cli/regenerate-manifests.js +28 -0
- package/tools/cli/test-yaml-builder.js +43 -0
- package/tools/flattener/ignoreRules.js +2 -6
- package/tools/flattener/main.js +31 -121
- package/tools/flattener/projectRoot.js +3 -8
- package/tools/flattener/stats.helpers.js +8 -35
- package/tools/flattener/stats.js +1 -6
- package/tools/flattener/test-matrix.js +1 -5
- package/tools/format-workflow-md.js +263 -0
- package/tools/platform-codes.yaml +133 -0
- package/tools/schema/agent.js +231 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-bundles.js +87 -0
- package/v6-open-items.md +23 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/bmad-core/agent-teams/team-all.yaml +0 -14
- package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
- package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/bmad-core/agents/analyst.md +0 -81
- package/bmad-core/agents/architect.md +0 -83
- package/bmad-core/agents/bmad-master.md +0 -107
- package/bmad-core/agents/bmad-orchestrator.md +0 -149
- package/bmad-core/agents/dev.md +0 -75
- package/bmad-core/agents/pm.md +0 -81
- package/bmad-core/agents/po.md +0 -76
- package/bmad-core/agents/qa.md +0 -88
- package/bmad-core/agents/sm.md +0 -62
- package/bmad-core/agents/ux-expert.md +0 -66
- package/bmad-core/checklists/architect-checklist.md +0 -438
- package/bmad-core/checklists/change-checklist.md +0 -182
- package/bmad-core/checklists/pm-checklist.md +0 -370
- package/bmad-core/checklists/po-master-checklist.md +0 -432
- package/bmad-core/checklists/story-dod-checklist.md +0 -94
- package/bmad-core/checklists/story-draft-checklist.md +0 -153
- package/bmad-core/core-config.yaml +0 -20
- package/bmad-core/data/bmad-kb.md +0 -806
- package/bmad-core/data/brainstorming-techniques.md +0 -36
- package/bmad-core/data/elicitation-methods.md +0 -154
- package/bmad-core/data/technical-preferences.md +0 -3
- package/bmad-core/data/test-levels-framework.md +0 -146
- package/bmad-core/data/test-priorities-matrix.md +0 -172
- package/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/bmad-core/tasks/brownfield-create-epic.md +0 -160
- package/bmad-core/tasks/brownfield-create-story.md +0 -147
- package/bmad-core/tasks/correct-course.md +0 -70
- package/bmad-core/tasks/create-brownfield-story.md +0 -312
- package/bmad-core/tasks/create-deep-research-prompt.md +0 -278
- package/bmad-core/tasks/create-next-story.md +0 -112
- package/bmad-core/tasks/document-project.md +0 -343
- package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/bmad-core/tasks/index-docs.md +0 -173
- package/bmad-core/tasks/kb-mode-interaction.md +0 -75
- package/bmad-core/tasks/nfr-assess.md +0 -343
- package/bmad-core/tasks/qa-gate.md +0 -159
- package/bmad-core/tasks/review-story.md +0 -314
- package/bmad-core/tasks/risk-profile.md +0 -353
- package/bmad-core/tasks/shard-doc.md +0 -185
- package/bmad-core/tasks/test-design.md +0 -174
- package/bmad-core/tasks/trace-requirements.md +0 -264
- package/bmad-core/tasks/validate-next-story.md +0 -134
- package/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -306
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -218
- package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -823
- package/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/bmad-core/templates/qa-gate-tmpl.yaml +0 -102
- package/bmad-core/templates/story-tmpl.yaml +0 -137
- package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
- package/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
- package/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/common/tasks/create-doc.md +0 -101
- package/common/tasks/execute-checklist.md +0 -86
- package/common/utils/bmad-doc-template.md +0 -325
- package/common/utils/workflow-management.md +0 -69
- package/dist/agents/analyst.txt +0 -2889
- package/dist/agents/architect.txt +0 -3552
- package/dist/agents/bmad-master.txt +0 -8769
- package/dist/agents/bmad-orchestrator.txt +0 -1513
- package/dist/agents/dev.txt +0 -414
- package/dist/agents/pm.txt +0 -2204
- package/dist/agents/po.txt +0 -1346
- package/dist/agents/qa.txt +0 -1987
- package/dist/agents/sm.txt +0 -658
- package/dist/agents/ux-expert.txt +0 -694
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2371
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1620
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -815
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10952
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4012
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3698
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -450
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -973
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15376
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2075
- package/dist/teams/team-all.txt +0 -12682
- package/dist/teams/team-fullstack.txt +0 -10421
- package/dist/teams/team-ide-minimal.txt +0 -5103
- package/dist/teams/team-no-ui.txt +0 -8980
- package/docs/GUIDING-PRINCIPLES.md +0 -91
- package/docs/core-architecture.md +0 -219
- package/docs/enhanced-ide-development-workflow.md +0 -248
- package/docs/expansion-packs.md +0 -280
- package/docs/how-to-contribute-with-pull-requests.md +0 -158
- package/docs/user-guide.md +0 -504
- package/docs/versioning-and-releases.md +0 -147
- package/docs/versions.md +0 -48
- package/docs/working-in-the-brownfield.md +0 -597
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
- package/expansion-packs/README.md +0 -3
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -250
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -647
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -110
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -290
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
- package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -391
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -124
- package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -769
- package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -586
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -110
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -141
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -290
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
- package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
- package/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
- package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
- package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -305
- package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -159
- package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -153
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
- package/release_notes.md +0 -33
- package/tools/builders/web-builder.js +0 -675
- package/tools/bump-all-versions.js +0 -115
- package/tools/bump-expansion-version.js +0 -90
- package/tools/cli.js +0 -152
- package/tools/installer/README.md +0 -8
- package/tools/installer/bin/bmad.js +0 -585
- package/tools/installer/config/ide-agent-config.yaml +0 -58
- package/tools/installer/config/install.config.yaml +0 -123
- package/tools/installer/lib/config-loader.js +0 -257
- package/tools/installer/lib/file-manager.js +0 -389
- package/tools/installer/lib/ide-base-setup.js +0 -228
- package/tools/installer/lib/ide-setup.js +0 -1441
- package/tools/installer/lib/installer.js +0 -1995
- package/tools/installer/lib/memory-profiler.js +0 -225
- package/tools/installer/lib/module-manager.js +0 -114
- package/tools/installer/lib/resource-locator.js +0 -308
- package/tools/installer/package.json +0 -44
- package/tools/lib/dependency-resolver.js +0 -175
- package/tools/lib/yaml-utils.js +0 -29
- package/tools/md-assets/web-agent-startup-instructions.md +0 -39
- package/tools/preview-release-notes.js +0 -66
- package/tools/shared/bannerArt.js +0 -105
- package/tools/sync-installer-version.js +0 -32
- package/tools/update-expansion-version.js +0 -53
- package/tools/upgraders/v3-to-v4-upgrader.js +0 -672
- package/tools/version-bump.js +0 -94
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
# Visual Debugging and Developer Ergonomics
|
|
2
|
+
|
|
3
|
+
## Principle
|
|
4
|
+
|
|
5
|
+
Fast feedback loops and transparent debugging artifacts are critical for maintaining test reliability and developer confidence. Visual debugging tools (trace viewers, screenshots, videos, HAR files) turn cryptic test failures into actionable insights, reducing triage time from hours to minutes.
|
|
6
|
+
|
|
7
|
+
## Rationale
|
|
8
|
+
|
|
9
|
+
**The Problem**: CI failures often provide minimal context—a timeout, a selector mismatch, or a network error—forcing developers to reproduce issues locally (if they can). This wastes time and discourages test maintenance.
|
|
10
|
+
|
|
11
|
+
**The Solution**: Capture rich debugging artifacts **only on failure** to balance storage costs with diagnostic value. Modern tools like Playwright Trace Viewer, Cypress Debug UI, and HAR recordings provide interactive, time-travel debugging that reveals exactly what the test saw at each step.
|
|
12
|
+
|
|
13
|
+
**Why This Matters**:
|
|
14
|
+
|
|
15
|
+
- Reduces failure triage time by 80-90% (visual context vs logs alone)
|
|
16
|
+
- Enables debugging without local reproduction
|
|
17
|
+
- Improves test maintenance confidence (clear failure root cause)
|
|
18
|
+
- Catches timing/race conditions that are hard to reproduce locally
|
|
19
|
+
|
|
20
|
+
## Pattern Examples
|
|
21
|
+
|
|
22
|
+
### Example 1: Playwright Trace Viewer Configuration (Production Pattern)
|
|
23
|
+
|
|
24
|
+
**Context**: Capture traces on first retry only (balances storage and diagnostics)
|
|
25
|
+
|
|
26
|
+
**Implementation**:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
// playwright.config.ts
|
|
30
|
+
import { defineConfig } from '@playwright/test';
|
|
31
|
+
|
|
32
|
+
export default defineConfig({
|
|
33
|
+
use: {
|
|
34
|
+
// Visual debugging artifacts (space-efficient)
|
|
35
|
+
trace: 'on-first-retry', // Only when test fails once
|
|
36
|
+
screenshot: 'only-on-failure', // Not on success
|
|
37
|
+
video: 'retain-on-failure', // Delete on pass
|
|
38
|
+
|
|
39
|
+
// Context for debugging
|
|
40
|
+
baseURL: process.env.BASE_URL || 'http://localhost:3000',
|
|
41
|
+
|
|
42
|
+
// Timeout context
|
|
43
|
+
actionTimeout: 15_000, // 15s for clicks/fills
|
|
44
|
+
navigationTimeout: 30_000, // 30s for page loads
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
// CI-specific artifact retention
|
|
48
|
+
reporter: [
|
|
49
|
+
['html', { outputFolder: 'playwright-report', open: 'never' }],
|
|
50
|
+
['junit', { outputFile: 'results.xml' }],
|
|
51
|
+
['list'], // Console output
|
|
52
|
+
],
|
|
53
|
+
|
|
54
|
+
// Failure handling
|
|
55
|
+
retries: process.env.CI ? 2 : 0, // Retry in CI to capture trace
|
|
56
|
+
workers: process.env.CI ? 1 : undefined,
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Opening and Using Trace Viewer**:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# After test failure in CI, download trace artifact
|
|
64
|
+
# Then open locally:
|
|
65
|
+
npx playwright show-trace path/to/trace.zip
|
|
66
|
+
|
|
67
|
+
# Or serve trace viewer:
|
|
68
|
+
npx playwright show-report
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Key Features to Use in Trace Viewer**:
|
|
72
|
+
|
|
73
|
+
1. **Timeline**: See each action (click, navigate, assertion) with timing
|
|
74
|
+
2. **Snapshots**: Hover over timeline to see DOM state at that moment
|
|
75
|
+
3. **Network Tab**: Inspect all API calls, headers, payloads, timing
|
|
76
|
+
4. **Console Tab**: View console.log/error messages
|
|
77
|
+
5. **Source Tab**: See test code with execution markers
|
|
78
|
+
6. **Metadata**: Browser, OS, test duration, screenshots
|
|
79
|
+
|
|
80
|
+
**Why This Works**:
|
|
81
|
+
|
|
82
|
+
- `on-first-retry` avoids capturing traces for flaky passes (saves storage)
|
|
83
|
+
- Screenshots + video give visual context without trace overhead
|
|
84
|
+
- Interactive timeline makes timing issues obvious (race conditions, slow API)
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### Example 2: HAR File Recording for Network Debugging
|
|
89
|
+
|
|
90
|
+
**Context**: Capture all network activity for reproducible API debugging
|
|
91
|
+
|
|
92
|
+
**Implementation**:
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
// tests/e2e/checkout-with-har.spec.ts
|
|
96
|
+
import { test, expect } from '@playwright/test';
|
|
97
|
+
import path from 'path';
|
|
98
|
+
|
|
99
|
+
test.describe('Checkout Flow with HAR Recording', () => {
|
|
100
|
+
test('should complete payment with full network capture', async ({ page, context }) => {
|
|
101
|
+
// Start HAR recording BEFORE navigation
|
|
102
|
+
await context.routeFromHAR(path.join(__dirname, '../fixtures/checkout.har'), {
|
|
103
|
+
url: '**/api/**', // Only capture API calls
|
|
104
|
+
update: true, // Update HAR if file exists
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
await page.goto('/checkout');
|
|
108
|
+
|
|
109
|
+
// Interact with page
|
|
110
|
+
await page.getByTestId('payment-method').selectOption('credit-card');
|
|
111
|
+
await page.getByTestId('card-number').fill('4242424242424242');
|
|
112
|
+
await page.getByTestId('submit-payment').click();
|
|
113
|
+
|
|
114
|
+
// Wait for payment confirmation
|
|
115
|
+
await expect(page.getByTestId('success-message')).toBeVisible();
|
|
116
|
+
|
|
117
|
+
// HAR file saved to fixtures/checkout.har
|
|
118
|
+
// Contains all network requests/responses for replay
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Using HAR for Deterministic Mocking**:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
// tests/e2e/checkout-replay-har.spec.ts
|
|
127
|
+
import { test, expect } from '@playwright/test';
|
|
128
|
+
import path from 'path';
|
|
129
|
+
|
|
130
|
+
test('should replay checkout flow from HAR', async ({ page, context }) => {
|
|
131
|
+
// Replay network from HAR (no real API calls)
|
|
132
|
+
await context.routeFromHAR(path.join(__dirname, '../fixtures/checkout.har'), {
|
|
133
|
+
url: '**/api/**',
|
|
134
|
+
update: false, // Read-only mode
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
await page.goto('/checkout');
|
|
138
|
+
|
|
139
|
+
// Same test, but network responses come from HAR file
|
|
140
|
+
await page.getByTestId('payment-method').selectOption('credit-card');
|
|
141
|
+
await page.getByTestId('card-number').fill('4242424242424242');
|
|
142
|
+
await page.getByTestId('submit-payment').click();
|
|
143
|
+
|
|
144
|
+
await expect(page.getByTestId('success-message')).toBeVisible();
|
|
145
|
+
});
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Key Points**:
|
|
149
|
+
|
|
150
|
+
- **`update: true`** records new HAR or updates existing (for flaky API debugging)
|
|
151
|
+
- **`update: false`** replays from HAR (deterministic, no real API)
|
|
152
|
+
- Filter by URL pattern (`**/api/**`) to avoid capturing static assets
|
|
153
|
+
- HAR files are human-readable JSON (easy to inspect/modify)
|
|
154
|
+
|
|
155
|
+
**When to Use HAR**:
|
|
156
|
+
|
|
157
|
+
- Debugging flaky tests caused by API timing/responses
|
|
158
|
+
- Creating deterministic mocks for integration tests
|
|
159
|
+
- Analyzing third-party API behavior (Stripe, Auth0)
|
|
160
|
+
- Reproducing production issues locally (record HAR in staging)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Example 3: Custom Artifact Capture (Console Logs + Network on Failure)
|
|
165
|
+
|
|
166
|
+
**Context**: Capture additional debugging context automatically on test failure
|
|
167
|
+
|
|
168
|
+
**Implementation**:
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
// playwright/support/fixtures/debug-fixture.ts
|
|
172
|
+
import { test as base } from '@playwright/test';
|
|
173
|
+
import fs from 'fs';
|
|
174
|
+
import path from 'path';
|
|
175
|
+
|
|
176
|
+
type DebugFixture = {
|
|
177
|
+
captureDebugArtifacts: () => Promise<void>;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export const test = base.extend<DebugFixture>({
|
|
181
|
+
captureDebugArtifacts: async ({ page }, use, testInfo) => {
|
|
182
|
+
const consoleLogs: string[] = [];
|
|
183
|
+
const networkRequests: Array<{ url: string; status: number; method: string }> = [];
|
|
184
|
+
|
|
185
|
+
// Capture console messages
|
|
186
|
+
page.on('console', (msg) => {
|
|
187
|
+
consoleLogs.push(`[${msg.type()}] ${msg.text()}`);
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
// Capture network requests
|
|
191
|
+
page.on('request', (request) => {
|
|
192
|
+
networkRequests.push({
|
|
193
|
+
url: request.url(),
|
|
194
|
+
method: request.method(),
|
|
195
|
+
status: 0, // Will be updated on response
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
page.on('response', (response) => {
|
|
200
|
+
const req = networkRequests.find((r) => r.url === response.url());
|
|
201
|
+
if (req) req.status = response.status();
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
await use(async () => {
|
|
205
|
+
// This function can be called manually in tests
|
|
206
|
+
// But it also runs automatically on failure via afterEach
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// After test completes, save artifacts if failed
|
|
210
|
+
if (testInfo.status !== testInfo.expectedStatus) {
|
|
211
|
+
const artifactDir = path.join(testInfo.outputDir, 'debug-artifacts');
|
|
212
|
+
fs.mkdirSync(artifactDir, { recursive: true });
|
|
213
|
+
|
|
214
|
+
// Save console logs
|
|
215
|
+
fs.writeFileSync(path.join(artifactDir, 'console.log'), consoleLogs.join('\n'), 'utf-8');
|
|
216
|
+
|
|
217
|
+
// Save network summary
|
|
218
|
+
fs.writeFileSync(path.join(artifactDir, 'network.json'), JSON.stringify(networkRequests, null, 2), 'utf-8');
|
|
219
|
+
|
|
220
|
+
console.log(`Debug artifacts saved to: ${artifactDir}`);
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
});
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Usage in Tests**:
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
// tests/e2e/payment-with-debug.spec.ts
|
|
230
|
+
import { test, expect } from '../support/fixtures/debug-fixture';
|
|
231
|
+
|
|
232
|
+
test('payment flow captures debug artifacts on failure', async ({ page, captureDebugArtifacts }) => {
|
|
233
|
+
await page.goto('/checkout');
|
|
234
|
+
|
|
235
|
+
// Test will automatically capture console + network on failure
|
|
236
|
+
await page.getByTestId('submit-payment').click();
|
|
237
|
+
await expect(page.getByTestId('success-message')).toBeVisible({ timeout: 5000 });
|
|
238
|
+
|
|
239
|
+
// If this fails, console.log and network.json saved automatically
|
|
240
|
+
});
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**CI Integration (GitHub Actions)**:
|
|
244
|
+
|
|
245
|
+
```yaml
|
|
246
|
+
# .github/workflows/e2e.yml
|
|
247
|
+
name: E2E Tests with Artifacts
|
|
248
|
+
on: [push, pull_request]
|
|
249
|
+
|
|
250
|
+
jobs:
|
|
251
|
+
test:
|
|
252
|
+
runs-on: ubuntu-latest
|
|
253
|
+
steps:
|
|
254
|
+
- uses: actions/checkout@v4
|
|
255
|
+
- uses: actions/setup-node@v4
|
|
256
|
+
with:
|
|
257
|
+
node-version-file: '.nvmrc'
|
|
258
|
+
|
|
259
|
+
- name: Install dependencies
|
|
260
|
+
run: npm ci
|
|
261
|
+
|
|
262
|
+
- name: Run Playwright tests
|
|
263
|
+
run: npm run test:e2e
|
|
264
|
+
continue-on-error: true # Capture artifacts even on failure
|
|
265
|
+
|
|
266
|
+
- name: Upload test artifacts on failure
|
|
267
|
+
if: failure()
|
|
268
|
+
uses: actions/upload-artifact@v4
|
|
269
|
+
with:
|
|
270
|
+
name: playwright-artifacts
|
|
271
|
+
path: |
|
|
272
|
+
test-results/
|
|
273
|
+
playwright-report/
|
|
274
|
+
retention-days: 30
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Key Points**:
|
|
278
|
+
|
|
279
|
+
- Fixtures automatically capture context without polluting test code
|
|
280
|
+
- Only saves artifacts on failure (storage-efficient)
|
|
281
|
+
- CI uploads artifacts for post-mortem analysis
|
|
282
|
+
- `continue-on-error: true` ensures artifact upload even when tests fail
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### Example 4: Accessibility Debugging Integration (axe-core in Trace Viewer)
|
|
287
|
+
|
|
288
|
+
**Context**: Catch accessibility regressions during visual debugging
|
|
289
|
+
|
|
290
|
+
**Implementation**:
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
// playwright/support/fixtures/a11y-fixture.ts
|
|
294
|
+
import { test as base } from '@playwright/test';
|
|
295
|
+
import AxeBuilder from '@axe-core/playwright';
|
|
296
|
+
|
|
297
|
+
type A11yFixture = {
|
|
298
|
+
checkA11y: () => Promise<void>;
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
export const test = base.extend<A11yFixture>({
|
|
302
|
+
checkA11y: async ({ page }, use) => {
|
|
303
|
+
await use(async () => {
|
|
304
|
+
// Run axe accessibility scan
|
|
305
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
306
|
+
|
|
307
|
+
// Attach results to test report (visible in trace viewer)
|
|
308
|
+
if (results.violations.length > 0) {
|
|
309
|
+
console.log(`Found ${results.violations.length} accessibility violations:`);
|
|
310
|
+
results.violations.forEach((violation) => {
|
|
311
|
+
console.log(`- [${violation.impact}] ${violation.id}: ${violation.description}`);
|
|
312
|
+
console.log(` Help: ${violation.helpUrl}`);
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
throw new Error(`Accessibility violations found: ${results.violations.length}`);
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
},
|
|
319
|
+
});
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
**Usage with Visual Debugging**:
|
|
323
|
+
|
|
324
|
+
```typescript
|
|
325
|
+
// tests/e2e/checkout-a11y.spec.ts
|
|
326
|
+
import { test, expect } from '../support/fixtures/a11y-fixture';
|
|
327
|
+
|
|
328
|
+
test('checkout page is accessible', async ({ page, checkA11y }) => {
|
|
329
|
+
await page.goto('/checkout');
|
|
330
|
+
|
|
331
|
+
// Verify page loaded
|
|
332
|
+
await expect(page.getByRole('heading', { name: 'Checkout' })).toBeVisible();
|
|
333
|
+
|
|
334
|
+
// Run accessibility check
|
|
335
|
+
await checkA11y();
|
|
336
|
+
|
|
337
|
+
// If violations found, test fails and trace captures:
|
|
338
|
+
// - Screenshot showing the problematic element
|
|
339
|
+
// - Console log with violation details
|
|
340
|
+
// - Network tab showing any failed resource loads
|
|
341
|
+
});
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
**Trace Viewer Benefits**:
|
|
345
|
+
|
|
346
|
+
- **Screenshot shows visual context** of accessibility issue (contrast, missing labels)
|
|
347
|
+
- **Console tab shows axe-core violations** with impact level and helpUrl
|
|
348
|
+
- **DOM snapshot** allows inspecting ARIA attributes at failure point
|
|
349
|
+
- **Network tab** reveals if icon fonts or images failed (common a11y issue)
|
|
350
|
+
|
|
351
|
+
**Cypress Equivalent**:
|
|
352
|
+
|
|
353
|
+
```javascript
|
|
354
|
+
// cypress/support/commands.ts
|
|
355
|
+
import 'cypress-axe';
|
|
356
|
+
|
|
357
|
+
Cypress.Commands.add('checkA11y', (context = null, options = {}) => {
|
|
358
|
+
cy.injectAxe(); // Inject axe-core
|
|
359
|
+
cy.checkA11y(context, options, (violations) => {
|
|
360
|
+
if (violations.length) {
|
|
361
|
+
cy.task('log', `Found ${violations.length} accessibility violations`);
|
|
362
|
+
violations.forEach((violation) => {
|
|
363
|
+
cy.task('log', `- [${violation.impact}] ${violation.id}: ${violation.description}`);
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
// tests/e2e/checkout-a11y.cy.ts
|
|
370
|
+
describe('Checkout Accessibility', () => {
|
|
371
|
+
it('should have no a11y violations', () => {
|
|
372
|
+
cy.visit('/checkout');
|
|
373
|
+
cy.injectAxe();
|
|
374
|
+
cy.checkA11y();
|
|
375
|
+
// On failure, Cypress UI shows:
|
|
376
|
+
// - Screenshot of page
|
|
377
|
+
// - Console log with violation details
|
|
378
|
+
// - Network tab with API calls
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**Key Points**:
|
|
384
|
+
|
|
385
|
+
- Accessibility checks integrate seamlessly with visual debugging
|
|
386
|
+
- Violations are captured in trace viewer/Cypress UI automatically
|
|
387
|
+
- Provides actionable links (helpUrl) to fix issues
|
|
388
|
+
- Screenshots show visual context (contrast, layout)
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
### Example 5: Time-Travel Debugging Workflow (Playwright Inspector)
|
|
393
|
+
|
|
394
|
+
**Context**: Debug tests interactively with step-through execution
|
|
395
|
+
|
|
396
|
+
**Implementation**:
|
|
397
|
+
|
|
398
|
+
```typescript
|
|
399
|
+
// tests/e2e/checkout-debug.spec.ts
|
|
400
|
+
import { test, expect } from '@playwright/test';
|
|
401
|
+
|
|
402
|
+
test('debug checkout flow step-by-step', async ({ page }) => {
|
|
403
|
+
// Set breakpoint by uncommenting this:
|
|
404
|
+
// await page.pause()
|
|
405
|
+
|
|
406
|
+
await page.goto('/checkout');
|
|
407
|
+
|
|
408
|
+
// Use Playwright Inspector to:
|
|
409
|
+
// 1. Step through each action
|
|
410
|
+
// 2. Inspect DOM at each step
|
|
411
|
+
// 3. View network calls per action
|
|
412
|
+
// 4. Take screenshots manually
|
|
413
|
+
|
|
414
|
+
await page.getByTestId('payment-method').selectOption('credit-card');
|
|
415
|
+
|
|
416
|
+
// Pause here to inspect form state
|
|
417
|
+
// await page.pause()
|
|
418
|
+
|
|
419
|
+
await page.getByTestId('card-number').fill('4242424242424242');
|
|
420
|
+
await page.getByTestId('submit-payment').click();
|
|
421
|
+
|
|
422
|
+
await expect(page.getByTestId('success-message')).toBeVisible();
|
|
423
|
+
});
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Running with Inspector**:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Open Playwright Inspector (GUI debugger)
|
|
430
|
+
npx playwright test --debug
|
|
431
|
+
|
|
432
|
+
# Or use headed mode with slowMo
|
|
433
|
+
npx playwright test --headed --slow-mo=1000
|
|
434
|
+
|
|
435
|
+
# Debug specific test
|
|
436
|
+
npx playwright test checkout-debug.spec.ts --debug
|
|
437
|
+
|
|
438
|
+
# Set environment variable for persistent debugging
|
|
439
|
+
PWDEBUG=1 npx playwright test
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**Inspector Features**:
|
|
443
|
+
|
|
444
|
+
1. **Step-through execution**: Click "Next" to execute one action at a time
|
|
445
|
+
2. **DOM inspector**: Hover over elements to see selectors
|
|
446
|
+
3. **Network panel**: See API calls with timing
|
|
447
|
+
4. **Console panel**: View console.log output
|
|
448
|
+
5. **Pick locator**: Click element in browser to get selector
|
|
449
|
+
6. **Record mode**: Record interactions to generate test code
|
|
450
|
+
|
|
451
|
+
**Common Debugging Patterns**:
|
|
452
|
+
|
|
453
|
+
```typescript
|
|
454
|
+
// Pattern 1: Debug selector issues
|
|
455
|
+
test('debug selector', async ({ page }) => {
|
|
456
|
+
await page.goto('/dashboard');
|
|
457
|
+
await page.pause(); // Inspector opens
|
|
458
|
+
|
|
459
|
+
// In Inspector console, test selectors:
|
|
460
|
+
// page.getByTestId('user-menu') ✅
|
|
461
|
+
// page.getByRole('button', { name: 'Profile' }) ✅
|
|
462
|
+
// page.locator('.btn-primary') ❌ (fragile)
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
// Pattern 2: Debug timing issues
|
|
466
|
+
test('debug network timing', async ({ page }) => {
|
|
467
|
+
await page.goto('/dashboard');
|
|
468
|
+
|
|
469
|
+
// Set up network listener BEFORE interaction
|
|
470
|
+
const responsePromise = page.waitForResponse('**/api/users');
|
|
471
|
+
await page.getByTestId('load-users').click();
|
|
472
|
+
|
|
473
|
+
await page.pause(); // Check network panel for timing
|
|
474
|
+
|
|
475
|
+
const response = await responsePromise;
|
|
476
|
+
expect(response.status()).toBe(200);
|
|
477
|
+
});
|
|
478
|
+
|
|
479
|
+
// Pattern 3: Debug state changes
|
|
480
|
+
test('debug state mutation', async ({ page }) => {
|
|
481
|
+
await page.goto('/cart');
|
|
482
|
+
|
|
483
|
+
// Check initial state
|
|
484
|
+
await expect(page.getByTestId('cart-count')).toHaveText('0');
|
|
485
|
+
|
|
486
|
+
await page.pause(); // Inspect DOM
|
|
487
|
+
|
|
488
|
+
await page.getByTestId('add-to-cart').click();
|
|
489
|
+
|
|
490
|
+
await page.pause(); // Inspect DOM again (compare state)
|
|
491
|
+
|
|
492
|
+
await expect(page.getByTestId('cart-count')).toHaveText('1');
|
|
493
|
+
});
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**Key Points**:
|
|
497
|
+
|
|
498
|
+
- `page.pause()` opens Inspector at that exact moment
|
|
499
|
+
- Inspector shows DOM state, network activity, console at pause point
|
|
500
|
+
- "Pick locator" feature helps find robust selectors
|
|
501
|
+
- Record mode generates test code from manual interactions
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## Visual Debugging Checklist
|
|
506
|
+
|
|
507
|
+
Before deploying tests to CI, ensure:
|
|
508
|
+
|
|
509
|
+
- [ ] **Artifact configuration**: `trace: 'on-first-retry'`, `screenshot: 'only-on-failure'`, `video: 'retain-on-failure'`
|
|
510
|
+
- [ ] **CI artifact upload**: GitHub Actions/GitLab CI configured to upload `test-results/` and `playwright-report/`
|
|
511
|
+
- [ ] **HAR recording**: Set up for flaky API tests (record once, replay deterministically)
|
|
512
|
+
- [ ] **Custom debug fixtures**: Console logs + network summary captured on failure
|
|
513
|
+
- [ ] **Accessibility integration**: axe-core violations visible in trace viewer
|
|
514
|
+
- [ ] **Trace viewer docs**: README explains how to open traces locally (`npx playwright show-trace`)
|
|
515
|
+
- [ ] **Inspector workflow**: Document `--debug` flag for interactive debugging
|
|
516
|
+
- [ ] **Storage optimization**: Artifacts deleted after 30 days (CI retention policy)
|
|
517
|
+
|
|
518
|
+
## Integration Points
|
|
519
|
+
|
|
520
|
+
- **Used in workflows**: `*framework` (initial setup), `*ci` (artifact upload), `*test-review` (validate artifact config)
|
|
521
|
+
- **Related fragments**: `playwright-config.md` (artifact configuration), `ci-burn-in.md` (CI artifact upload), `test-quality.md` (debugging best practices)
|
|
522
|
+
- **Tools**: Playwright Trace Viewer, Cypress Debug UI, axe-core, HAR files
|
|
523
|
+
|
|
524
|
+
_Source: Playwright official docs, Murat testing philosophy (visual debugging manifesto), SEON production debugging patterns_
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
id,name,description,tags,fragment_file
|
|
2
|
+
fixture-architecture,Fixture Architecture,"Composable fixture patterns (pure function → fixture → merge) and reuse rules","fixtures,architecture,playwright,cypress",knowledge/fixture-architecture.md
|
|
3
|
+
network-first,Network-First Safeguards,"Intercept-before-navigate workflow, HAR capture, deterministic waits, edge mocking","network,stability,playwright,cypress",knowledge/network-first.md
|
|
4
|
+
data-factories,Data Factories and API Setup,"Factories with overrides, API seeding, cleanup discipline","data,factories,setup,api",knowledge/data-factories.md
|
|
5
|
+
component-tdd,Component TDD Loop,"Red→green→refactor workflow, provider isolation, accessibility assertions","component-testing,tdd,ui",knowledge/component-tdd.md
|
|
6
|
+
playwright-config,Playwright Config Guardrails,"Environment switching, timeout standards, artifact outputs","playwright,config,env",knowledge/playwright-config.md
|
|
7
|
+
ci-burn-in,CI and Burn-In Strategy,"Staged jobs, shard orchestration, burn-in loops, artifact policy","ci,automation,flakiness",knowledge/ci-burn-in.md
|
|
8
|
+
selective-testing,Selective Test Execution,"Tag/grep usage, spec filters, diff-based runs, promotion rules","risk-based,selection,strategy",knowledge/selective-testing.md
|
|
9
|
+
feature-flags,Feature Flag Governance,"Enum management, targeting helpers, cleanup, release checklists","feature-flags,governance,launchdarkly",knowledge/feature-flags.md
|
|
10
|
+
contract-testing,Contract Testing Essentials,"Pact publishing, provider verification, resilience coverage","contract-testing,pact,api",knowledge/contract-testing.md
|
|
11
|
+
email-auth,Email Authentication Testing,"Magic link extraction, state preservation, caching, negative flows","email-authentication,security,workflow",knowledge/email-auth.md
|
|
12
|
+
error-handling,Error Handling Checks,"Scoped exception handling, retry validation, telemetry logging","resilience,error-handling,stability",knowledge/error-handling.md
|
|
13
|
+
visual-debugging,Visual Debugging Toolkit,"Trace viewer usage, artifact expectations, accessibility integration","debugging,dx,tooling",knowledge/visual-debugging.md
|
|
14
|
+
risk-governance,Risk Governance,"Scoring matrix, category ownership, gate decision rules","risk,governance,gates",knowledge/risk-governance.md
|
|
15
|
+
probability-impact,Probability and Impact Scale,"Shared definitions for scoring matrix and gate thresholds","risk,scoring,scale",knowledge/probability-impact.md
|
|
16
|
+
test-quality,Test Quality Definition of Done,"Execution limits, isolation rules, green criteria","quality,definition-of-done,tests",knowledge/test-quality.md
|
|
17
|
+
nfr-criteria,NFR Review Criteria,"Security, performance, reliability, maintainability status definitions","nfr,assessment,quality",knowledge/nfr-criteria.md
|
|
18
|
+
test-levels,Test Levels Framework,"Guidelines for choosing unit, integration, or end-to-end coverage","testing,levels,selection",knowledge/test-levels-framework.md
|
|
19
|
+
test-priorities,Test Priorities Matrix,"P0–P3 criteria, coverage targets, execution ordering","testing,prioritization,risk",knowledge/test-priorities-matrix.md
|
|
20
|
+
test-healing-patterns,Test Healing Patterns,"Common failure patterns and automated fixes","healing,debugging,patterns",knowledge/test-healing-patterns.md
|
|
21
|
+
selector-resilience,Selector Resilience,"Robust selector strategies and debugging techniques","selectors,locators,debugging",knowledge/selector-resilience.md
|
|
22
|
+
timing-debugging,Timing Debugging,"Race condition identification and deterministic wait fixes","timing,async,debugging",knowledge/timing-debugging.md
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
last-redoc-date: 2025-10-01
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Game Brainstorming Workflow
|
|
6
|
+
|
|
7
|
+
This workflow employs structured ideation methodologies to generate and refine game concepts through systematic creative exploration. It leverages five distinct brainstorming techniques—SCAMPER, Mind Mapping, Lotus Blossom, Six Thinking Hats, and Random Word Association—each applied in isolation to produce diverse conceptual approaches. The workflow emphasizes iterative refinement where initial concepts are evaluated against design pillars, technical feasibility, and market positioning to identify the most promising directions.
|
|
8
|
+
|
|
9
|
+
The system operates through a game-specific context framework that considers platform constraints, target audience characteristics, monetization models, and core gameplay pillars. Each brainstorming method generates distinct artifacts: SCAMPER produces systematic modification analyses, Mind Mapping reveals conceptual hierarchies, Lotus Blossom creates radial expansion patterns, Six Thinking Hats enforces multi-perspective evaluation, and Random Word Association drives lateral thinking breakthroughs. The workflow culminates in a consolidated concept document that synthesizes the strongest elements from each method into cohesive game proposals.
|
|
10
|
+
|
|
11
|
+
Critical to this workflow is its emphasis on constraint-driven creativity. The game-context.md framework establishes technical boundaries (platform capabilities, performance targets), market parameters (genre conventions, competitive positioning), and design philosophy (accessibility requirements, monetization ethics) that ground creative exploration in practical realities. This prevents ideation from drifting into infeasible territory while maintaining creative ambition.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bmad bmm 1-analysis brainstorm-game
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Inputs
|
|
20
|
+
|
|
21
|
+
- **Game Context Document**: Platform specifications, genre preferences, technical constraints, target audience demographics, monetization approach, and core design pillars
|
|
22
|
+
- **Initial Concept Seed** (optional): High-level game idea or theme to guide brainstorming direction
|
|
23
|
+
|
|
24
|
+
## Outputs
|
|
25
|
+
|
|
26
|
+
- **Method-Specific Artifacts**: Five separate brainstorming documents, each applying a different ideation methodology to the concept space
|
|
27
|
+
- **Consolidated Concept Document**: Synthesized game concepts with feasibility assessments, unique value propositions, and recommended next steps
|
|
28
|
+
- **Design Pillar Alignment Matrix**: Evaluation of each concept against stated design objectives and technical constraints
|
|
29
|
+
|
|
30
|
+
## Brainstorming Methods
|
|
31
|
+
|
|
32
|
+
| Method | Focus | Output Characteristics |
|
|
33
|
+
| ----------------------- | ------------------------ | ---------------------------------- |
|
|
34
|
+
| SCAMPER | Systematic modification | Structured transformation analysis |
|
|
35
|
+
| Mind Mapping | Hierarchical exploration | Visual concept relationships |
|
|
36
|
+
| Lotus Blossom | Radial expansion | Layered thematic development |
|
|
37
|
+
| Six Thinking Hats | Multi-perspective | Balanced evaluation framework |
|
|
38
|
+
| Random Word Association | Lateral thinking | Unexpected conceptual combinations |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
category,technique_name,description,facilitation_prompts,best_for,energy_level,typical_duration
|
|
2
|
+
game_design,MDA Framework Exploration,Explore game concepts through Mechanics-Dynamics-Aesthetics lens to ensure cohesive design from implementation to player experience,What mechanics create the core loop?|What dynamics emerge from these mechanics?|What aesthetic experience results?|How do they align?,holistic-design,moderate,20-30
|
|
3
|
+
game_design,Core Loop Brainstorming,Design the fundamental moment-to-moment gameplay loop that players repeat - the heartbeat of your game,What does the player do?|What's the immediate reward?|Why do it again?|How does it evolve?,gameplay-foundation,high,15-25
|
|
4
|
+
game_design,Player Fantasy Mining,Identify and amplify the core fantasy that players want to embody - what makes them feel powerful and engaged,What fantasy does the player live?|What makes them feel awesome?|What power do they wield?|What identity do they assume?,player-motivation,high,15-20
|
|
5
|
+
game_design,Genre Mashup,Combine unexpected game genres to create innovative hybrid experiences that offer fresh gameplay,Take two unrelated genres|How do they merge?|What unique gameplay emerges?|What's the hook?,innovation,high,15-20
|
|
6
|
+
game_design,Verbs Before Nouns,Focus on what players DO before what things ARE - prioritize actions over objects for engaging gameplay,What verbs define your game?|What actions feel good?|Build mechanics from verbs|Nouns support actions,mechanics-first,moderate,20-25
|
|
7
|
+
game_design,Failure State Design,Work backwards from interesting failure conditions to create tension and meaningful choices,How can players fail interestingly?|What makes failure feel fair?|How does failure teach?|Recovery mechanics?,challenge-design,moderate,15-20
|
|
8
|
+
game_design,Progression Curve Sculpting,Map the player's emotional and skill journey from tutorial to mastery - pace challenge and revelation,How does difficulty evolve?|When do we introduce concepts?|What's the skill ceiling?|How do we maintain flow?,pacing-balance,moderate,25-30
|
|
9
|
+
game_design,Emergence Engineering,Design simple rule interactions that create complex unexpected player-driven outcomes,What simple rules combine?|What emerges from interactions?|How do players surprise you?|Systemic possibilities?,depth-complexity,moderate,20-25
|
|
10
|
+
game_design,Accessibility Layers,Brainstorm how different skill levels and abilities can access your core experience meaningfully,Who might struggle with what?|What alternate inputs exist?|How do we preserve challenge?|Inclusive design options?,inclusive-design,moderate,20-25
|
|
11
|
+
game_design,Reward Schedule Architecture,Design the timing and type of rewards to maintain player motivation and engagement,What rewards when?|Variable or fixed schedule?|Intrinsic vs extrinsic rewards?|Progression satisfaction?,engagement-retention,moderate,20-30
|
|
12
|
+
narrative_game,Ludonarrative Harmony,Align story and gameplay so mechanics reinforce narrative themes - make meaning through play,What does gameplay express?|How do mechanics tell story?|Where do they conflict?|How to unify theme?,storytelling,moderate,20-25
|
|
13
|
+
narrative_game,Environmental Storytelling,Use world design and ambient details to convey narrative without explicit exposition,What does the space communicate?|What happened here before?|Visual narrative clues?|Show don't tell?,world-building,moderate,15-20
|
|
14
|
+
narrative_game,Player Agency Moments,Identify key decision points where player choice shapes narrative in meaningful ways,What choices matter?|How do consequences manifest?|Branch vs flavor choices?|Meaningful agency where?,player-choice,moderate,20-25
|
|
15
|
+
narrative_game,Emotion Targeting,Design specific moments intended to evoke targeted emotional responses through integrated design,What emotion when?|How do all elements combine?|Music + mechanics + narrative?|Orchestrated feelings?,emotional-design,high,20-30
|
|
16
|
+
systems_game,Economy Balancing Thought Experiments,Explore resource generation/consumption balance to prevent game-breaking exploits,What resources exist?|Generation vs consumption rates?|What loops emerge?|Where's the exploit?,economy-design,moderate,25-30
|
|
17
|
+
systems_game,Meta-Game Layer Design,Brainstorm progression systems that persist beyond individual play sessions,What carries over between sessions?|Long-term goals?|How does meta feed core loop?|Retention hooks?,retention-systems,moderate,20-25
|
|
18
|
+
multiplayer_game,Social Dynamics Mapping,Anticipate how players will interact and design mechanics that support desired social behaviors,How will players cooperate?|Competitive dynamics?|Toxic behavior prevention?|Positive interaction rewards?,social-design,moderate,20-30
|
|
19
|
+
multiplayer_game,Spectator Experience Design,Consider how watching others play can be entertaining - esports and streaming potential,What's fun to watch?|Readable visual clarity?|Highlight moments?|Narrative for observers?,spectator-value,moderate,15-20
|
|
20
|
+
creative_game,Constraint-Based Creativity,Embrace a specific limitation as your core design constraint and build everything around it,Pick a severe constraint|What if this was your ONLY mechanic?|Build a full game from limitation|Constraint as creativity catalyst,innovation,moderate,15-25
|
|
21
|
+
creative_game,Game Feel Playground,Focus purely on how controls and feedback FEEL before worrying about context or goals,What feels juicy to do?|Controller response?|Visual/audio feedback?|Satisfying micro-interactions?,game-feel,high,20-30
|
|
22
|
+
creative_game,One Button Game Challenge,Design interesting gameplay using only a single input - forces elegant simplicity,Only one button - what can it do?|Context changes meaning?|Timing variations?|Depth from simplicity?,minimalist-design,moderate,15-20
|
|
23
|
+
wild_game,Remix an Existing Game,Take a well-known game and twist one core element - what new experience emerges?,Pick a famous game|Change ONE fundamental rule|What ripples from that change?|New game from mutation?,rapid-prototyping,high,10-15
|
|
24
|
+
wild_game,Anti-Game Design,Design a game that deliberately breaks common conventions - subvert player expectations,What if we broke this rule?|Expectation subversion?|Anti-patterns as features?|Avant-garde possibilities?,experimental,moderate,15-20
|
|
25
|
+
wild_game,Physics Playground,Start with an interesting physics interaction and build a game around that sensation,What physics are fun to play with?|Build game from physics toy|Emergent physics gameplay?|Sensation first?,prototype-first,high,15-25
|
|
26
|
+
wild_game,Toy Before Game,Create a playful interactive toy with no goals first - then discover the game within it,What's fun to mess with?|No goals yet - just play|What game emerges organically?|Toy to game evolution?,discovery-design,high,20-30
|