bmad-method 4.27.0 → 4.27.2

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bmad-core/agent-teams/team-all.yaml +6 -6
  3. package/bmad-core/agent-teams/team-fullstack.yaml +6 -6
  4. package/bmad-core/agent-teams/team-no-ui.yaml +2 -2
  5. package/bmad-core/agents/analyst.md +17 -20
  6. package/bmad-core/agents/architect.md +15 -18
  7. package/bmad-core/agents/bmad-master.md +55 -56
  8. package/bmad-core/agents/bmad-orchestrator.md +24 -23
  9. package/bmad-core/agents/dev.md +10 -10
  10. package/bmad-core/agents/pm.md +17 -20
  11. package/bmad-core/agents/po.md +12 -15
  12. package/bmad-core/agents/qa.md +7 -8
  13. package/bmad-core/agents/sm.md +8 -13
  14. package/bmad-core/agents/ux-expert.md +7 -11
  15. package/bmad-core/core-config.yaml +1 -1
  16. package/bmad-core/templates/architecture-tmpl.yaml +650 -0
  17. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  18. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  19. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  20. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  21. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  22. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  23. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
  24. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  25. package/bmad-core/templates/{prd-tmpl2.yaml → prd-tmpl.yaml} +3 -3
  26. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  27. package/bmad-core/templates/story-tmpl.yaml +137 -0
  28. package/common/tasks/create-doc.md +55 -67
  29. package/common/utils/bmad-doc-template.md +29 -0
  30. package/dist/agents/analyst.txt +1004 -1061
  31. package/dist/agents/architect.txt +2460 -2872
  32. package/dist/agents/bmad-master.txt +3842 -4354
  33. package/dist/agents/bmad-orchestrator.txt +211 -87
  34. package/dist/agents/dev.txt +4 -8
  35. package/dist/agents/pm.txt +557 -587
  36. package/dist/agents/po.txt +149 -102
  37. package/dist/agents/qa.txt +145 -35
  38. package/dist/agents/sm.txt +145 -100
  39. package/dist/agents/ux-expert.txt +413 -522
  40. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +1258 -1236
  41. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +623 -573
  42. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +263 -248
  43. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +9135 -4942
  44. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +288 -251
  45. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +1123 -1145
  46. package/dist/teams/team-all.txt +4583 -4837
  47. package/dist/teams/team-fullstack.txt +5276 -5520
  48. package/dist/teams/team-ide-minimal.txt +375 -185
  49. package/dist/teams/team-no-ui.txt +4875 -5051
  50. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +2 -2
  51. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +17 -15
  52. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +13 -11
  53. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +13 -11
  54. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  55. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
  56. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
  57. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  58. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
  59. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  60. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +14 -12
  61. package/expansion-packs/bmad-creator-tools/config.yaml +1 -1
  62. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +178 -0
  63. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +154 -0
  64. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +120 -0
  65. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +14 -14
  66. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  67. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
  68. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
  69. package/package.json +1 -1
  70. package/tools/builders/web-builder.js +65 -85
  71. package/tools/installer/package.json +1 -1
  72. package/tools/lib/dependency-resolver.js +8 -19
  73. package/zoo/docs/architecture.md +812 -0
  74. package/zoo/docs/brief.md +253 -0
  75. package/zoo/docs/prd.md +500 -0
  76. package/zoo/docs/stories/1.1.story.md +278 -0
  77. package/bmad-core/templates/architecture-tmpl.md +0 -776
  78. package/bmad-core/templates/brainstorming-output-tmpl.md +0 -149
  79. package/bmad-core/templates/brownfield-architecture-tmpl.md +0 -544
  80. package/bmad-core/templates/brownfield-prd-tmpl.md +0 -266
  81. package/bmad-core/templates/competitor-analysis-tmpl.md +0 -291
  82. package/bmad-core/templates/front-end-architecture-tmpl.md +0 -175
  83. package/bmad-core/templates/front-end-spec-tmpl.md +0 -413
  84. package/bmad-core/templates/fullstack-architecture-tmpl.md +0 -1018
  85. package/bmad-core/templates/market-research-tmpl.md +0 -263
  86. package/bmad-core/templates/prd-tmpl.md +0 -202
  87. package/bmad-core/templates/project-brief-tmpl.md +0 -232
  88. package/bmad-core/templates/story-tmpl.md +0 -58
  89. package/common/tasks/create-doc2.md +0 -65
  90. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +0 -560
  91. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.md +0 -345
  92. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.md +0 -331
  93. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.md +0 -235
  94. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +0 -470
  95. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.md +0 -154
  96. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.md +0 -143
  97. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.md +0 -91
  98. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
  99. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
