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,528 @@
|
|
|
1
|
+
# Web Game Engine Architecture Guide
|
|
2
|
+
|
|
3
|
+
This guide provides web game engine-specific guidance (Phaser, PixiJS, Three.js, Babylon.js) for solution architecture generation.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Web Game-Specific Questions
|
|
8
|
+
|
|
9
|
+
### 1. Engine & Technology Selection
|
|
10
|
+
|
|
11
|
+
**Ask:**
|
|
12
|
+
|
|
13
|
+
- Which engine? (Phaser 3, PixiJS, Three.js, Babylon.js, custom Canvas/WebGL)
|
|
14
|
+
- TypeScript or JavaScript?
|
|
15
|
+
- Build tool? (Vite, Webpack, Rollup, Parcel)
|
|
16
|
+
- Target platform(s)? (Desktop web, mobile web, PWA, Cordova/Capacitor wrapper)
|
|
17
|
+
|
|
18
|
+
**Guidance:**
|
|
19
|
+
|
|
20
|
+
- **Phaser 3**: Full-featured 2D game framework, great for beginners
|
|
21
|
+
- **PixiJS**: 2D rendering library, more low-level than Phaser
|
|
22
|
+
- **Three.js**: 3D graphics library, mature ecosystem
|
|
23
|
+
- **Babylon.js**: Complete 3D game engine, WebXR support
|
|
24
|
+
- **TypeScript**: Recommended for all web games (type safety, better tooling)
|
|
25
|
+
- **Vite**: Modern, fast, HMR - best for development
|
|
26
|
+
|
|
27
|
+
**Record ADR:** Engine selection and build tooling
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
### 2. Architecture Pattern
|
|
32
|
+
|
|
33
|
+
**Ask:**
|
|
34
|
+
|
|
35
|
+
- Scene-based architecture? (Phaser scenes, custom scene manager)
|
|
36
|
+
- ECS (Entity Component System)? (Libraries: bitECS, ecsy)
|
|
37
|
+
- State management? (Redux, Zustand, custom FSM)
|
|
38
|
+
|
|
39
|
+
**Guidance:**
|
|
40
|
+
|
|
41
|
+
- **Scene-based**: Natural for Phaser, good for level-based games
|
|
42
|
+
- **ECS**: Better performance for large entity counts (100s+)
|
|
43
|
+
- **FSM**: Good for simple state transitions (menu → game → gameover)
|
|
44
|
+
|
|
45
|
+
**Phaser Pattern:**
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
// MainMenuScene.ts
|
|
49
|
+
export class MainMenuScene extends Phaser.Scene {
|
|
50
|
+
constructor() {
|
|
51
|
+
super({ key: 'MainMenu' });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
create() {
|
|
55
|
+
this.add.text(400, 300, 'Main Menu', { fontSize: '32px' });
|
|
56
|
+
|
|
57
|
+
const startButton = this.add
|
|
58
|
+
.text(400, 400, 'Start Game', { fontSize: '24px' })
|
|
59
|
+
.setInteractive()
|
|
60
|
+
.on('pointerdown', () => {
|
|
61
|
+
this.scene.start('GameScene');
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Record ADR:** Architecture pattern and scene management
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### 3. Asset Management
|
|
72
|
+
|
|
73
|
+
**Ask:**
|
|
74
|
+
|
|
75
|
+
- Asset loading strategy? (Preload all, lazy load, progressive)
|
|
76
|
+
- Texture atlas usage? (TexturePacker, built-in tools)
|
|
77
|
+
- Audio format strategy? (MP3, OGG, WebM)
|
|
78
|
+
|
|
79
|
+
**Guidance:**
|
|
80
|
+
|
|
81
|
+
- **Preload**: Load all assets at start (simple, small games)
|
|
82
|
+
- **Lazy load**: Load per-level (better for larger games)
|
|
83
|
+
- **Texture atlases**: Essential for performance (reduce draw calls)
|
|
84
|
+
- **Audio**: MP3 for compatibility, OGG for smaller size, use both
|
|
85
|
+
|
|
86
|
+
**Phaser loading:**
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
class PreloadScene extends Phaser.Scene {
|
|
90
|
+
preload() {
|
|
91
|
+
// Show progress bar
|
|
92
|
+
this.load.on('progress', (value: number) => {
|
|
93
|
+
console.log('Loading: ' + Math.round(value * 100) + '%');
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Load assets
|
|
97
|
+
this.load.atlas('sprites', 'assets/sprites.png', 'assets/sprites.json');
|
|
98
|
+
this.load.audio('music', ['assets/music.mp3', 'assets/music.ogg']);
|
|
99
|
+
this.load.audio('jump', ['assets/sfx/jump.mp3', 'assets/sfx/jump.ogg']);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
create() {
|
|
103
|
+
this.scene.start('MainMenu');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Record ADR:** Asset loading and management strategy
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Web Game-Specific Architecture Sections
|
|
113
|
+
|
|
114
|
+
### Performance Optimization
|
|
115
|
+
|
|
116
|
+
**Web-specific considerations:**
|
|
117
|
+
|
|
118
|
+
- **Object Pooling**: Mandatory for bullets, particles, enemies (avoid GC pauses)
|
|
119
|
+
- **Sprite Batching**: Use texture atlases, minimize state changes
|
|
120
|
+
- **Canvas vs WebGL**: WebGL for better performance (most games)
|
|
121
|
+
- **Draw Call Reduction**: Batch similar sprites, use sprite sheets
|
|
122
|
+
- **Memory Management**: Watch heap size, profile with Chrome DevTools
|
|
123
|
+
|
|
124
|
+
**Object Pooling Pattern:**
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
class BulletPool {
|
|
128
|
+
private pool: Bullet[] = [];
|
|
129
|
+
private scene: Phaser.Scene;
|
|
130
|
+
|
|
131
|
+
constructor(scene: Phaser.Scene, size: number) {
|
|
132
|
+
this.scene = scene;
|
|
133
|
+
for (let i = 0; i < size; i++) {
|
|
134
|
+
const bullet = new Bullet(scene);
|
|
135
|
+
bullet.setActive(false).setVisible(false);
|
|
136
|
+
this.pool.push(bullet);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
spawn(x: number, y: number, velocityX: number, velocityY: number): Bullet | null {
|
|
141
|
+
const bullet = this.pool.find((b) => !b.active);
|
|
142
|
+
if (bullet) {
|
|
143
|
+
bullet.spawn(x, y, velocityX, velocityY);
|
|
144
|
+
}
|
|
145
|
+
return bullet || null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Target Performance:**
|
|
151
|
+
|
|
152
|
+
- **Desktop**: 60 FPS minimum
|
|
153
|
+
- **Mobile**: 60 FPS (high-end), 30 FPS (low-end)
|
|
154
|
+
- **Profile with**: Chrome DevTools Performance tab, Phaser Debug plugin
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### Input Handling
|
|
159
|
+
|
|
160
|
+
**Multi-input support:**
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
class GameScene extends Phaser.Scene {
|
|
164
|
+
private cursors?: Phaser.Types.Input.Keyboard.CursorKeys;
|
|
165
|
+
private wasd?: { [key: string]: Phaser.Input.Keyboard.Key };
|
|
166
|
+
|
|
167
|
+
create() {
|
|
168
|
+
// Keyboard
|
|
169
|
+
this.cursors = this.input.keyboard?.createCursorKeys();
|
|
170
|
+
this.wasd = this.input.keyboard?.addKeys('W,S,A,D') as any;
|
|
171
|
+
|
|
172
|
+
// Mouse/Touch
|
|
173
|
+
this.input.on('pointerdown', (pointer: Phaser.Input.Pointer) => {
|
|
174
|
+
this.handleClick(pointer.x, pointer.y);
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
// Gamepad (optional)
|
|
178
|
+
this.input.gamepad?.on('down', (pad, button, index) => {
|
|
179
|
+
this.handleGamepadButton(button);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
update() {
|
|
184
|
+
// Handle keyboard input
|
|
185
|
+
if (this.cursors?.left.isDown || this.wasd?.A.isDown) {
|
|
186
|
+
this.player.moveLeft();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### State Persistence
|
|
195
|
+
|
|
196
|
+
**LocalStorage pattern:**
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
interface GameSaveData {
|
|
200
|
+
level: number;
|
|
201
|
+
score: number;
|
|
202
|
+
playerStats: {
|
|
203
|
+
health: number;
|
|
204
|
+
lives: number;
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
class SaveManager {
|
|
209
|
+
private static SAVE_KEY = 'game_save_data';
|
|
210
|
+
|
|
211
|
+
static save(data: GameSaveData): void {
|
|
212
|
+
localStorage.setItem(this.SAVE_KEY, JSON.stringify(data));
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
static load(): GameSaveData | null {
|
|
216
|
+
const data = localStorage.getItem(this.SAVE_KEY);
|
|
217
|
+
return data ? JSON.parse(data) : null;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
static clear(): void {
|
|
221
|
+
localStorage.removeItem(this.SAVE_KEY);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### Source Tree Structure
|
|
229
|
+
|
|
230
|
+
**Phaser + TypeScript + Vite:**
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
project/
|
|
234
|
+
├── public/ # Static assets
|
|
235
|
+
│ ├── assets/
|
|
236
|
+
│ │ ├── sprites/
|
|
237
|
+
│ │ ├── audio/
|
|
238
|
+
│ │ │ ├── music/
|
|
239
|
+
│ │ │ └── sfx/
|
|
240
|
+
│ │ └── fonts/
|
|
241
|
+
│ └── index.html
|
|
242
|
+
├── src/
|
|
243
|
+
│ ├── main.ts # Game initialization
|
|
244
|
+
│ ├── config.ts # Phaser config
|
|
245
|
+
│ ├── scenes/ # Game scenes
|
|
246
|
+
│ │ ├── PreloadScene.ts
|
|
247
|
+
│ │ ├── MainMenuScene.ts
|
|
248
|
+
│ │ ├── GameScene.ts
|
|
249
|
+
│ │ └── GameOverScene.ts
|
|
250
|
+
│ ├── entities/ # Game objects
|
|
251
|
+
│ │ ├── Player.ts
|
|
252
|
+
│ │ ├── Enemy.ts
|
|
253
|
+
│ │ └── Bullet.ts
|
|
254
|
+
│ ├── systems/ # Game systems
|
|
255
|
+
│ │ ├── InputManager.ts
|
|
256
|
+
│ │ ├── AudioManager.ts
|
|
257
|
+
│ │ └── SaveManager.ts
|
|
258
|
+
│ ├── utils/ # Utilities
|
|
259
|
+
│ │ ├── ObjectPool.ts
|
|
260
|
+
│ │ └── Constants.ts
|
|
261
|
+
│ └── types/ # TypeScript types
|
|
262
|
+
│ └── index.d.ts
|
|
263
|
+
├── tests/ # Unit tests
|
|
264
|
+
├── package.json
|
|
265
|
+
├── tsconfig.json
|
|
266
|
+
├── vite.config.ts
|
|
267
|
+
└── README.md
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
### Testing Strategy
|
|
273
|
+
|
|
274
|
+
**Jest + TypeScript:**
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
// Player.test.ts
|
|
278
|
+
import { Player } from '../entities/Player';
|
|
279
|
+
|
|
280
|
+
describe('Player', () => {
|
|
281
|
+
let player: Player;
|
|
282
|
+
|
|
283
|
+
beforeEach(() => {
|
|
284
|
+
// Mock Phaser scene
|
|
285
|
+
const mockScene = {
|
|
286
|
+
add: { sprite: jest.fn() },
|
|
287
|
+
physics: { add: { sprite: jest.fn() } },
|
|
288
|
+
} as any;
|
|
289
|
+
|
|
290
|
+
player = new Player(mockScene, 0, 0);
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
test('takes damage correctly', () => {
|
|
294
|
+
player.health = 100;
|
|
295
|
+
player.takeDamage(20);
|
|
296
|
+
expect(player.health).toBe(80);
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
test('dies when health reaches zero', () => {
|
|
300
|
+
player.health = 10;
|
|
301
|
+
player.takeDamage(20);
|
|
302
|
+
expect(player.alive).toBe(false);
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**E2E Testing:**
|
|
308
|
+
|
|
309
|
+
- Playwright for browser automation
|
|
310
|
+
- Cypress for interactive testing
|
|
311
|
+
- Test game states, not individual frames
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
### Deployment & Build
|
|
316
|
+
|
|
317
|
+
**Build for production:**
|
|
318
|
+
|
|
319
|
+
```json
|
|
320
|
+
// package.json scripts
|
|
321
|
+
{
|
|
322
|
+
"scripts": {
|
|
323
|
+
"dev": "vite",
|
|
324
|
+
"build": "tsc && vite build",
|
|
325
|
+
"preview": "vite preview",
|
|
326
|
+
"test": "jest"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Deployment targets:**
|
|
332
|
+
|
|
333
|
+
- **Static hosting**: Netlify, Vercel, GitHub Pages, AWS S3
|
|
334
|
+
- **CDN**: Cloudflare, Fastly for global distribution
|
|
335
|
+
- **PWA**: Service worker for offline play
|
|
336
|
+
- **Mobile wrapper**: Cordova or Capacitor for app stores
|
|
337
|
+
|
|
338
|
+
**Optimization:**
|
|
339
|
+
|
|
340
|
+
```typescript
|
|
341
|
+
// vite.config.ts
|
|
342
|
+
export default defineConfig({
|
|
343
|
+
build: {
|
|
344
|
+
rollupOptions: {
|
|
345
|
+
output: {
|
|
346
|
+
manualChunks: {
|
|
347
|
+
phaser: ['phaser'], // Separate Phaser bundle
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
minify: 'terser',
|
|
352
|
+
terserOptions: {
|
|
353
|
+
compress: {
|
|
354
|
+
drop_console: true, // Remove console.log in prod
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
},
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## Specialist Recommendations
|
|
364
|
+
|
|
365
|
+
### Audio Designer
|
|
366
|
+
|
|
367
|
+
**When needed:** Games with music, sound effects, ambience
|
|
368
|
+
**Responsibilities:**
|
|
369
|
+
|
|
370
|
+
- Web Audio API architecture
|
|
371
|
+
- Audio sprite creation (combine sounds into one file)
|
|
372
|
+
- Music loop management
|
|
373
|
+
- Sound effect implementation
|
|
374
|
+
- Audio performance on web (decode strategy)
|
|
375
|
+
|
|
376
|
+
### Performance Optimizer
|
|
377
|
+
|
|
378
|
+
**When needed:** Mobile web games, complex games
|
|
379
|
+
**Responsibilities:**
|
|
380
|
+
|
|
381
|
+
- Chrome DevTools profiling
|
|
382
|
+
- Object pooling implementation
|
|
383
|
+
- Draw call optimization
|
|
384
|
+
- Memory management
|
|
385
|
+
- Bundle size optimization
|
|
386
|
+
- Network performance (asset loading)
|
|
387
|
+
|
|
388
|
+
### Monetization Specialist
|
|
389
|
+
|
|
390
|
+
**When needed:** F2P web games
|
|
391
|
+
**Responsibilities:**
|
|
392
|
+
|
|
393
|
+
- Ad network integration (Google AdSense, AdMob for web)
|
|
394
|
+
- In-game purchases (Stripe, PayPal)
|
|
395
|
+
- Analytics (Google Analytics, custom events)
|
|
396
|
+
- A/B testing frameworks
|
|
397
|
+
- Economy design
|
|
398
|
+
|
|
399
|
+
### Platform Specialist
|
|
400
|
+
|
|
401
|
+
**When needed:** Mobile wrapper apps (Cordova/Capacitor)
|
|
402
|
+
**Responsibilities:**
|
|
403
|
+
|
|
404
|
+
- Native plugin integration
|
|
405
|
+
- Platform-specific performance tuning
|
|
406
|
+
- App store submission
|
|
407
|
+
- Device compatibility testing
|
|
408
|
+
- Push notification setup
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## Common Pitfalls
|
|
413
|
+
|
|
414
|
+
1. **Not using object pooling** - Frequent instantiation causes GC pauses
|
|
415
|
+
2. **Too many draw calls** - Use texture atlases and sprite batching
|
|
416
|
+
3. **Loading all assets at once** - Causes long initial load times
|
|
417
|
+
4. **Not testing on mobile** - Performance vastly different on phones
|
|
418
|
+
5. **Ignoring bundle size** - Large bundles = slow load times
|
|
419
|
+
6. **Not handling window resize** - Web games run in resizable windows
|
|
420
|
+
7. **Forgetting audio autoplay restrictions** - Browsers block auto-play without user interaction
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Engine-Specific Patterns
|
|
425
|
+
|
|
426
|
+
### Phaser 3
|
|
427
|
+
|
|
428
|
+
```typescript
|
|
429
|
+
const config: Phaser.Types.Core.GameConfig = {
|
|
430
|
+
type: Phaser.AUTO, // WebGL with Canvas fallback
|
|
431
|
+
width: 800,
|
|
432
|
+
height: 600,
|
|
433
|
+
physics: {
|
|
434
|
+
default: 'arcade',
|
|
435
|
+
arcade: { gravity: { y: 300 }, debug: false },
|
|
436
|
+
},
|
|
437
|
+
scene: [PreloadScene, MainMenuScene, GameScene, GameOverScene],
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
const game = new Phaser.Game(config);
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### PixiJS
|
|
444
|
+
|
|
445
|
+
```typescript
|
|
446
|
+
const app = new PIXI.Application({
|
|
447
|
+
width: 800,
|
|
448
|
+
height: 600,
|
|
449
|
+
backgroundColor: 0x1099bb,
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
document.body.appendChild(app.view);
|
|
453
|
+
|
|
454
|
+
const sprite = PIXI.Sprite.from('assets/player.png');
|
|
455
|
+
app.stage.addChild(sprite);
|
|
456
|
+
|
|
457
|
+
app.ticker.add((delta) => {
|
|
458
|
+
sprite.rotation += 0.01 * delta;
|
|
459
|
+
});
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
### Three.js
|
|
463
|
+
|
|
464
|
+
```typescript
|
|
465
|
+
const scene = new THREE.Scene();
|
|
466
|
+
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
|
|
467
|
+
const renderer = new THREE.WebGLRenderer();
|
|
468
|
+
|
|
469
|
+
renderer.setSize(window.innerWidth, window.innerHeight);
|
|
470
|
+
document.body.appendChild(renderer.domElement);
|
|
471
|
+
|
|
472
|
+
const geometry = new THREE.BoxGeometry();
|
|
473
|
+
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
|
|
474
|
+
const cube = new THREE.Mesh(geometry, material);
|
|
475
|
+
scene.add(cube);
|
|
476
|
+
|
|
477
|
+
function animate() {
|
|
478
|
+
requestAnimationFrame(animate);
|
|
479
|
+
cube.rotation.x += 0.01;
|
|
480
|
+
renderer.render(scene, camera);
|
|
481
|
+
}
|
|
482
|
+
animate();
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
## Key Architecture Decision Records
|
|
488
|
+
|
|
489
|
+
### ADR Template for Web Games
|
|
490
|
+
|
|
491
|
+
**ADR-XXX: [Title]**
|
|
492
|
+
|
|
493
|
+
**Context:**
|
|
494
|
+
What web game-specific issue are we solving?
|
|
495
|
+
|
|
496
|
+
**Options:**
|
|
497
|
+
|
|
498
|
+
1. Phaser 3 (full framework)
|
|
499
|
+
2. PixiJS (rendering library)
|
|
500
|
+
3. Three.js/Babylon.js (3D)
|
|
501
|
+
4. Custom Canvas/WebGL
|
|
502
|
+
|
|
503
|
+
**Decision:**
|
|
504
|
+
We chose [Option X]
|
|
505
|
+
|
|
506
|
+
**Web-specific Rationale:**
|
|
507
|
+
|
|
508
|
+
- Engine features vs bundle size
|
|
509
|
+
- Community and plugin ecosystem
|
|
510
|
+
- TypeScript support
|
|
511
|
+
- Performance on target devices (mobile web)
|
|
512
|
+
- Browser compatibility
|
|
513
|
+
- Development velocity
|
|
514
|
+
|
|
515
|
+
**Consequences:**
|
|
516
|
+
|
|
517
|
+
- Impact on bundle size (Phaser ~1.2MB gzipped)
|
|
518
|
+
- Learning curve
|
|
519
|
+
- Platform limitations
|
|
520
|
+
- Plugin availability
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
_This guide is specific to web game engines. For native engines, see:_
|
|
525
|
+
|
|
526
|
+
- game-engine-unity-guide.md
|
|
527
|
+
- game-engine-godot-guide.md
|
|
528
|
+
- game-engine-unreal-guide.md
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# {{TITLE}} Architecture Document
|
|
2
|
+
|
|
3
|
+
**Project:** {{project_name}}
|
|
4
|
+
**Date:** {{date}}
|
|
5
|
+
**Author:** {{user_name}}
|
|
6
|
+
|
|
7
|
+
## Executive Summary
|
|
8
|
+
|
|
9
|
+
{{executive_summary}}
|
|
10
|
+
|
|
11
|
+
## 1. Technology Stack & Decisions
|
|
12
|
+
|
|
13
|
+
### 1.1 Technology & Library Decision Table
|
|
14
|
+
|
|
15
|
+
{{technology_table}}
|
|
16
|
+
|
|
17
|
+
## 2. Architecture Overview
|
|
18
|
+
|
|
19
|
+
{{architecture_overview}}
|
|
20
|
+
|
|
21
|
+
## 3. Data Architecture
|
|
22
|
+
|
|
23
|
+
{{data_architecture}}
|
|
24
|
+
|
|
25
|
+
## 4. Component & Integration Overview
|
|
26
|
+
|
|
27
|
+
{{component_overview}}
|
|
28
|
+
|
|
29
|
+
## 5. Architecture Decision Records
|
|
30
|
+
|
|
31
|
+
{{architecture_decisions}}
|
|
32
|
+
|
|
33
|
+
## 6. Implementation Guidance
|
|
34
|
+
|
|
35
|
+
{{implementation_guidance}}
|
|
36
|
+
|
|
37
|
+
## 7. Proposed Source Tree
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
{{source_tree}}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 8. Testing Strategy
|
|
44
|
+
|
|
45
|
+
{{testing_strategy}}
|
|
46
|
+
{{testing_specialist_section}}
|
|
47
|
+
|
|
48
|
+
## 9. Deployment & Operations
|
|
49
|
+
|
|
50
|
+
{{deployment_operations}}
|
|
51
|
+
{{devops_specialist_section}}
|
|
52
|
+
|
|
53
|
+
## 10. Security
|
|
54
|
+
|
|
55
|
+
{{security}}
|
|
56
|
+
{{security_specialist_section}}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Specialist Sections
|
|
61
|
+
|
|
62
|
+
{{specialist_sections_summary}}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
_Generated using BMad Method Solution Architecture workflow_
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# {{TITLE}} Architecture Document
|
|
2
|
+
|
|
3
|
+
**Project:** {{project_name}}
|
|
4
|
+
**Date:** {{date}}
|
|
5
|
+
**Author:** {{user_name}}
|
|
6
|
+
|
|
7
|
+
## Executive Summary
|
|
8
|
+
|
|
9
|
+
{{executive_summary}}
|
|
10
|
+
|
|
11
|
+
## 1. Technology Stack & Decisions
|
|
12
|
+
|
|
13
|
+
### 1.1 Technology & Library Decision Table
|
|
14
|
+
|
|
15
|
+
{{technology_table}}
|
|
16
|
+
|
|
17
|
+
## 2. Architecture Overview
|
|
18
|
+
|
|
19
|
+
{{architecture_overview}}
|
|
20
|
+
|
|
21
|
+
## 3. Data Architecture
|
|
22
|
+
|
|
23
|
+
{{data_architecture}}
|
|
24
|
+
|
|
25
|
+
## 4. Component & Integration Overview
|
|
26
|
+
|
|
27
|
+
{{component_overview}}
|
|
28
|
+
|
|
29
|
+
## 5. Architecture Decision Records
|
|
30
|
+
|
|
31
|
+
{{architecture_decisions}}
|
|
32
|
+
|
|
33
|
+
## 6. Implementation Guidance
|
|
34
|
+
|
|
35
|
+
{{implementation_guidance}}
|
|
36
|
+
|
|
37
|
+
## 7. Proposed Source Tree
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
{{source_tree}}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 8. Testing Strategy
|
|
44
|
+
|
|
45
|
+
{{testing_strategy}}
|
|
46
|
+
{{testing_specialist_section}}
|
|
47
|
+
|
|
48
|
+
## 9. Deployment & Operations
|
|
49
|
+
|
|
50
|
+
{{deployment_operations}}
|
|
51
|
+
{{devops_specialist_section}}
|
|
52
|
+
|
|
53
|
+
## 10. Security
|
|
54
|
+
|
|
55
|
+
{{security}}
|
|
56
|
+
{{security_specialist_section}}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Specialist Sections
|
|
61
|
+
|
|
62
|
+
{{specialist_sections_summary}}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
_Generated using BMad Method Solution Architecture workflow_
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# {{TITLE}} Architecture Document
|
|
2
|
+
|
|
3
|
+
**Project:** {{project_name}}
|
|
4
|
+
**Date:** {{date}}
|
|
5
|
+
**Author:** {{user_name}}
|
|
6
|
+
|
|
7
|
+
## Executive Summary
|
|
8
|
+
|
|
9
|
+
{{executive_summary}}
|
|
10
|
+
|
|
11
|
+
## 1. Technology Stack & Decisions
|
|
12
|
+
|
|
13
|
+
### 1.1 Technology & Library Decision Table
|
|
14
|
+
|
|
15
|
+
{{technology_table}}
|
|
16
|
+
|
|
17
|
+
## 2. Architecture Overview
|
|
18
|
+
|
|
19
|
+
{{architecture_overview}}
|
|
20
|
+
|
|
21
|
+
## 3. Data Architecture
|
|
22
|
+
|
|
23
|
+
{{data_architecture}}
|
|
24
|
+
|
|
25
|
+
## 4. Component & Integration Overview
|
|
26
|
+
|
|
27
|
+
{{component_overview}}
|
|
28
|
+
|
|
29
|
+
## 5. Architecture Decision Records
|
|
30
|
+
|
|
31
|
+
{{architecture_decisions}}
|
|
32
|
+
|
|
33
|
+
## 6. Implementation Guidance
|
|
34
|
+
|
|
35
|
+
{{implementation_guidance}}
|
|
36
|
+
|
|
37
|
+
## 7. Proposed Source Tree
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
{{source_tree}}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 8. Testing Strategy
|
|
44
|
+
|
|
45
|
+
{{testing_strategy}}
|
|
46
|
+
{{testing_specialist_section}}
|
|
47
|
+
|
|
48
|
+
## 9. Deployment & Operations
|
|
49
|
+
|
|
50
|
+
{{deployment_operations}}
|
|
51
|
+
{{devops_specialist_section}}
|
|
52
|
+
|
|
53
|
+
## 10. Security
|
|
54
|
+
|
|
55
|
+
{{security}}
|
|
56
|
+
{{security_specialist_section}}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Specialist Sections
|
|
61
|
+
|
|
62
|
+
{{specialist_sections_summary}}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
_Generated using BMad Method Solution Architecture workflow_
|