bmad-method 5.1.2 → 6.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yaml +2 -2
- package/.github/ISSUE_TEMPLATE/config.yaml +1 -0
- package/.github/ISSUE_TEMPLATE/idea_submission.md +109 -0
- package/.github/workflows/discord.yaml +1 -10
- package/.github/workflows/format-check.yaml +3 -2
- package/.github/workflows/manual-release.yaml +2 -2
- package/.nvmrc +1 -0
- package/.vscode/settings.json +34 -9
- package/CHANGELOG.md +211 -577
- package/CONTRIBUTING.md +130 -60
- package/LICENSE +6 -1
- package/docs/codebase-flattener.md +19 -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 +32 -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/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 +196 -0
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +355 -0
- package/docs/installers-bundlers/web-bundler-usage.md +54 -0
- package/eslint.config.mjs +17 -7
- package/package.json +26 -35
- package/prettier.config.mjs +1 -1
- package/readme.md +216 -0
- package/src/core/_module-installer/install-menu-config.yaml +24 -0
- package/src/core/_module-installer/installer.js +68 -0
- package/src/core/agents/bmad-master.md +27 -0
- package/src/core/agents/bmad-web-orchestrator.md +71 -0
- package/src/core/tasks/adv-elicit-methods.csv +39 -0
- package/src/core/tasks/adv-elicit.md +109 -0
- package/src/core/tasks/index-docs.md +69 -0
- package/src/core/tasks/shard-doc.md +57 -0
- package/src/core/tasks/validate-workflow.md +92 -0
- package/src/core/tasks/workflow.md +141 -0
- package/src/core/workflows/bmad-init/instructions.md +79 -0
- package/src/core/workflows/bmad-init/workflow.yaml +24 -0
- package/src/core/workflows/party-mode/instructions.md +181 -0
- package/src/core/workflows/party-mode/workflow.yaml +24 -0
- package/src/modules/bmb/_module-installer/install-menu-config.yaml +16 -0
- package/src/modules/bmb/agents/bmad-builder.md +30 -0
- package/src/modules/bmb/workflows/convert-legacy/README.md +262 -0
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +204 -0
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +328 -0
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +35 -0
- package/src/modules/bmb/workflows/create-agent/README.md +268 -0
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +412 -0
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +757 -0
- package/src/modules/bmb/workflows/create-agent/agent-types.md +177 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +174 -0
- package/src/modules/bmb/workflows/create-agent/checklist.md +134 -0
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +240 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +340 -0
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +39 -0
- package/src/modules/bmb/workflows/create-module/README.md +218 -0
- package/src/modules/bmb/workflows/create-module/brainstorm-context.md +137 -0
- package/src/modules/bmb/workflows/create-module/checklist.md +245 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/install-module-config.yaml +132 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +231 -0
- package/src/modules/bmb/workflows/create-module/instructions.md +509 -0
- package/src/modules/bmb/workflows/create-module/module-structure.md +310 -0
- package/src/modules/bmb/workflows/create-module/workflow.yaml +47 -0
- package/src/modules/bmb/workflows/create-workflow/README.md +216 -0
- package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
- package/src/modules/bmb/workflows/create-workflow/checklist.md +72 -0
- package/src/modules/bmb/workflows/create-workflow/instructions.md +267 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +456 -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 +12 -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 +35 -0
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +42 -0
- package/src/modules/bmb/workflows/edit-workflow/README.md +63 -0
- package/src/modules/bmb/workflows/edit-workflow/checklist.md +70 -0
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +170 -0
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +34 -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 +265 -0
- package/src/modules/bmb/workflows/module-brief/template.md +275 -0
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +30 -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 +255 -0
- package/src/modules/bmb/workflows/redoc/workflow.yaml +33 -0
- package/src/modules/bmm/_module-installer/assets/bmm-kb.md +1 -0
- package/src/modules/bmm/_module-installer/assets/technical-decisions-template.md +30 -0
- package/src/modules/bmm/_module-installer/install-menu-config.yaml +49 -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.md +26 -0
- package/src/modules/bmm/agents/architect.md +29 -0
- package/src/modules/bmm/agents/dev.md +61 -0
- package/src/modules/bmm/agents/game-architect.md +26 -0
- package/src/modules/bmm/agents/game-designer.md +27 -0
- package/src/modules/bmm/agents/game-dev.md +28 -0
- package/src/modules/bmm/agents/pm.md +26 -0
- package/src/modules/bmm/agents/po.md +25 -0
- package/src/modules/bmm/agents/sm.md +29 -0
- package/src/modules/bmm/agents/tea.md +32 -0
- package/src/modules/bmm/agents/ux-expert.md +24 -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/api-documenter.md +85 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/codebase-analyzer.md +64 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/data-analyst.md +84 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/dependency-mapper.md +67 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/document-reviewer.md +85 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/epic-optimizer.md +66 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/market-researcher.md +34 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/pattern-detector.md +67 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/requirements-analyst.md +61 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/tech-debt-auditor.md +89 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-decisions-curator.md +146 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-evaluator.md +51 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/test-coverage-analyzer.md +91 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/trend-spotter.md +99 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-journey-mapper.md +101 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-researcher.md +56 -0
- package/src/modules/bmm/tasks/daily-standup.md +91 -0
- package/src/modules/bmm/tasks/retrospective.md +110 -0
- package/src/modules/bmm/teams/team-all.yaml +7 -0
- package/src/modules/bmm/teams/team-dev.yaml +14 -0
- package/src/modules/bmm/teams/team-gamedev.yaml +9 -0
- package/src/modules/bmm/testarch/atdd.md +40 -0
- package/src/modules/bmm/testarch/automate.md +38 -0
- package/src/modules/bmm/testarch/ci.md +39 -0
- package/src/modules/bmm/testarch/framework.md +41 -0
- package/src/modules/bmm/testarch/nfr-assess.md +38 -0
- package/src/modules/bmm/testarch/risk-profile.md +38 -0
- package/src/modules/bmm/testarch/tea-commands.csv +11 -0
- package/src/modules/bmm/testarch/tea-gate.md +38 -0
- package/src/modules/bmm/testarch/tea-knowledge.md +275 -0
- package/src/modules/bmm/testarch/test-design.md +39 -0
- package/{bmad-core/data → src/modules/bmm/testarch}/test-levels-framework.md +2 -0
- package/{bmad-core/data → src/modules/bmm/testarch}/test-priorities-matrix.md +2 -0
- package/src/modules/bmm/testarch/trace-requirements.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 +47 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +22 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +38 -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 +21 -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 +517 -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 +34 -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 +353 -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 +33 -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 +370 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +553 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +91 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +442 -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 +149 -0
- package/src/modules/bmm/workflows/2-plan/README.md +203 -0
- package/src/modules/bmm/workflows/2-plan/checklist.md +369 -0
- package/src/modules/bmm/workflows/2-plan/gdd/README.md +222 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/action-platformer.md +45 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/adventure.md +84 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/card-game.md +76 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/fighting.md +89 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/horror.md +86 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/idle-incremental.md +78 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/metroidvania.md +87 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/moba.md +74 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/party-game.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/puzzle.md +58 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/racing.md +88 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/rhythm.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/roguelike.md +69 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/rpg.md +70 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/sandbox.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/shooter.md +62 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/simulation.md +73 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/sports.md +75 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/strategy.md +71 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/survival.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/text-based.md +91 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/tower-defense.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/turn-based-tactics.md +88 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/visual-novel.md +89 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types.csv +25 -0
- package/src/modules/bmm/workflows/2-plan/gdd/gdd-template.md +159 -0
- package/src/modules/bmm/workflows/2-plan/gdd/instructions-gdd.md +480 -0
- package/src/modules/bmm/workflows/2-plan/instructions-router.md +222 -0
- package/src/modules/bmm/workflows/2-plan/narrative/instructions-narrative.md +517 -0
- package/src/modules/bmm/workflows/2-plan/narrative/narrative-template.md +195 -0
- package/src/modules/bmm/workflows/2-plan/prd/analysis-template.md +53 -0
- package/src/modules/bmm/workflows/2-plan/prd/epics-template.md +18 -0
- package/src/modules/bmm/workflows/2-plan/prd/instructions-lg.md +267 -0
- package/src/modules/bmm/workflows/2-plan/prd/instructions-med.md +251 -0
- package/src/modules/bmm/workflows/2-plan/prd/prd-template.md +73 -0
- package/src/modules/bmm/workflows/2-plan/tech-spec/instructions-sm.md +137 -0
- package/src/modules/bmm/workflows/2-plan/tech-spec/tech-spec-template.md +59 -0
- package/src/modules/bmm/workflows/2-plan/ux/instructions-ux.md +360 -0
- package/src/modules/bmm/workflows/2-plan/ux/ux-spec-template.md +162 -0
- package/src/modules/bmm/workflows/2-plan/workflow.yaml +60 -0
- package/src/modules/bmm/workflows/3-solutioning/ADR-template.md +74 -0
- package/src/modules/bmm/workflows/3-solutioning/README.md +565 -0
- package/src/modules/bmm/workflows/3-solutioning/checklist.md +170 -0
- package/src/modules/bmm/workflows/3-solutioning/instructions.md +661 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/backend-questions.md +490 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/cli-questions.md +337 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/data-questions.md +472 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/desktop-questions.md +299 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/embedded-questions.md +118 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/extension-questions.md +374 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/game-questions.md +133 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/infra-questions.md +484 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/library-questions.md +146 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/mobile-questions.md +110 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/project-types.csv +12 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/web-questions.md +136 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/README.md +195 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/checklist.md +17 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/instructions.md +73 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/template.md +76 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/workflow.yaml +51 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/backend-service-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/cli-tool-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/data-pipeline-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/desktop-app-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/embedded-firmware-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-architecture.md +244 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-godot-guide.md +428 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-unity-guide.md +333 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-web-guide.md +528 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/infrastructure-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/library-package-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/mobile-app-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/registry.csv +172 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/web-api-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/web-fullstack-architecture.md +277 -0
- package/src/modules/bmm/workflows/3-solutioning/workflow.yaml +65 -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 +190 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +35 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +42 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +39 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +81 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +57 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +72 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +84 -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 +87 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +53 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +391 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +41 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/README.md +72 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/backlog_template.md +12 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/checklist.md +22 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +176 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +99 -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 +76 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +56 -0
- package/src/modules/cis/_module-installer/install-menu-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.md +24 -0
- package/src/modules/cis/agents/creative-problem-solver.md +24 -0
- package/src/modules/cis/agents/design-thinking-coach.md +24 -0
- package/src/modules/cis/agents/innovation-strategist.md +24 -0
- package/src/modules/cis/agents/storyteller.md +24 -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/brainstorming/README.md +271 -0
- package/src/modules/cis/workflows/brainstorming/brain-methods.csv +36 -0
- package/src/modules/cis/workflows/brainstorming/instructions.md +310 -0
- package/src/modules/cis/workflows/brainstorming/template.md +102 -0
- package/src/modules/cis/workflows/brainstorming/workflow.yaml +30 -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 +29 -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 +29 -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 +29 -0
- package/src/modules/cis/workflows/storytelling/README.md +58 -0
- package/src/modules/cis/workflows/storytelling/instructions.md +275 -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 +29 -0
- package/src/utility/models/agent-activation-ide.xml +51 -0
- package/src/utility/models/agent-config-template.md +23 -0
- package/tools/cli/bmad-cli.js +42 -0
- package/tools/cli/bundlers/bundle-web.js +157 -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 +880 -0
- package/tools/cli/commands/install.js +41 -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 +383 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +721 -0
- package/tools/cli/installers/lib/core/detector.js +208 -0
- package/tools/cli/installers/lib/core/installer.js +1070 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +385 -0
- package/tools/cli/installers/lib/core/manifest.js +484 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +281 -0
- package/tools/cli/installers/lib/ide/auggie.js +271 -0
- package/tools/cli/installers/lib/ide/claude-code.js +625 -0
- package/tools/cli/installers/lib/ide/cline.js +301 -0
- package/tools/cli/installers/lib/ide/codex.js +267 -0
- package/tools/cli/installers/lib/ide/crush.js +204 -0
- package/tools/cli/installers/lib/ide/cursor.js +224 -0
- package/tools/cli/installers/lib/ide/gemini.js +160 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +289 -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 +203 -0
- package/tools/cli/installers/lib/ide/qwen.js +188 -0
- package/tools/cli/installers/lib/ide/roo.js +288 -0
- package/tools/cli/installers/lib/ide/trae.js +182 -0
- package/tools/cli/installers/lib/ide/windsurf.js +149 -0
- package/tools/cli/installers/lib/ide/workflow-command-generator.js +162 -0
- package/tools/cli/installers/lib/ide/workflow-command-template.md +11 -0
- package/tools/cli/installers/lib/modules/manager.js +452 -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 +516 -0
- package/tools/cli/lib/xml-handler.js +183 -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/regenerate-manifests.js +28 -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/platform-codes.yaml +127 -0
- package/tools/test-agents/captain-kirk-commander.md +110 -0
- package/tools/test-agents/data-operations-android.md +123 -0
- package/tools/test-agents/geordi-chief-engineer.md +135 -0
- package/tools/test-agents/isabella-martinez-ethicist.md +109 -0
- package/tools/test-agents/marcus-thompson-security.md +109 -0
- package/tools/test-agents/maya-patel-pragmatist.md +82 -0
- package/tools/test-agents/picard-diplomat-captain.md +134 -0
- package/tools/test-agents/spock-science-officer.md +124 -0
- package/tools/test-agents/william-smithers-technocrat.md +71 -0
- package/tools/test-agents/zara-chen-designer.md +94 -0
- package/tools/validate-bundles.js +87 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/README.md +0 -221
- 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/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 -32
- package/tools/bmad-npx-wrapper.js +0 -39
- 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,275 @@
|
|
|
1
|
+
<!-- Powered by BMAD-CORE™ -->
|
|
2
|
+
|
|
3
|
+
# Murat Test Architecture Foundations (Slim Brief)
|
|
4
|
+
|
|
5
|
+
This brief distills Murat Ozcan's testing philosophy used by the Test Architect agent. Use it as the north star after loading `tea-commands.csv`.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
- Cost vs confidence: cost = creation + execution + maintenance. Push confidence where impact is highest and skip redundant checks.
|
|
10
|
+
- Engineering assumes failure: predict what breaks, defend with tests, learn from every failure. A single failing test means the software is not ready.
|
|
11
|
+
- Quality is team work. Story estimates include testing, documentation, and deployment work required to ship safely.
|
|
12
|
+
- Missing test coverage is feature debt (hurts customers), not mere tech debt—treat it with the same urgency as functionality gaps.
|
|
13
|
+
- Shared mutable state is the source of all evil: design fixtures and helpers so each test owns its data.
|
|
14
|
+
- Composition over inheritance: prefer functional helpers and fixtures that compose behaviour; page objects and deep class trees hide duplication.
|
|
15
|
+
- Setup via API, assert via UI. Keep tests user-centric while priming state through fast interfaces.
|
|
16
|
+
- One test = one concern. Explicit assertions live in the test body, not buried in helpers.
|
|
17
|
+
|
|
18
|
+
## Patterns & Heuristics
|
|
19
|
+
|
|
20
|
+
- Selector order: `data-cy` / `data-testid` -> ARIA -> text. Avoid brittle CSS, IDs, or index based locators.
|
|
21
|
+
- Network boundary is the mock boundary. Stub at the edge, never mid-service unless risk demands.
|
|
22
|
+
- **Network-first pattern**: ALWAYS intercept before navigation: `const call = interceptNetwork(); await page.goto(); await call;`
|
|
23
|
+
- Deterministic waits only: await specific network responses, elements disappearing, or event hooks. Ban fixed sleeps.
|
|
24
|
+
- **Fixture architecture (The Murat Way)**:
|
|
25
|
+
```typescript
|
|
26
|
+
// 1. Pure function first (testable independently)
|
|
27
|
+
export async function apiRequest({ request, method, url, data }) {
|
|
28
|
+
/* implementation */
|
|
29
|
+
}
|
|
30
|
+
// 2. Fixture wrapper
|
|
31
|
+
export const apiRequestFixture = base.extend({
|
|
32
|
+
apiRequest: async ({ request }, use) => {
|
|
33
|
+
await use((params) => apiRequest({ request, ...params }));
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
// 3. Compose via mergeTests
|
|
37
|
+
export const test = mergeTests(base, apiRequestFixture, authFixture, networkFixture);
|
|
38
|
+
```
|
|
39
|
+
- **Data factories pattern**:
|
|
40
|
+
```typescript
|
|
41
|
+
export const createUser = (overrides = {}) => ({
|
|
42
|
+
id: faker.string.uuid(),
|
|
43
|
+
email: faker.internet.email(),
|
|
44
|
+
...overrides,
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
- Visual debugging: keep component/test runner UIs available (Playwright trace viewer, Cypress runner) to accelerate feedback.
|
|
48
|
+
|
|
49
|
+
## Risk & Coverage
|
|
50
|
+
|
|
51
|
+
- Risk score = probability (1-3) × impact (1-3). Score 9 => gate FAIL, ≥6 => CONCERNS. Most stories have 0-1 high risks.
|
|
52
|
+
- Test level ratio: heavy unit/component coverage, but always include E2E for critical journeys and integration seams.
|
|
53
|
+
- Traceability looks for reality: map each acceptance criterion to concrete tests and flag missing coverage or duplicate value.
|
|
54
|
+
- NFR focus areas: Security, Performance, Reliability, Maintainability. Demand evidence (tests, telemetry, alerts) before approving.
|
|
55
|
+
|
|
56
|
+
## Test Configuration
|
|
57
|
+
|
|
58
|
+
- **Timeouts**: actionTimeout 15s, navigationTimeout 30s, testTimeout 60s, expectTimeout 10s
|
|
59
|
+
- **Reporters**: HTML (never auto-open) + JUnit XML for CI integration
|
|
60
|
+
- **Media**: screenshot only-on-failure, video retain-on-failure
|
|
61
|
+
- **Language Matching**: Tests should match source code language (JS/TS frontend -> JS/TS tests)
|
|
62
|
+
|
|
63
|
+
## Automation & CI
|
|
64
|
+
|
|
65
|
+
- Prefer Playwright for multi-language teams, worker parallelism, rich debugging; Cypress suits smaller DX-first repos or component-heavy spikes.
|
|
66
|
+
- **Framework Selection**: Large repo + performance = Playwright, Small repo + DX = Cypress
|
|
67
|
+
- **Component Testing**: Large repos = Vitest (has UI, easy RTL conversion), Small repos = Cypress CT
|
|
68
|
+
- CI pipelines run lint -> unit -> component -> e2e, with selective reruns for flakes and artifacts (videos, traces) on failure.
|
|
69
|
+
- Shard suites to keep feedback tight; treat CI as shared safety net, not a bottleneck.
|
|
70
|
+
- Test selection ideas (32+ strategies): filter by tags/grep (`npm run test -- --grep "@smoke"`), file patterns (`--spec "**/*checkout*"`), changed files (`npm run test:changed`), or test level (`npm run test:unit` / `npm run test:e2e`).
|
|
71
|
+
- Burn-in testing: run new or changed specs multiple times (e.g., 3-10x) to flush flakes before they land in main.
|
|
72
|
+
- Keep helper scripts handy (`scripts/test-changed.sh`, `scripts/burn-in-changed.sh`) so CI and local workflows stay in sync.
|
|
73
|
+
|
|
74
|
+
## Project Structure & Config
|
|
75
|
+
|
|
76
|
+
- **Directory structure**:
|
|
77
|
+
```
|
|
78
|
+
project/
|
|
79
|
+
├── playwright.config.ts # Environment-based config loading
|
|
80
|
+
├── playwright/
|
|
81
|
+
│ ├── tests/ # All specs (group by domain: auth/, network/, feature-flags/…)
|
|
82
|
+
│ ├── support/ # Frequently touched helpers (global-setup, merged-fixtures, ui helpers, factories)
|
|
83
|
+
│ ├── config/ # Environment configs (base, local, staging, production)
|
|
84
|
+
│ └── scripts/ # Expert utilities (burn-in, record/playback, maintenance)
|
|
85
|
+
```
|
|
86
|
+
- **Environment config pattern**:
|
|
87
|
+
```javascript
|
|
88
|
+
const configs = {
|
|
89
|
+
local: require('./config/local.config'),
|
|
90
|
+
staging: require('./config/staging.config'),
|
|
91
|
+
prod: require('./config/prod.config'),
|
|
92
|
+
};
|
|
93
|
+
export default configs[process.env.TEST_ENV || 'local'];
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Test Hygiene & Independence
|
|
97
|
+
|
|
98
|
+
- Tests must be independent and stateless; never rely on execution order.
|
|
99
|
+
- Cleanup all data created during tests (afterEach or API cleanup).
|
|
100
|
+
- Ensure idempotency: same results every run.
|
|
101
|
+
- No shared mutable state; prefer factory functions per test.
|
|
102
|
+
- Tests must run in parallel safely; never commit `.only`.
|
|
103
|
+
- Prefer co-location: component tests next to components, integration in `tests/integration`, etc.
|
|
104
|
+
- Feature flags: centralise enum definitions (e.g., `export const FLAGS = Object.freeze({ NEW_FEATURE: 'new-feature' })`), provide helpers to set/clear targeting, and write dedicated flag tests that clean up targeting after each run.
|
|
105
|
+
|
|
106
|
+
## CCTDD (Component Test-Driven Development)
|
|
107
|
+
|
|
108
|
+
- Start with failing component test -> implement minimal component -> refactor.
|
|
109
|
+
- Component tests catch ~70% of bugs before integration.
|
|
110
|
+
- Use `cy.mount()` or `render()` to test components in isolation; focus on user interactions.
|
|
111
|
+
|
|
112
|
+
## CI Optimization Strategies
|
|
113
|
+
|
|
114
|
+
- **Parallel execution**: Split by test file, not test case.
|
|
115
|
+
- **Smart selection**: Run only tests affected by changes (dependency graphs, git diff).
|
|
116
|
+
- **Burn-in testing**: Run new/modified tests 3x to catch flakiness early.
|
|
117
|
+
- **HAR recording**: Record network traffic for offline playback in CI.
|
|
118
|
+
- **Selective reruns**: Only rerun failed specs, not entire suite.
|
|
119
|
+
- **Network recording**: capture HAR files during stable runs so CI can replay network traffic when external systems are flaky.
|
|
120
|
+
|
|
121
|
+
## Package Scripts
|
|
122
|
+
|
|
123
|
+
- **Essential npm scripts**:
|
|
124
|
+
```json
|
|
125
|
+
"test:e2e": "playwright test",
|
|
126
|
+
"test:unit": "vitest run",
|
|
127
|
+
"test:component": "cypress run --component",
|
|
128
|
+
"test:contract": "jest --testMatch='**/pact/*.spec.ts'",
|
|
129
|
+
"test:debug": "playwright test --headed",
|
|
130
|
+
"test:ci": "npm run test:unit && npm run test:e2e",
|
|
131
|
+
"contract:publish": "pact-broker publish"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Contract Testing (Pact)
|
|
135
|
+
|
|
136
|
+
- Use for microservices with integration points.
|
|
137
|
+
- Consumer generates contracts, provider verifies.
|
|
138
|
+
- Structure: `pact/` directory at root, `pact/config.ts` for broker settings.
|
|
139
|
+
- Reference repos: pact-js-example-consumer, pact-js-example-provider, pact-js-example-react-consumer.
|
|
140
|
+
|
|
141
|
+
## Online Resources & Examples
|
|
142
|
+
|
|
143
|
+
- Fixture architecture: https://github.com/muratkeremozcan/cy-vs-pw-murats-version
|
|
144
|
+
- Playwright patterns: https://github.com/muratkeremozcan/pw-book
|
|
145
|
+
- Component testing (CCTDD): https://github.com/muratkeremozcan/cctdd
|
|
146
|
+
- Contract testing: https://github.com/muratkeremozcan/pact-js-example-consumer
|
|
147
|
+
- Full app example: https://github.com/muratkeremozcan/tour-of-heroes-react-vite-cypress-ts
|
|
148
|
+
- Blog posts: https://dev.to/muratkeremozcan
|
|
149
|
+
|
|
150
|
+
## Risk Model Details
|
|
151
|
+
|
|
152
|
+
- TECH: Unmitigated architecture flaws, experimental patterns without fallbacks.
|
|
153
|
+
- SEC: Missing security controls, potential vulnerabilities, unsafe data handling.
|
|
154
|
+
- PERF: SLA-breaking slowdowns, resource exhaustion, lack of caching.
|
|
155
|
+
- DATA: Loss or corruption scenarios, migrations without rollback, inconsistent schemas.
|
|
156
|
+
- BUS: Business or user harm, revenue-impacting failures, compliance gaps.
|
|
157
|
+
- OPS: Deployment, infrastructure, or observability gaps that block releases.
|
|
158
|
+
|
|
159
|
+
## Probability & Impact Scale
|
|
160
|
+
|
|
161
|
+
- Probability 1 = Unlikely (standard implementation, low risk).
|
|
162
|
+
- Probability 2 = Possible (edge cases, needs attention).
|
|
163
|
+
- Probability 3 = Likely (known issues, high uncertainty).
|
|
164
|
+
- Impact 1 = Minor (cosmetic, easy workaround).
|
|
165
|
+
- Impact 2 = Degraded (partial feature loss, manual workaround needed).
|
|
166
|
+
- Impact 3 = Critical (blocker, data/security/regulatory impact).
|
|
167
|
+
- Scores: 9 => FAIL, 6-8 => CONCERNS, 4 => monitor, 1-3 => note only.
|
|
168
|
+
|
|
169
|
+
## Test Design Frameworks
|
|
170
|
+
|
|
171
|
+
- Use `docs/docs-v6/v6-bmm/test-levels-framework.md` for level selection and anti-patterns.
|
|
172
|
+
- Use `docs/docs-v6/v6-bmm/test-priorities-matrix.md` for P0-P3 priority criteria.
|
|
173
|
+
- Naming convention: `{epic}.{story}-{LEVEL}-{sequence}` (e.g., `2.4-E2E-01`).
|
|
174
|
+
- Tie each scenario to risk mitigations or acceptance criteria.
|
|
175
|
+
|
|
176
|
+
## Test Quality Definition of Done
|
|
177
|
+
|
|
178
|
+
- No hard waits (`page.waitForTimeout`, `cy.wait(ms)`)—use deterministic waits.
|
|
179
|
+
- Each test < 300 lines and executes in <= 1.5 minutes.
|
|
180
|
+
- Tests are stateless, parallel-safe, and self-cleaning.
|
|
181
|
+
- No conditional logic in tests (`if/else`, `try/catch` controlling flow).
|
|
182
|
+
- Explicit assertions live in tests, not hidden in helpers.
|
|
183
|
+
- Tests must run green locally and in CI with identical commands.
|
|
184
|
+
- A test delivers value only when it has failed at least once—design suites so they regularly catch regressions during development.
|
|
185
|
+
|
|
186
|
+
## NFR Status Criteria
|
|
187
|
+
|
|
188
|
+
- **Security**: PASS (auth, authz, secrets handled), CONCERNS (minor gaps), FAIL (critical exposure).
|
|
189
|
+
- **Performance**: PASS (meets targets, profiling evidence), CONCERNS (approaching limits), FAIL (breaches limits, leaks).
|
|
190
|
+
- **Reliability**: PASS (error handling, retries, health checks), CONCERNS (partial coverage), FAIL (no recovery, crashes).
|
|
191
|
+
- **Maintainability**: PASS (tests + docs + clean code), CONCERNS (duplication, low coverage), FAIL (no tests, tangled code).
|
|
192
|
+
- Unknown targets => CONCERNS until defined.
|
|
193
|
+
|
|
194
|
+
## Quality Gate Schema
|
|
195
|
+
|
|
196
|
+
```yaml
|
|
197
|
+
schema: 1
|
|
198
|
+
story: '{epic}.{story}'
|
|
199
|
+
story_title: '{title}'
|
|
200
|
+
gate: PASS|CONCERNS|FAIL|WAIVED
|
|
201
|
+
status_reason: 'Single sentence summary'
|
|
202
|
+
reviewer: 'Murat (Master Test Architect)'
|
|
203
|
+
updated: '2024-09-20T12:34:56Z'
|
|
204
|
+
waiver:
|
|
205
|
+
active: false
|
|
206
|
+
reason: ''
|
|
207
|
+
approved_by: ''
|
|
208
|
+
expires: ''
|
|
209
|
+
top_issues:
|
|
210
|
+
- id: SEC-001
|
|
211
|
+
severity: high
|
|
212
|
+
finding: 'Issue description'
|
|
213
|
+
suggested_action: 'Action to resolve'
|
|
214
|
+
risk_summary:
|
|
215
|
+
totals:
|
|
216
|
+
critical: 0
|
|
217
|
+
high: 0
|
|
218
|
+
medium: 0
|
|
219
|
+
low: 0
|
|
220
|
+
recommendations:
|
|
221
|
+
must_fix: []
|
|
222
|
+
monitor: []
|
|
223
|
+
nfr_validation:
|
|
224
|
+
security: { status: PASS, notes: '' }
|
|
225
|
+
performance: { status: CONCERNS, notes: 'Add caching' }
|
|
226
|
+
reliability: { status: PASS, notes: '' }
|
|
227
|
+
maintainability: { status: PASS, notes: '' }
|
|
228
|
+
history:
|
|
229
|
+
- at: '2024-09-20T12:34:56Z'
|
|
230
|
+
gate: CONCERNS
|
|
231
|
+
note: 'Initial review'
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
- Optional sections: `quality_score` block for extended metrics, and `evidence` block (tests_reviewed, risks_identified, trace.ac_covered/ac_gaps) when teams track them.
|
|
235
|
+
|
|
236
|
+
## Collaborative TDD Loop
|
|
237
|
+
|
|
238
|
+
- Share failing acceptance tests with the developer or AI agent.
|
|
239
|
+
- Track red -> green -> refactor progress alongside the implementation checklist.
|
|
240
|
+
- Update checklist items as each test passes; add new tests for discovered edge cases.
|
|
241
|
+
- Keep conversation focused on observable behavior, not implementation detail.
|
|
242
|
+
|
|
243
|
+
## Traceability Coverage Definitions
|
|
244
|
+
|
|
245
|
+
- FULL: All scenarios for the criterion validated across appropriate levels.
|
|
246
|
+
- PARTIAL: Some coverage exists but gaps remain.
|
|
247
|
+
- NONE: No tests currently validate the criterion.
|
|
248
|
+
- UNIT-ONLY: Only low-level tests exist; add integration/E2E.
|
|
249
|
+
- INTEGRATION-ONLY: Missing unit/component coverage for fast feedback.
|
|
250
|
+
- Avoid naive UI E2E until service-level confidence exists; use API or contract tests to harden backends first, then add minimal UI coverage to fill the gaps.
|
|
251
|
+
|
|
252
|
+
## CI Platform Guidance
|
|
253
|
+
|
|
254
|
+
- Default to GitHub Actions if no preference is given; otherwise ask for GitLab, CircleCI, etc.
|
|
255
|
+
- Ensure local script mirrors CI pipeline (npm test vs CI workflow).
|
|
256
|
+
- Use concurrency controls to prevent duplicate runs (`concurrency` block in GitHub Actions).
|
|
257
|
+
- Keep job runtime under 10 minutes; split further if necessary.
|
|
258
|
+
|
|
259
|
+
## Testing Tool Preferences
|
|
260
|
+
|
|
261
|
+
- Component testing: Large repositories prioritize Vitest with UI (fast, component-native). Smaller DX-first teams with existing Cypress stacks can keep Cypress Component Testing for consistency.
|
|
262
|
+
- E2E testing: Favor Playwright for large or performance-sensitive repos; reserve Cypress for smaller DX-first teams where developer experience outweighs scale.
|
|
263
|
+
- API testing: Prefer Playwright's API testing or contract suites over ad-hoc REST clients.
|
|
264
|
+
- Contract testing: Pact.js for consumer-driven contracts; keep `pact/` config in repo.
|
|
265
|
+
- Visual testing: Percy, Chromatic, or Playwright snapshots when UX must be audited.
|
|
266
|
+
|
|
267
|
+
## Naming Conventions
|
|
268
|
+
|
|
269
|
+
- File names: `ComponentName.cy.tsx` for Cypress component tests, `component-name.spec.ts` for Playwright, `ComponentName.test.tsx` for unit/RTL.
|
|
270
|
+
- Describe blocks: `describe('Feature/Component Name', () => { context('when condition', ...) })`.
|
|
271
|
+
- Data attributes: always kebab-case (`data-cy="submit-button"`, `data-testid="user-email"`).
|
|
272
|
+
|
|
273
|
+
## Reference Materials
|
|
274
|
+
|
|
275
|
+
If deeper context is needed, consult Murat's testing philosophy notes, blog posts, and sample repositories in https://github.com/muratkeremozcan/test-resources-for-ai/blob/main/gitingest-full-repo-text-version.txt.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- Powered by BMAD-CORE™ -->
|
|
2
|
+
|
|
3
|
+
# Test Design v2.0 (Slim)
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<task id="bmad/bmm/testarch/test-design" name="Test Design">
|
|
7
|
+
<llm critical="true">
|
|
8
|
+
<i>Set command_key="*test-design"</i>
|
|
9
|
+
<i>Load {project-root}/bmad/bmm/testarch/tea-commands.csv and parse the matching row</i>
|
|
10
|
+
<i>Load {project-root}/bmad/bmm/testarch/tea-knowledge.md to reinforce Murat's coverage heuristics</i>
|
|
11
|
+
<i>Use CSV columns preflight, flow_cues, deliverables, halt_rules, notes, knowledge_tags as guidance</i>
|
|
12
|
+
<i>Split pipe-delimited values into actionable lists</i>
|
|
13
|
+
<i>Keep documents actionable—no verbose restatement of requirements</i>
|
|
14
|
+
</llm>
|
|
15
|
+
<flow>
|
|
16
|
+
<step n="1" title="Preflight">
|
|
17
|
+
<action>Confirm required inputs (risk profile, acceptance criteria)</action>
|
|
18
|
+
<action>Abort using halt_rules if prerequisites missing</action>
|
|
19
|
+
</step>
|
|
20
|
+
<step n="2" title="Design Strategy">
|
|
21
|
+
<action>Follow flow_cues to map criteria to scenarios, assign test levels, set priorities</action>
|
|
22
|
+
<action>Use knowledge heuristics for ratios, data factories, and cost vs confidence trade-offs</action>
|
|
23
|
+
</step>
|
|
24
|
+
<step n="3" title="Deliverables">
|
|
25
|
+
<action>Create artifacts defined in deliverables (strategy markdown, tables)</action>
|
|
26
|
+
<action>Summarize guidance for developers/testers</action>
|
|
27
|
+
</step>
|
|
28
|
+
</flow>
|
|
29
|
+
<halt>
|
|
30
|
+
<i>Follow halt_rules from the CSV row</i>
|
|
31
|
+
</halt>
|
|
32
|
+
<notes>
|
|
33
|
+
<i>Apply notes column for extra context</i>
|
|
34
|
+
</notes>
|
|
35
|
+
<output>
|
|
36
|
+
<i>Lean test design document aligned with risk profile</i>
|
|
37
|
+
</output>
|
|
38
|
+
</task>
|
|
39
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!-- Powered by BMAD-CORE™ -->
|
|
2
|
+
|
|
3
|
+
# Requirements Traceability v2.0 (Slim)
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<task id="bmad/bmm/testarch/trace" name="Requirements Traceability">
|
|
7
|
+
<llm critical="true">
|
|
8
|
+
<i>Set command_key="*trace"</i>
|
|
9
|
+
<i>Load {project-root}/bmad/bmm/testarch/tea-commands.csv and read the matching row</i>
|
|
10
|
+
<i>Load {project-root}/bmad/bmm/testarch/tea-knowledge.md emphasising assertions guidance</i>
|
|
11
|
+
<i>Use CSV columns preflight, flow_cues, deliverables, halt_rules, notes, knowledge_tags</i>
|
|
12
|
+
<i>Split pipe-delimited values into actionable lists</i>
|
|
13
|
+
<i>Focus on mapping reality: reference actual files, describe coverage gaps, recommend next steps</i>
|
|
14
|
+
</llm>
|
|
15
|
+
<flow>
|
|
16
|
+
<step n="1" title="Preflight">
|
|
17
|
+
<action>Validate prerequisites; halt per halt_rules if unmet</action>
|
|
18
|
+
</step>
|
|
19
|
+
<step n="2" title="Traceability Analysis">
|
|
20
|
+
<action>Follow flow_cues to map acceptance criteria to implemented tests</action>
|
|
21
|
+
<action>Leverage knowledge heuristics to highlight assertion quality and duplication risks</action>
|
|
22
|
+
</step>
|
|
23
|
+
<step n="3" title="Deliverables">
|
|
24
|
+
<action>Create traceability report described in deliverables</action>
|
|
25
|
+
<action>Summarize critical gaps and recommendations</action>
|
|
26
|
+
</step>
|
|
27
|
+
</flow>
|
|
28
|
+
<halt>
|
|
29
|
+
<i>Apply halt_rules from the CSV row</i>
|
|
30
|
+
</halt>
|
|
31
|
+
<notes>
|
|
32
|
+
<i>Reference notes column for additional emphasis</i>
|
|
33
|
+
</notes>
|
|
34
|
+
<output>
|
|
35
|
+
<i>Coverage matrix and narrative summary</i>
|
|
36
|
+
</output>
|
|
37
|
+
</task>
|
|
38
|
+
```
|
|
@@ -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
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Game Brainstorming Context
|
|
2
|
+
|
|
3
|
+
This context guide provides game-specific considerations for brainstorming sessions focused on game design and development.
|
|
4
|
+
|
|
5
|
+
## Session Focus Areas
|
|
6
|
+
|
|
7
|
+
When brainstorming for games, consider exploring:
|
|
8
|
+
|
|
9
|
+
- **Core Gameplay Loop** - What players do moment-to-moment
|
|
10
|
+
- **Player Fantasy** - What identity/power fantasy does the game fulfill?
|
|
11
|
+
- **Game Mechanics** - Rules and interactions that define play
|
|
12
|
+
- **Game Dynamics** - Emergent behaviors from mechanic interactions
|
|
13
|
+
- **Aesthetic Experience** - Emotional responses and feelings evoked
|
|
14
|
+
- **Progression Systems** - How players grow and unlock content
|
|
15
|
+
- **Challenge & Difficulty** - How to create engaging difficulty curves
|
|
16
|
+
- **Social/Multiplayer Features** - How players interact with each other
|
|
17
|
+
- **Narrative & World** - Story, setting, and environmental storytelling
|
|
18
|
+
- **Art Direction & Feel** - Visual style and game feel
|
|
19
|
+
- **Monetization** - Business model and revenue approach (if applicable)
|
|
20
|
+
|
|
21
|
+
## Game Design Frameworks
|
|
22
|
+
|
|
23
|
+
### MDA Framework
|
|
24
|
+
|
|
25
|
+
- **Mechanics** - Rules and systems (what's in the code)
|
|
26
|
+
- **Dynamics** - Runtime behavior (how mechanics interact)
|
|
27
|
+
- **Aesthetics** - Emotional responses (what players feel)
|
|
28
|
+
|
|
29
|
+
### Player Motivation (Bartle's Taxonomy)
|
|
30
|
+
|
|
31
|
+
- **Achievers** - Goal completion and progression
|
|
32
|
+
- **Explorers** - Discovery and understanding systems
|
|
33
|
+
- **Socializers** - Interaction and relationships
|
|
34
|
+
- **Killers** - Competition and dominance
|
|
35
|
+
|
|
36
|
+
### Core Experience Questions
|
|
37
|
+
|
|
38
|
+
- What does the player DO? (Verbs first, nouns second)
|
|
39
|
+
- What makes them feel powerful/competent/awesome?
|
|
40
|
+
- What's the central tension or challenge?
|
|
41
|
+
- What's the "one more turn" factor?
|
|
42
|
+
|
|
43
|
+
## Recommended Brainstorming Techniques
|
|
44
|
+
|
|
45
|
+
### Game Design Specific Techniques
|
|
46
|
+
|
|
47
|
+
(These are available as additional techniques in game brainstorming sessions)
|
|
48
|
+
|
|
49
|
+
- **MDA Framework Exploration** - Design through mechanics-dynamics-aesthetics
|
|
50
|
+
- **Core Loop Brainstorming** - Define the heartbeat of gameplay
|
|
51
|
+
- **Player Fantasy Mining** - Identify and amplify player power fantasies
|
|
52
|
+
- **Genre Mashup** - Combine unexpected genres for innovation
|
|
53
|
+
- **Verbs Before Nouns** - Focus on actions before objects
|
|
54
|
+
- **Failure State Design** - Work backwards from interesting failures
|
|
55
|
+
- **Ludonarrative Harmony** - Align story and gameplay
|
|
56
|
+
- **Game Feel Playground** - Focus purely on how controls feel
|
|
57
|
+
|
|
58
|
+
### Standard Techniques Well-Suited for Games
|
|
59
|
+
|
|
60
|
+
- **SCAMPER Method** - Innovate on existing game mechanics
|
|
61
|
+
- **What If Scenarios** - Explore radical gameplay possibilities
|
|
62
|
+
- **First Principles Thinking** - Rebuild game concepts from scratch
|
|
63
|
+
- **Role Playing** - Generate ideas from player perspectives
|
|
64
|
+
- **Analogical Thinking** - Find inspiration from other games/media
|
|
65
|
+
- **Constraint-Based Creativity** - Design around limitations
|
|
66
|
+
- **Morphological Analysis** - Explore mechanic combinations
|
|
67
|
+
|
|
68
|
+
## Output Guidance
|
|
69
|
+
|
|
70
|
+
Effective game brainstorming sessions should capture:
|
|
71
|
+
|
|
72
|
+
1. **Core Concept** - High-level game vision and hook
|
|
73
|
+
2. **Key Mechanics** - Primary gameplay verbs and interactions
|
|
74
|
+
3. **Player Experience** - What it feels like to play
|
|
75
|
+
4. **Unique Elements** - What makes this game special/different
|
|
76
|
+
5. **Design Challenges** - Obstacles to solve during development
|
|
77
|
+
6. **Prototype Ideas** - What to test first
|
|
78
|
+
7. **Reference Games** - Existing games that inspire or inform
|
|
79
|
+
8. **Open Questions** - What needs further exploration
|
|
80
|
+
|
|
81
|
+
## Integration with Game Development Workflow
|
|
82
|
+
|
|
83
|
+
Game brainstorming sessions typically feed into:
|
|
84
|
+
|
|
85
|
+
- **Game Briefs** - High-level vision and core pillars
|
|
86
|
+
- **Game Design Documents (GDD)** - Comprehensive design specifications
|
|
87
|
+
- **Technical Design Docs** - Architecture for game systems
|
|
88
|
+
- **Prototype Plans** - What to build to validate concepts
|
|
89
|
+
- **Art Direction Documents** - Visual style and feel guides
|
|
90
|
+
|
|
91
|
+
## Special Considerations for Game Design
|
|
92
|
+
|
|
93
|
+
### Start With The Feel
|
|
94
|
+
|
|
95
|
+
- How should controls feel? Responsive? Weighty? Floaty?
|
|
96
|
+
- What's the "game feel" - the juice and feedback?
|
|
97
|
+
- Can we prototype the core interaction quickly?
|
|
98
|
+
|
|
99
|
+
### Think in Systems
|
|
100
|
+
|
|
101
|
+
- How do mechanics interact?
|
|
102
|
+
- What emergent behaviors arise?
|
|
103
|
+
- Are there dominant strategies or exploits?
|
|
104
|
+
|
|
105
|
+
### Design for Failure
|
|
106
|
+
|
|
107
|
+
- How do players fail?
|
|
108
|
+
- Is failure interesting and instructive?
|
|
109
|
+
- What's the cost of failure?
|
|
110
|
+
|
|
111
|
+
### Player Agency vs. Authored Experience
|
|
112
|
+
|
|
113
|
+
- Where do players have meaningful choices?
|
|
114
|
+
- Where is the experience authored/scripted?
|
|
115
|
+
- How do we balance freedom and guidance?
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Brainstorm Game - Workflow Instructions
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.md</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques</critical>
|
|
7
|
+
|
|
8
|
+
<workflow>
|
|
9
|
+
|
|
10
|
+
<step n="1" goal="Load game brainstorming context and techniques">
|
|
11
|
+
<action>Read the game context document from: {game_context}</action>
|
|
12
|
+
<action>This context provides game-specific guidance including:
|
|
13
|
+
- Focus areas for game ideation (mechanics, narrative, experience, etc.)
|
|
14
|
+
- Key considerations for game design
|
|
15
|
+
- Recommended techniques for game brainstorming
|
|
16
|
+
- Output structure guidance
|
|
17
|
+
</action>
|
|
18
|
+
<action>Load game-specific brain techniques from: {game_brain_methods}</action>
|
|
19
|
+
<action>These additional techniques supplement the standard CIS brainstorming methods with game design-focused approaches like:
|
|
20
|
+
- MDA Framework exploration
|
|
21
|
+
- Core loop brainstorming
|
|
22
|
+
- Player fantasy mining
|
|
23
|
+
- Genre mashup
|
|
24
|
+
- And other game-specific ideation methods
|
|
25
|
+
</action>
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step n="2" goal="Invoke CIS brainstorming with game context">
|
|
29
|
+
<action>Execute the CIS brainstorming workflow with game context and additional techniques</action>
|
|
30
|
+
<invoke-workflow path="{cis_brainstorming}" data="{game_context}" techniques="{game_brain_methods}">
|
|
31
|
+
The CIS brainstorming workflow will:
|
|
32
|
+
- Merge game-specific techniques with standard techniques
|
|
33
|
+
- Present interactive brainstorming techniques menu
|
|
34
|
+
- Guide the user through selected ideation methods
|
|
35
|
+
- Generate and capture brainstorming session results
|
|
36
|
+
- Save output to: {output_folder}/brainstorming-session-results-{{date}}.md
|
|
37
|
+
</invoke-workflow>
|
|
38
|
+
</step>
|
|
39
|
+
|
|
40
|
+
<step n="3" goal="Completion">
|
|
41
|
+
<action>Confirm brainstorming session completed successfully</action>
|
|
42
|
+
<action>Brainstorming results saved by CIS workflow</action>
|
|
43
|
+
<action>Report workflow completion</action>
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
</workflow>
|
|
47
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Brainstorm Game Workflow Configuration
|
|
2
|
+
name: "brainstorm-game"
|
|
3
|
+
description: "Facilitate game brainstorming sessions by orchestrating the CIS brainstorming workflow with game-specific context, guidance, and additional game design techniques."
|
|
4
|
+
author: "BMad"
|
|
5
|
+
|
|
6
|
+
# Critical variables load from config_source
|
|
7
|
+
config_source: "{project-root}/bmad/bmm/config.yaml"
|
|
8
|
+
output_folder: "{config_source}:output_folder"
|
|
9
|
+
user_name: "{config_source}:user_name"
|
|
10
|
+
date: system-generated
|
|
11
|
+
|
|
12
|
+
# Module path and component files
|
|
13
|
+
installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-game"
|
|
14
|
+
template: false
|
|
15
|
+
instructions: "{installed_path}/instructions.md"
|
|
16
|
+
|
|
17
|
+
# Context and techniques for game brainstorming
|
|
18
|
+
game_context: "{installed_path}/game-context.md"
|
|
19
|
+
game_brain_methods: "{installed_path}/game-brain-methods.csv"
|
|
20
|
+
|
|
21
|
+
# CIS brainstorming workflow to invoke
|
|
22
|
+
cis_brainstorming: "{project-root}/bmad/cis/workflows/brainstorming/workflow.yaml"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Brainstorm Project - Workflow Instructions
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.md</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with project-specific context</critical>
|
|
7
|
+
|
|
8
|
+
<workflow>
|
|
9
|
+
|
|
10
|
+
<step n="1" goal="Load project brainstorming context">
|
|
11
|
+
<action>Read the project context document from: {project_context}</action>
|
|
12
|
+
<action>This context provides project-specific guidance including:
|
|
13
|
+
- Focus areas for project ideation
|
|
14
|
+
- Key considerations for software/product projects
|
|
15
|
+
- Recommended techniques for project brainstorming
|
|
16
|
+
- Output structure guidance
|
|
17
|
+
</action>
|
|
18
|
+
</step>
|
|
19
|
+
|
|
20
|
+
<step n="2" goal="Invoke CIS brainstorming with project context">
|
|
21
|
+
<action>Execute the CIS brainstorming workflow with project context</action>
|
|
22
|
+
<invoke-workflow path="{cis_brainstorming}" data="{project_context}">
|
|
23
|
+
The CIS brainstorming workflow will:
|
|
24
|
+
- Present interactive brainstorming techniques menu
|
|
25
|
+
- Guide the user through selected ideation methods
|
|
26
|
+
- Generate and capture brainstorming session results
|
|
27
|
+
- Save output to: {output_folder}/brainstorming-session-results-{{date}}.md
|
|
28
|
+
</invoke-workflow>
|
|
29
|
+
</step>
|
|
30
|
+
|
|
31
|
+
<step n="3" goal="Completion">
|
|
32
|
+
<action>Confirm brainstorming session completed successfully</action>
|
|
33
|
+
<action>Brainstorming results saved by CIS workflow</action>
|
|
34
|
+
<action>Report workflow completion</action>
|
|
35
|
+
</step>
|
|
36
|
+
|
|
37
|
+
</workflow>
|
|
38
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Project Brainstorming Context
|
|
2
|
+
|
|
3
|
+
This context guide provides project-specific considerations for brainstorming sessions focused on software and product development.
|
|
4
|
+
|
|
5
|
+
## Session Focus Areas
|
|
6
|
+
|
|
7
|
+
When brainstorming for projects, consider exploring:
|
|
8
|
+
|
|
9
|
+
- **User Problems & Pain Points** - What challenges do users face?
|
|
10
|
+
- **Feature Ideas & Capabilities** - What could the product do?
|
|
11
|
+
- **Technical Approaches** - How might we build it?
|
|
12
|
+
- **User Experience** - How will users interact with it?
|
|
13
|
+
- **Business Model & Value** - How does it create value?
|
|
14
|
+
- **Market Differentiation** - What makes it unique?
|
|
15
|
+
- **Technical Risks & Challenges** - What could go wrong?
|
|
16
|
+
- **Success Metrics** - How will we measure success?
|
|
17
|
+
|
|
18
|
+
## Integration with Project Workflow
|
|
19
|
+
|
|
20
|
+
Brainstorming sessions typically feed into:
|
|
21
|
+
|
|
22
|
+
- **Product Briefs** - Initial product vision and strategy
|
|
23
|
+
- **PRDs** - Detailed requirements documents
|
|
24
|
+
- **Technical Specifications** - Architecture and implementation plans
|
|
25
|
+
- **Research Activities** - Areas requiring further investigation
|