@@ -1,58 +0,0 @@
1
- ---
2
- defaultOutput: docs/stories/{{EpicNum}}.{{StoryNum}}.{{Short Title Copied from Epic File specific story}}.md
3
- smAgent:
4
- editableSections: Status, Story, Acceptance Criteria, Tasks / Subtasks, Dev Notes, Testing, Change Log
5
- sectionSpecificInstructions:
6
- "Dev Notes":
7
- - Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story
8
- - Do not invent information.
9
- - If known add Relevant Source Tree info that relates to this story.
10
- - If there were important notes from previous story that are relevant to this one, include them here.
11
- - Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks.
12
- Testing:
13
- - List Relevant Testing Standards from Architecture the Developer needs to conform to (test file location, test standards, etc)
14
- ---
15
-
16
- # Story {{EpicNum}}.{{StoryNum}}: {{Short Title Copied from Epic File specific story}}
17
-
18
- ## Status: {{ Draft | Approved | InProgress | Review | Done }}
19
-
20
- ## Story
21
-
22
- **As a** {{role}},\
23
- **I want** {{action}},\
24
- **so that** {{benefit}}
25
-
26
- ## Acceptance Criteria
27
-
28
- {{ Copy of Acceptance Criteria numbered list }}
29
-
30
- ## Tasks / Subtasks
31
-
32
- - [ ] Task 1 (AC: # if applicable)
33
- - [ ] Subtask1.1...
34
- - [ ] Task 2 (AC: # if applicable)
35
- - [ ] Subtask 2.1...
36
- - [ ] Task 3 (AC: # if applicable)
37
- - [ ] Subtask 3.1...
38
-
39
- ## Dev Notes
40
-
41
- ### Testing
42
-
43
- ## Change Log
44
-
45
- | Date | Version | Description | Author |
46
- | :--- | :------ | :---------- | :----- |
47
-
48
- ## Dev Agent Record
49
-
50
- ### Agent Model Used: {{Agent Model Name/Version}}
51
-
52
- ### Debug Log References
53
-
54
- ### Completion Notes List
55
-
56
- ### File List
57
-
58
- ## QA Results
@@ -1,65 +0,0 @@
1
- # Create Document from Template (YAML Driven)
2
-
3
- ## CRITICAL: Mandatory Elicitation Format
4
-
5
- **When `elicit: true`, ALWAYS use this exact format:**
6
-
7
- 1. Present section content
8
- 2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
9
- 3. Present numbered options 1-9:
10
- - **Option 1:** Always "Proceed to next section"
11
- - **Options 2-9:** Select 8 methods from data/elicitation-methods
12
- - End with: "Select 1-9 or just type your question/feedback:"
13
-
14
- **NEVER ask yes/no questions or use any other format.**
15
-
16
- ## Processing Flow
17
-
18
- 1. **Parse YAML template** - Load template metadata and sections
19
- 2. **Set preferences** - Show current mode (Interactive), confirm output file
20
- 3. **Process each section:**
21
- - Skip if condition unmet
22
- - Draft content using section instruction
23
- - Present content + detailed rationale
24
- - **IF elicit: true** → MANDATORY 1-9 options format
25
- - Save to file if possible
26
- 4. **Continue until complete**
27
-
28
- ## Detailed Rationale Requirements
29
-
30
- When presenting section content, ALWAYS include rationale that explains:
31
-
32
- - Trade-offs and choices made (what was chosen over alternatives and why)
33
- - Key assumptions made during drafting
34
- - Interesting or questionable decisions that need user attention
35
- - Areas that might need validation
36
-
37
- ## Elicitation Results Flow
38
-
39
- After user selects elicitation method (2-9):
40
-
41
- 1. Execute method from data/elicitation-methods
42
- 2. Present results with insights
43
- 3. Offer options:
44
- - **1. Apply changes and update section**
45
- - **2. Return to elicitation menu**
46
- - **3. Ask any questions or engage further with this elicitation**
47
-
48
- ## YOLO Mode
49
-
50
- User can type `#yolo` to toggle to YOLO mode (process all sections at once).
51
-
52
- ## CRITICAL REMINDERS
53
-
54
- **❌ NEVER:**
55
-
56
- - Ask yes/no questions for elicitation
57
- - Use any format other than 1-9 numbered options
58
- - Create new elicitation methods
59
-
60
- **✅ ALWAYS:**
61
-
62
- - Use exact 1-9 format when elicit: true
63
- - Select options 2-9 from data/elicitation-methods only
64
- - Provide detailed rationale explaining decisions
65
- - End with "Select 1-9 or just type your question/feedback:"
@@ -1,560 +0,0 @@
1
- # {{Game Title}} Game Architecture Document
2
-
3
- [[LLM: This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
4
-
5
- If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.]]
6
-
7
- ## Introduction
8
-
9
- [[LLM: Establish the document's purpose and scope for game development]]
10
-
11
- This document outlines the complete technical architecture for {{Game Title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
12
-
13
- This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
14
-
15
- ### Change Log
16
-
17
- [[LLM: Track document versions and changes]]
18
-
19
- | Date | Version | Description | Author |
20
- | :--- | :------ | :---------- | :----- |
21
-
22
- ## Technical Overview
23
-
24
- [[LLM: Present all subsections together, then apply `tasks#advanced-elicitation` protocol to the complete section.]]
25
-
26
- ### Architecture Summary
27
-
28
- [[LLM: Provide a comprehensive overview covering:
29
-
30
- - Game engine choice and configuration
31
- - Project structure and organization
32
- - Key systems and their interactions
33
- - Performance and optimization strategy
34
- - How this architecture achieves GDD requirements]]
35
-
36
- ### Platform Targets
37
-
38
- [[LLM: Based on GDD requirements, confirm platform support]]
39
-
40
- **Primary Platform:** {{primary_platform}}
41
- **Secondary Platforms:** {{secondary_platforms}}
42
- **Minimum Requirements:** {{min_specs}}
43
- **Target Performance:** 60 FPS on {{target_device}}
44
-
45
- ### Technology Stack
46
-
47
- **Core Engine:** Phaser 3.70+
48
- **Language:** TypeScript 5.0+ (Strict Mode)
49
- **Build Tool:** {{build_tool}} (Webpack/Vite/Parcel)
50
- **Package Manager:** {{package_manager}}
51
- **Testing:** {{test_framework}}
52
- **Deployment:** {{deployment_platform}}
53
-
54
- ## Project Structure
55
-
56
- [[LLM: Define the complete project organization that developers will follow]]
57
-
58
- ### Repository Organization
59
-
60
- [[LLM: Design a clear folder structure for game development]]
61
-
62
- ```text
63
- {{game_name}}/
64
- ├── src/
65
- │ ├── scenes/ # Game scenes
66
- │ ├── gameObjects/ # Custom game objects
67
- │ ├── systems/ # Core game systems
68
- │ ├── utils/ # Utility functions
69
- │ ├── types/ # TypeScript type definitions
70
- │ ├── config/ # Game configuration
71
- │ └── main.ts # Entry point
72
- ├── assets/
73
- │ ├── images/ # Sprite assets
74
- │ ├── audio/ # Sound files
75
- │ ├── data/ # JSON data files
76
- │ └── fonts/ # Font files
77
- ├── public/ # Static web assets
78
- ├── tests/ # Test files
79
- ├── docs/ # Documentation
80
- │ ├── stories/ # Development stories
81
- │ └── architecture/ # Technical docs
82
- └── dist/ # Built game files
83
- ```
84
-
85
- ### Module Organization
86
-
87
- [[LLM: Define how TypeScript modules should be organized]]
88
-
89
- **Scene Structure:**
90
-
91
- - Each scene in separate file
92
- - Scene-specific logic contained
93
- - Clear data passing between scenes
94
-
95
- **Game Object Pattern:**
96
-
97
- - Component-based architecture
98
- - Reusable game object classes
99
- - Type-safe property definitions
100
-
101
- **System Architecture:**
102
-
103
- - Singleton managers for global systems
104
- - Event-driven communication
105
- - Clear separation of concerns
106
-
107
- ## Core Game Systems
108
-
109
- [[LLM: Detail each major system that needs to be implemented. Each system should be specific enough for developers to create implementation stories.]]
110
-
111
- ### Scene Management System
112
-
113
- **Purpose:** Handle game flow and scene transitions
114
-
115
- **Key Components:**
116
-
117
- - Scene loading and unloading
118
- - Data passing between scenes
119
- - Transition effects
120
- - Memory management
121
-
122
- **Implementation Requirements:**
123
-
124
- - Preload scene for asset loading
125
- - Menu system with navigation
126
- - Gameplay scenes with state management
127
- - Pause/resume functionality
128
-
129
- **Files to Create:**
130
-
131
- - `src/scenes/BootScene.ts`
132
- - `src/scenes/PreloadScene.ts`
133
- - `src/scenes/MenuScene.ts`
134
- - `src/scenes/GameScene.ts`
135
- - `src/systems/SceneManager.ts`
136
-
137
- ### Game State Management
138
-
139
- **Purpose:** Track player progress and game status
140
-
141
- **State Categories:**
142
-
143
- - Player progress (levels, unlocks)
144
- - Game settings (audio, controls)
145
- - Session data (current level, score)
146
- - Persistent data (achievements, statistics)
147
-
148
- **Implementation Requirements:**
149
-
150
- - Save/load system with localStorage
151
- - State validation and error recovery
152
- - Cross-session data persistence
153
- - Settings management
154
-
155
- **Files to Create:**
156
-
157
- - `src/systems/GameState.ts`
158
- - `src/systems/SaveManager.ts`
159
- - `src/types/GameData.ts`
160
-
161
- ### Asset Management System
162
-
163
- **Purpose:** Efficient loading and management of game assets
164
-
165
- **Asset Categories:**
166
-
167
- - Sprite sheets and animations
168
- - Audio files and music
169
- - Level data and configurations
170
- - UI assets and fonts
171
-
172
- **Implementation Requirements:**
173
-
174
- - Progressive loading strategy
175
- - Asset caching and optimization
176
- - Error handling for failed loads
177
- - Memory management for large assets
178
-
179
- **Files to Create:**
180
-
181
- - `src/systems/AssetManager.ts`
182
- - `src/config/AssetConfig.ts`
183
- - `src/utils/AssetLoader.ts`
184
-
185
- ### Input Management System
186
-
187
- **Purpose:** Handle all player input across platforms
188
-
189
- **Input Types:**
190
-
191
- - Keyboard controls
192
- - Mouse/pointer interaction
193
- - Touch gestures (mobile)
194
- - Gamepad support (optional)
195
-
196
- **Implementation Requirements:**
197
-
198
- - Input mapping and configuration
199
- - Touch-friendly mobile controls
200
- - Input buffering for responsive gameplay
201
- - Customizable control schemes
202
-
203
- **Files to Create:**
204
-
205
- - `src/systems/InputManager.ts`
206
- - `src/utils/TouchControls.ts`
207
- - `src/types/InputTypes.ts`
208
-
209
- ### Game Mechanics Systems
210
-
211
- [[LLM: For each major mechanic defined in the GDD, create a system specification]]
212
-
213
- <<REPEAT section="mechanic_system" count="based_on_gdd">>
214
-
215
- #### {{mechanic_name}} System
216
-
217
- **Purpose:** {{system_purpose}}
218
-
219
- **Core Functionality:**
220
-
221
- - {{feature_1}}
222
- - {{feature_2}}
223
- - {{feature_3}}
224
-
225
- **Dependencies:** {{required_systems}}
226
-
227
- **Performance Considerations:** {{optimization_notes}}
228
-
229
- **Files to Create:**
230
-
231
- - `src/systems/{{SystemName}}.ts`
232
- - `src/gameObjects/{{RelatedObject}}.ts`
233
- - `src/types/{{SystemTypes}}.ts`
234
-
235
- <</REPEAT>>
236
-
237
- ### Physics & Collision System
238
-
239
- **Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
240
-
241
- **Collision Categories:**
242
-
243
- - Player collision
244
- - Enemy interactions
245
- - Environmental objects
246
- - Collectibles and items
247
-
248
- **Implementation Requirements:**
249
-
250
- - Optimized collision detection
251
- - Physics body management
252
- - Collision callbacks and events
253
- - Performance monitoring
254
-
255
- **Files to Create:**
256
-
257
- - `src/systems/PhysicsManager.ts`
258
- - `src/utils/CollisionGroups.ts`
259
-
260
- ### Audio System
261
-
262
- **Audio Requirements:**
263
-
264
- - Background music with looping
265
- - Sound effects for actions
266
- - Audio settings and volume control
267
- - Mobile audio optimization
268
-
269
- **Implementation Features:**
270
-
271
- - Audio sprite management
272
- - Dynamic music system
273
- - Spatial audio (if applicable)
274
- - Audio pooling for performance
275
-
276
- **Files to Create:**
277
-
278
- - `src/systems/AudioManager.ts`
279
- - `src/config/AudioConfig.ts`
280
-
281
- ### UI System
282
-
283
- **UI Components:**
284
-
285
- - HUD elements (score, health, etc.)
286
- - Menu navigation
287
- - Modal dialogs
288
- - Settings screens
289
-
290
- **Implementation Requirements:**
291
-
292
- - Responsive layout system
293
- - Touch-friendly interface
294
- - Keyboard navigation support
295
- - Animation and transitions
296
-
297
- **Files to Create:**
298
-
299
- - `src/systems/UIManager.ts`
300
- - `src/gameObjects/UI/`
301
- - `src/types/UITypes.ts`
302
-
303
- ## Performance Architecture
304
-
305
- [[LLM: Define performance requirements and optimization strategies]]
306
-
307
- ### Performance Targets
308
-
309
- **Frame Rate:** 60 FPS sustained, 30 FPS minimum
310
- **Memory Usage:** <{{memory_limit}}MB total
311
- **Load Times:** <{{initial_load}}s initial, <{{level_load}}s per level
312
- **Battery Optimization:** Reduced updates when not visible
313
-
314
- ### Optimization Strategies
315
-
316
- **Object Pooling:**
317
-
318
- - Bullets and projectiles
319
- - Particle effects
320
- - Enemy objects
321
- - UI elements
322
-
323
- **Asset Optimization:**
324
-
325
- - Texture atlases for sprites
326
- - Audio compression
327
- - Lazy loading for large assets
328
- - Progressive enhancement
329
-
330
- **Rendering Optimization:**
331
-
332
- - Sprite batching
333
- - Culling off-screen objects
334
- - Reduced particle counts on mobile
335
- - Texture resolution scaling
336
-
337
- **Files to Create:**
338
-
339
- - `src/utils/ObjectPool.ts`
340
- - `src/utils/PerformanceMonitor.ts`
341
- - `src/config/OptimizationConfig.ts`
342
-
343
- ## Game Configuration
344
-
345
- [[LLM: Define all configurable aspects of the game]]
346
-
347
- ### Phaser Configuration
348
-
349
- ```typescript
350
- // src/config/GameConfig.ts
351
- const gameConfig: Phaser.Types.Core.GameConfig = {
352
- type: Phaser.AUTO,
353
- width: {{game_width}},
354
- height: {{game_height}},
355
- scale: {
356
- mode: {{scale_mode}},
357
- autoCenter: Phaser.Scale.CENTER_BOTH
358
- },
359
- physics: {
360
- default: '{{physics_system}}',
361
- {{physics_system}}: {
362
- gravity: { y: {{gravity}} },
363
- debug: false
364
- }
365
- },
366
- // Additional configuration...
367
- };
368
- ```
369
-
370
- ### Game Balance Configuration
371
-
372
- [[LLM: Based on GDD, define configurable game parameters]]
373
-
374
- ```typescript
375
- // src/config/GameBalance.ts
376
- export const GameBalance = {
377
- player: {
378
- speed: {{player_speed}},
379
- health: {{player_health}},
380
- // Additional player parameters...
381
- },
382
- difficulty: {
383
- easy: {{easy_params}},
384
- normal: {{normal_params}},
385
- hard: {{hard_params}}
386
- },
387
- // Additional balance parameters...
388
- };
389
- ```
390
-
391
- ## Development Guidelines
392
-
393
- [[LLM: Provide coding standards specific to game development]]
394
-
395
- ### TypeScript Standards
396
-
397
- **Type Safety:**
398
-
399
- - Use strict mode
400
- - Define interfaces for all data structures
401
- - Avoid `any` type usage
402
- - Use enums for game states
403
-
404
- **Code Organization:**
405
-
406
- - One class per file
407
- - Clear naming conventions
408
- - Proper error handling
409
- - Comprehensive documentation
410
-
411
- ### Phaser 3 Best Practices
412
-
413
- **Scene Management:**
414
-
415
- - Clean up resources in shutdown()
416
- - Use scene data for communication
417
- - Implement proper event handling
418
- - Avoid memory leaks
419
-
420
- **Game Object Design:**
421
-
422
- - Extend Phaser classes appropriately
423
- - Use component-based architecture
424
- - Implement object pooling where needed
425
- - Follow consistent update patterns
426
-
427
- ### Testing Strategy
428
-
429
- **Unit Testing:**
430
-
431
- - Test game logic separately from Phaser
432
- - Mock Phaser dependencies
433
- - Test utility functions
434
- - Validate game balance calculations
435
-
436
- **Integration Testing:**
437
-
438
- - Scene loading and transitions
439
- - Save/load functionality
440
- - Input handling
441
- - Performance benchmarks
442
-
443
- **Files to Create:**
444
-
445
- - `tests/utils/GameLogic.test.ts`
446
- - `tests/systems/SaveManager.test.ts`
447
- - `tests/performance/FrameRate.test.ts`
448
-
449
- ## Deployment Architecture
450
-
451
- [[LLM: Define how the game will be built and deployed]]
452
-
453
- ### Build Process
454
-
455
- **Development Build:**
456
-
457
- - Fast compilation
458
- - Source maps enabled
459
- - Debug logging active
460
- - Hot reload support
461
-
462
- **Production Build:**
463
-
464
- - Minified and optimized
465
- - Asset compression
466
- - Performance monitoring
467
- - Error tracking
468
-
469
- ### Deployment Strategy
470
-
471
- **Web Deployment:**
472
-
473
- - Static hosting ({{hosting_platform}})
474
- - CDN for assets
475
- - Progressive loading
476
- - Browser compatibility
477
-
478
- **Mobile Packaging:**
479
-
480
- - Cordova/Capacitor wrapper
481
- - Platform-specific optimization
482
- - App store requirements
483
- - Performance testing
484
-
485
- ## Implementation Roadmap
486
-
487
- [[LLM: Break down the architecture implementation into phases that align with the GDD development phases]]
488
-
489
- ### Phase 1: Foundation ({{duration}})
490
-
491
- **Core Systems:**
492
-
493
- - Project setup and configuration
494
- - Basic scene management
495
- - Asset loading pipeline
496
- - Input handling framework
497
-
498
- **Story Epics:**
499
-
500
- - "Engine Setup and Configuration"
501
- - "Basic Scene Management System"
502
- - "Asset Loading Foundation"
503
-
504
- ### Phase 2: Game Systems ({{duration}})
505
-
506
- **Gameplay Systems:**
507
-
508
- - {{primary_mechanic}} implementation
509
- - Physics and collision system
510
- - Game state management
511
- - UI framework
512
-
513
- **Story Epics:**
514
-
515
- - "{{Primary_Mechanic}} System Implementation"
516
- - "Physics and Collision Framework"
517
- - "Game State Management System"
518
-
519
- ### Phase 3: Content & Polish ({{duration}})
520
-
521
- **Content Systems:**
522
-
523
- - Level loading and management
524
- - Audio system integration
525
- - Performance optimization
526
- - Final polish and testing
527
-
528
- **Story Epics:**
529
-
530
- - "Level Management System"
531
- - "Audio Integration and Optimization"
532
- - "Performance Optimization and Testing"
533
-
534
- ## Risk Assessment
535
-
536
- [[LLM: Identify potential technical risks and mitigation strategies]]
537
-
538
- | Risk | Probability | Impact | Mitigation Strategy |
539
- | ---------------------------- | ----------- | ---------- | ------------------- |
540
- | Performance issues on mobile | {{prob}} | {{impact}} | {{mitigation}} |
541
- | Asset loading bottlenecks | {{prob}} | {{impact}} | {{mitigation}} |
542
- | Cross-platform compatibility | {{prob}} | {{impact}} | {{mitigation}} |
543
-
544
- ## Success Criteria
545
-
546
- [[LLM: Define measurable technical success criteria]]
547
-
548
- **Technical Metrics:**
549
-
550
- - All systems implemented per specification
551
- - Performance targets met consistently
552
- - Zero critical bugs in core systems
553
- - Successful deployment across target platforms
554
-
555
- **Code Quality:**
556
-
557
- - 90%+ test coverage on game logic
558
- - Zero TypeScript errors in strict mode
559
- - Consistent adherence to coding standards
560
- - Comprehensive documentation coverage