bmad-method 4.42.1 → 4.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CONTRIBUTING.md +2 -9
  2. package/README.md +0 -98
  3. package/bmad-core/agents/bmad-master.md +6 -6
  4. package/bmad-core/data/bmad-kb.md +1 -0
  5. package/bmad-core/tasks/validate-next-story.md +1 -1
  6. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +5 -5
  7. package/dist/agents/analyst.txt +1 -0
  8. package/dist/agents/architect.txt +5 -5
  9. package/dist/agents/bmad-master.txt +12 -11
  10. package/dist/agents/bmad-orchestrator.txt +1 -0
  11. package/dist/agents/dev.txt +1 -1
  12. package/dist/agents/po.txt +1 -1
  13. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1 -1
  14. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
  15. package/dist/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.txt +1513 -0
  16. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-analyst.txt +3190 -0
  17. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-architect.txt +4499 -0
  18. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-designer.txt +3925 -0
  19. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-developer.txt +666 -0
  20. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-pm.txt +2381 -0
  21. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-po.txt +1612 -0
  22. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-qa.txt +1745 -0
  23. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-sm.txt +1208 -0
  24. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.txt +958 -0
  25. package/dist/expansion-packs/bmad-godot-game-dev/teams/godot-game-team.txt +27721 -0
  26. package/dist/teams/team-all.txt +7 -6
  27. package/dist/teams/team-fullstack.txt +7 -6
  28. package/dist/teams/team-ide-minimal.txt +2 -1
  29. package/dist/teams/team-no-ui.txt +7 -6
  30. package/docs/GUIDING-PRINCIPLES.md +3 -3
  31. package/docs/expansion-packs.md +3 -83
  32. package/docs/flattener.md +91 -0
  33. package/docs/versions.md +1 -1
  34. package/docs/working-in-the-brownfield.md +15 -6
  35. package/expansion-packs/bmad-godot-game-dev/README.md +244 -0
  36. package/expansion-packs/bmad-godot-game-dev/agent-teams/godot-game-team.yaml +18 -0
  37. package/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.md +147 -0
  38. package/expansion-packs/bmad-godot-game-dev/agents/game-analyst.md +84 -0
  39. package/expansion-packs/bmad-godot-game-dev/agents/game-architect.md +146 -0
  40. package/expansion-packs/bmad-godot-game-dev/agents/game-designer.md +78 -0
  41. package/expansion-packs/bmad-godot-game-dev/agents/game-developer.md +124 -0
  42. package/expansion-packs/bmad-godot-game-dev/agents/game-pm.md +82 -0
  43. package/expansion-packs/bmad-godot-game-dev/agents/game-po.md +115 -0
  44. package/expansion-packs/bmad-godot-game-dev/agents/game-qa.md +160 -0
  45. package/expansion-packs/bmad-godot-game-dev/agents/game-sm.md +66 -0
  46. package/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.md +75 -0
  47. package/expansion-packs/bmad-godot-game-dev/checklists/game-architect-checklist.md +377 -0
  48. package/expansion-packs/bmad-godot-game-dev/checklists/game-change-checklist.md +250 -0
  49. package/expansion-packs/bmad-godot-game-dev/checklists/game-design-checklist.md +225 -0
  50. package/expansion-packs/bmad-godot-game-dev/checklists/game-po-checklist.md +448 -0
  51. package/expansion-packs/bmad-godot-game-dev/checklists/game-story-dod-checklist.md +202 -0
  52. package/expansion-packs/bmad-godot-game-dev/config.yaml +30 -0
  53. package/expansion-packs/bmad-godot-game-dev/data/bmad-kb.md +811 -0
  54. package/expansion-packs/bmad-godot-game-dev/data/brainstorming-techniques.md +36 -0
  55. package/expansion-packs/bmad-godot-game-dev/data/development-guidelines.md +893 -0
  56. package/expansion-packs/bmad-godot-game-dev/data/elicitation-methods.md +156 -0
  57. package/expansion-packs/bmad-godot-game-dev/data/technical-preferences.md +3 -0
  58. package/expansion-packs/bmad-godot-game-dev/tasks/advanced-elicitation.md +110 -0
  59. package/expansion-packs/bmad-godot-game-dev/tasks/apply-qa-fixes.md +224 -0
  60. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-epic.md +162 -0
  61. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-story.md +149 -0
  62. package/expansion-packs/bmad-godot-game-dev/tasks/correct-course-game.md +159 -0
  63. package/expansion-packs/bmad-godot-game-dev/tasks/create-deep-research-prompt.md +278 -0
  64. package/expansion-packs/bmad-godot-game-dev/tasks/create-doc.md +103 -0
  65. package/expansion-packs/bmad-godot-game-dev/tasks/create-game-story.md +202 -0
  66. package/expansion-packs/bmad-godot-game-dev/tasks/document-project.md +343 -0
  67. package/expansion-packs/bmad-godot-game-dev/tasks/execute-checklist.md +88 -0
  68. package/expansion-packs/bmad-godot-game-dev/tasks/facilitate-brainstorming-session.md +136 -0
  69. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-epic.md +160 -0
  70. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-story.md +147 -0
  71. package/expansion-packs/bmad-godot-game-dev/tasks/game-design-brainstorming.md +290 -0
  72. package/expansion-packs/bmad-godot-game-dev/tasks/game-risk-profile.md +368 -0
  73. package/expansion-packs/bmad-godot-game-dev/tasks/game-test-design.md +219 -0
  74. package/expansion-packs/bmad-godot-game-dev/tasks/generate-ai-frontend-prompt.md +51 -0
  75. package/expansion-packs/bmad-godot-game-dev/tasks/kb-mode-interaction.md +77 -0
  76. package/expansion-packs/bmad-godot-game-dev/tasks/review-game-story.md +364 -0
  77. package/expansion-packs/bmad-godot-game-dev/tasks/shard-doc.md +187 -0
  78. package/expansion-packs/bmad-godot-game-dev/tasks/validate-game-story.md +208 -0
  79. package/expansion-packs/bmad-godot-game-dev/templates/brainstorming-output-tmpl.yaml +156 -0
  80. package/expansion-packs/bmad-godot-game-dev/templates/brownfield-prd-tmpl.yaml +281 -0
  81. package/expansion-packs/bmad-godot-game-dev/templates/competitor-analysis-tmpl.yaml +306 -0
  82. package/expansion-packs/bmad-godot-game-dev/templates/game-architecture-tmpl.yaml +1111 -0
  83. package/expansion-packs/bmad-godot-game-dev/templates/game-brief-tmpl.yaml +356 -0
  84. package/expansion-packs/bmad-godot-game-dev/templates/game-design-doc-tmpl.yaml +724 -0
  85. package/expansion-packs/bmad-godot-game-dev/templates/game-prd-tmpl.yaml +209 -0
  86. package/expansion-packs/bmad-godot-game-dev/templates/game-qa-gate-tmpl.yaml +186 -0
  87. package/expansion-packs/bmad-godot-game-dev/templates/game-story-tmpl.yaml +406 -0
  88. package/expansion-packs/bmad-godot-game-dev/templates/game-ui-spec-tmpl.yaml +601 -0
  89. package/expansion-packs/bmad-godot-game-dev/templates/level-design-doc-tmpl.yaml +620 -0
  90. package/expansion-packs/bmad-godot-game-dev/templates/market-research-tmpl.yaml +418 -0
  91. package/expansion-packs/bmad-godot-game-dev/utils/bmad-doc-template.md +327 -0
  92. package/expansion-packs/bmad-godot-game-dev/utils/workflow-management.md +71 -0
  93. package/expansion-packs/bmad-godot-game-dev/workflows/game-dev-greenfield.yaml +245 -0
  94. package/expansion-packs/bmad-godot-game-dev/workflows/game-prototype.yaml +213 -0
  95. package/package.json +1 -1
  96. package/release_notes.md +19 -2
  97. package/tools/flattener/ignoreRules.js +2 -0
  98. package/tools/installer/bin/bmad.js +37 -1
  99. package/tools/installer/config/install.config.yaml +35 -7
  100. package/tools/installer/lib/ide-setup.js +285 -80
  101. package/tools/installer/lib/installer.js +6 -1
  102. package/tools/installer/package.json +1 -1
  103. package/tools/upgraders/v3-to-v4-upgrader.js +1 -0
  104. package/test.md +0 -1
  105. /package/{implement-fork-friendly-ci.sh → tools/implement-fork-friendly-ci.sh} +0 -0
@@ -0,0 +1,1111 @@
1
+ template:
2
+ id: game-architecture-template-v3
3
+ name: Game Architecture Document
4
+ version: 3.0
5
+ output:
6
+ format: markdown
7
+ filename: docs/architecture.md
8
+ title: "{{project_name}} Game Architecture Document"
9
+
10
+ workflow:
11
+ mode: interactive
12
+ elicitation: advanced-elicitation
13
+
14
+ sections:
15
+ - id: introduction
16
+ title: Introduction
17
+ instruction: |
18
+ If available, review any provided relevant documents to gather all relevant context before beginning. At a minimum you should locate and review: Game Design Document (GDD), Technical Preferences. If these are not available, ask the user what docs will provide the basis for the game architecture.
19
+ sections:
20
+ - id: intro-content
21
+ content: |
22
+ This document outlines the complete technical architecture for {{project_name}}, a game built with Godot Engine using GDScript and C#. It serves as the technical foundation for AI-driven game development with mandatory TDD practices, ensuring consistency, scalability, and 60+ FPS performance across all game systems.
23
+
24
+ This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining optimal performance through strategic language selection (GDScript for rapid iteration, C# for performance-critical systems) and following John Carmack's optimization philosophy.
25
+ - id: starter-template
26
+ title: Starter Template or Existing Project
27
+ instruction: |
28
+ Before proceeding further with game architecture design, check if the project is based on a Godot template or existing codebase:
29
+
30
+ 1. Review the GDD and brainstorming brief for any mentions of:
31
+ - Godot templates or starter projects
32
+ - Existing Godot projects being used as a foundation
33
+ - GDExtensions, plugins, or addons from the Asset Library
34
+ - Previous Godot game projects to be cloned or adapted
35
+
36
+ 2. If a starter template or existing project is mentioned:
37
+ - Ask the user to provide access via one of these methods:
38
+ - Link to the Godot template documentation
39
+ - Upload/attach the project files (for small projects)
40
+ - Share a link to the project repository (GitHub, GitLab, etc.)
41
+ - Analyze the starter/existing project to understand:
42
+ - Godot version (4.x or 3.x LTS)
43
+ - Node architecture and scene structure
44
+ - Language usage (GDScript vs C# balance)
45
+ - Performance characteristics (profiler data)
46
+ - Existing signal patterns and conventions
47
+ - Any limitations or constraints imposed by the starter
48
+ - Use this analysis to inform and align your architecture decisions
49
+
50
+ 3. If no starter template is mentioned but this is a greenfield project:
51
+ - Suggest appropriate Godot project structure
52
+ - Recommend language strategy (GDScript/C# split)
53
+ - Explain TDD setup with GUT and GoDotTest
54
+ - Let the user decide on the approach
55
+
56
+ 4. If the user confirms no starter template will be used:
57
+ - Proceed with architecture design from scratch
58
+ - Note that project.godot setup will be required
59
+ - Plan for 60+ FPS performance targets from the start
60
+
61
+ Document the decision here before proceeding with the architecture design. If none, just say N/A
62
+ elicit: true
63
+ - id: changelog
64
+ title: Change Log
65
+ type: table
66
+ columns: [Date, Version, Description, Author]
67
+ instruction: Track document versions and changes
68
+
69
+ - id: high-level-architecture
70
+ title: High Level Architecture
71
+ instruction: |
72
+ This section contains multiple subsections that establish the foundation of the game architecture. Present all subsections together at once.
73
+ elicit: true
74
+ sections:
75
+ - id: technical-summary
76
+ title: Technical Summary
77
+ instruction: |
78
+ Provide a brief paragraph (3-5 sentences) overview of:
79
+ - The game's overall architecture style (node-based Godot architecture)
80
+ - Language strategy (GDScript vs C# for different systems)
81
+ - Primary technology choices (Godot 4.x/3.x, target platforms)
82
+ - Core architectural patterns (Node composition, signals, Resources)
83
+ - Performance targets (60+ FPS minimum) and TDD approach (GUT/GoDotTest)
84
+ - Reference back to the GDD goals and how this architecture supports them
85
+ - id: high-level-overview
86
+ title: High Level Overview
87
+ instruction: |
88
+ Based on the GDD's Technical Assumptions section, describe:
89
+
90
+ 1. The main architectural style (node-based Godot architecture with scene composition)
91
+ 2. Language strategy (GDScript for rapid iteration, C# for performance-critical code)
92
+ 3. Repository structure decision from GDD (single Godot project vs multiple projects)
93
+ 4. Game system architecture (node systems, autoload singletons, Resource-driven design)
94
+ 5. Primary player interaction flow and core game loop with InputMap
95
+ 6. Key architectural decisions and their rationale (renderer, physics engine, export templates)
96
+ 7. Performance optimization strategy (object pooling, static typing, profiler usage)
97
+ - id: project-diagram
98
+ title: High Level Project Diagram
99
+ type: mermaid
100
+ mermaid_type: graph
101
+ instruction: |
102
+ Create a Mermaid diagram that visualizes the high-level Godot game architecture. Consider:
103
+ - Core node systems (InputMap, Physics2D/3D, RenderingServer, AudioServer)
104
+ - Autoload singletons and their responsibilities
105
+ - Signal flow between systems
106
+ - Resource loading and management
107
+ - Scene tree structure
108
+ - Player interaction points
109
+ - Language boundaries (GDScript vs C# systems)
110
+
111
+ - id: architectural-patterns
112
+ title: Architectural and Design Patterns
113
+ instruction: |
114
+ List the key high-level patterns that will guide the Godot game architecture. For each pattern:
115
+
116
+ 1. Present 2-3 viable options if multiple exist
117
+ 2. Provide your recommendation with clear rationale
118
+ 3. Get user confirmation before finalizing
119
+ 4. These patterns should align with the GDD's technical assumptions and 60+ FPS performance goals
120
+
121
+ Common Godot patterns to consider:
122
+ - Node patterns (Scene composition, node inheritance, groups)
123
+ - Signal patterns (Signal-based communication, event bus)
124
+ - Resource patterns (Custom Resources for data, preload vs load)
125
+ - Performance patterns (Object pooling, static typing, language selection)
126
+ - TDD patterns (GUT for GDScript, GoDotTest for C#)
127
+ template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
128
+ examples:
129
+ - "**Node-Based Architecture:** Using scene composition and node inheritance - _Rationale:_ Aligns with Godot's design philosophy and enables reusable, testable game systems"
130
+ - "**Resource Data:** Using custom Resources for game configuration - _Rationale:_ Enables data-driven design and hot-reload during development"
131
+ - "**Signal-Driven Communication:** Using Godot signals for system decoupling - _Rationale:_ Supports modular architecture and prevents tight coupling"
132
+ - "**Language Strategy:** GDScript for game logic, C# for physics/AI - _Rationale:_ Optimizes for both development speed and runtime performance"
133
+
134
+ - id: tech-stack
135
+ title: Tech Stack
136
+ instruction: |
137
+ This is the DEFINITIVE technology selection section for the Godot game. Work with the user to make specific choices:
138
+
139
+ 1. Review GDD technical assumptions and any preferences from .bmad-godot-game-dev/data/technical-preferences.yaml or an attached technical-preferences
140
+ 2. For each category, present 2-3 viable options with pros/cons
141
+ 3. Make a clear recommendation based on project needs and 60+ FPS targets
142
+ 4. Get explicit user approval for each selection
143
+ 5. Document exact versions (avoid "latest" - pin specific versions)
144
+ 6. Define language strategy (GDScript vs C# for each system)
145
+ 7. This table is the single source of truth - all other docs must reference these choices
146
+
147
+ Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about:
148
+
149
+ - Godot version (4.x or 3.x LTS)
150
+ - Language split (GDScript vs C# systems)
151
+ - Target platforms and export templates
152
+ - GDExtensions, plugins, or addons
153
+ - Testing frameworks (GUT, GoDotTest)
154
+ - Platform SDKs and services
155
+ - Build and deployment tools
156
+
157
+ Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback.
158
+ elicit: true
159
+ sections:
160
+ - id: platform-infrastructure
161
+ title: Platform Infrastructure
162
+ template: |
163
+ - **Target Platforms:** {{target_platforms}}
164
+ - **Primary Platform:** {{primary_platform}}
165
+ - **Platform Services:** {{platform_services_list}}
166
+ - **Distribution:** {{distribution_channels}}
167
+ - id: technology-stack-table
168
+ title: Technology Stack Table
169
+ type: table
170
+ columns: [Category, Technology, Version, Purpose, Rationale]
171
+ instruction: Populate the technology stack table with all relevant Godot technologies
172
+ examples:
173
+ - "| **Game Engine** | Godot | 4.3.0 | Core game development platform | Latest stable, excellent 2D/3D support, 60+ FPS capable |"
174
+ - "| **Primary Language** | GDScript | 2.0 | Game logic and rapid iteration | Native to Godot, static typing for 10-20% performance gain |"
175
+ - "| **Performance Language** | C# | 11.0 | Performance-critical systems | .NET 6.0, optimal for physics/AI, no LINQ in hot paths |"
176
+ - "| **Renderer** | Forward+ | Built-in | 2D/3D rendering | Optimized for desktop/mobile, excellent performance |"
177
+ - "| **Input System** | InputMap | Built-in | Cross-platform input handling | Action-based system, supports all devices |"
178
+ - "| **Physics** | Godot Physics 2D | Built-in | 2D collision and physics | Optimized 2D physics, configurable fixed timestep |"
179
+ - "| **Audio** | AudioServer | Built-in | Audio playback and bus system | Built-in mixer with bus routing |"
180
+ - "| **GDScript Testing** | GUT | 9.2.0 | Unit testing for GDScript | TDD framework for GDScript code |"
181
+ - "| **C# Testing** | GoDotTest | 2.0.0 | Unit testing for C# | TDD framework for C# components |"
182
+
183
+ - id: data-models
184
+ title: Game Data Models
185
+ instruction: |
186
+ Define the core game data models/entities using Godot's Resource system:
187
+
188
+ 1. Review GDD requirements and identify key game entities
189
+ 2. For each model, explain its purpose and relationships
190
+ 3. Include key attributes and data types appropriate for GDScript/C#
191
+ 4. Specify language choice for each Resource (GDScript vs C#)
192
+ 5. Show relationships between models using Resource references
193
+ 6. Consider preload vs load strategies for performance
194
+ 7. Discuss design decisions with user
195
+
196
+ Create a clear conceptual model before moving to specific implementations.
197
+ elicit: true
198
+ repeatable: true
199
+ sections:
200
+ - id: model
201
+ title: "{{model_name}}"
202
+ template: |
203
+ **Purpose:** {{model_purpose}}
204
+
205
+ **Key Attributes:**
206
+ - {{attribute_1}}: {{type_1}} - {{description_1}}
207
+ - {{attribute_2}}: {{type_2}} - {{description_2}}
208
+
209
+ **Relationships:**
210
+ - {{relationship_1}}
211
+ - {{relationship_2}}
212
+
213
+ **Resource Implementation:**
214
+ - Create as custom Resource class (extends Resource)
215
+ - Language: {{gdscript_or_csharp}} - {{language_rationale}}
216
+ - Store in `res://resources/{{model_name}}/`
217
+ - Loading strategy: {{preload_or_load}}
218
+
219
+ - id: components
220
+ title: Game Systems & Components
221
+ instruction: |
222
+ Based on the architectural patterns, tech stack, and data models from above:
223
+
224
+ 1. Identify major game systems and their responsibilities
225
+ 2. Consider Godot's node-based architecture with scene composition
226
+ 3. Define language strategy for each system (GDScript vs C#)
227
+ 4. Define clear interfaces between systems using signals
228
+ 5. For each system, specify:
229
+ - Primary responsibility and core functionality
230
+ - Key node classes and custom Resources
231
+ - Language choice with performance rationale
232
+ - Dependencies on other systems via signals
233
+ - Godot-specific implementation details (_ready, _process, _physics_process)
234
+ - Object pooling requirements for spawned entities
235
+
236
+ 6. Create system diagrams where helpful using Godot terminology
237
+ elicit: true
238
+ sections:
239
+ - id: system-list
240
+ repeatable: true
241
+ title: "{{system_name}} System"
242
+ template: |
243
+ **Responsibility:** {{system_description}}
244
+
245
+ **Key Components:**
246
+ - {{component_1}} (Node2D/Control/Node3D)
247
+ - {{component_2}} (Resource)
248
+ - {{component_3}} (Autoload/Singleton)
249
+
250
+ **Language Strategy:**
251
+ - Implementation: {{gdscript_or_csharp}}
252
+ - Rationale: {{performance_vs_iteration_reason}}
253
+
254
+ **Godot Implementation Details:**
255
+ - Process: {{process_or_physics_process}}
256
+ - Signals: {{signals_emitted_and_connected}}
257
+ - Dependencies: {{system_dependencies}}
258
+ - Object Pooling: {{pooling_requirements}}
259
+
260
+ **Files to Create:**
261
+ - `res://scripts/{{system_name}}/{{main_script}}.gd` (or .cs)
262
+ - `res://scenes/{{system_name}}/{{main_scene}}.tscn`
263
+ - id: component-diagrams
264
+ title: System Interaction Diagrams
265
+ type: mermaid
266
+ instruction: |
267
+ Create Mermaid diagrams to visualize game system relationships. Options:
268
+ - System architecture diagram for high-level view
269
+ - Component interaction diagram for detailed relationships
270
+ - Sequence diagrams for complex game loops (_process, _physics_process flows)
271
+ Choose the most appropriate for clarity and Godot-specific understanding
272
+
273
+ - id: gameplay-systems
274
+ title: Gameplay Systems Architecture
275
+ instruction: |
276
+ Define the core gameplay systems that drive the player experience. Focus on game-specific logic, mechanics, and maintaining 60+ FPS performance.
277
+ elicit: true
278
+ sections:
279
+ - id: gameplay-overview
280
+ title: Gameplay Systems Overview
281
+ template: |
282
+ **Core Game Loop:** {{core_game_loop_description}}
283
+
284
+ **Player Actions:** {{primary_player_actions}}
285
+
286
+ **Game State Flow:** {{game_state_transitions}}
287
+ - id: gameplay-components
288
+ title: Gameplay Component Architecture
289
+ template: |
290
+ **Player Controller Components:**
291
+ - {{player_controller_nodes}}
292
+ - Language: {{gdscript_or_csharp_for_player}}
293
+
294
+ **Game Logic Components:**
295
+ - {{game_logic_nodes}}
296
+ - Language: {{gdscript_or_csharp_for_logic}}
297
+
298
+ **Interaction Systems:**
299
+ - {{interaction_system_nodes}}
300
+ - Signal Flow: {{signal_connections}}
301
+
302
+ **Performance Targets:**
303
+ - Frame Rate: 60+ FPS maintained
304
+ - Frame Time: <16.67ms
305
+
306
+ - id: node-architecture
307
+ title: Node Architecture Details
308
+ instruction: |
309
+ Define detailed Godot node architecture patterns and conventions for the game, with language strategy.
310
+ elicit: true
311
+ sections:
312
+ - id: node-patterns
313
+ title: Node Patterns
314
+ template: |
315
+ **Node Composition:** {{node_composition_approach}}
316
+
317
+ **Scene Inheritance:** {{scene_inheritance_patterns}}
318
+
319
+ **Signal Communication:** {{signal_connection_patterns}}
320
+
321
+ **Language Split:** {{gdscript_vs_csharp_boundaries}}
322
+ - id: resource-usage
323
+ title: Resource Architecture
324
+ template: |
325
+ **Data Architecture:** {{resource_data_patterns}}
326
+
327
+ **Configuration Management:** {{config_resource_usage}}
328
+
329
+ **Runtime Resources:** {{runtime_resource_patterns}}
330
+
331
+ **Loading Strategy:** {{preload_vs_load_strategy}}
332
+
333
+ - id: physics-config
334
+ title: Physics Configuration
335
+ instruction: |
336
+ Define Godot physics setup and configuration for the game, including language choice for physics-heavy systems.
337
+ elicit: true
338
+ sections:
339
+ - id: physics-settings
340
+ title: Physics Settings
341
+ template: |
342
+ **Physics Settings:** {{physics_2d_or_3d_configuration}}
343
+
344
+ **Fixed Timestep:** {{physics_fps_setting}} (affects performance)
345
+
346
+ **Collision Layers:** {{collision_layer_matrix}}
347
+
348
+ **Physics Materials:** {{physics_materials_setup}}
349
+
350
+ **Language Choice:** {{gdscript_or_csharp_for_physics}}
351
+ - id: rigidbody-patterns
352
+ title: Rigidbody Patterns
353
+ template: |
354
+ **Player Physics:** {{player_rigidbody_setup}}
355
+
356
+ **Object Physics:** {{object_physics_patterns}}
357
+
358
+ **Object Pooling:** {{physics_object_pooling}}
359
+
360
+ **Performance Optimization:** {{physics_optimization_strategies}}
361
+
362
+ **Target Performance:** Maintain 60+ FPS with physics
363
+
364
+ - id: input-system
365
+ title: Input System Architecture
366
+ instruction: |
367
+ Define input handling using Godot's InputMap system for cross-platform support.
368
+ elicit: true
369
+ sections:
370
+ - id: input-actions
371
+ title: Input Actions Configuration
372
+ template: |
373
+ **InputMap Actions:** {{input_map_action_structure}}
374
+
375
+ **Action Categories:** {{input_action_categories}}
376
+
377
+ **Device Support:** {{keyboard_gamepad_touch_support}}
378
+
379
+ **Input Latency Target:** <50ms for responsive controls
380
+ - id: input-handling
381
+ title: Input Handling Patterns
382
+ template: |
383
+ **Player Input:** {{player_input_handling}}
384
+
385
+ **UI Input:** {{control_node_input_patterns}}
386
+
387
+ **Input Processing:** {{input_or_unhandled_input}}
388
+
389
+ **Language:** {{gdscript_or_csharp_for_input}}
390
+
391
+ - id: state-machines
392
+ title: State Machine Architecture
393
+ instruction: |
394
+ Define state machine patterns for game states, player states, and AI behavior. Choose language based on complexity and performance needs.
395
+ elicit: true
396
+ sections:
397
+ - id: game-state-machine
398
+ title: Game State Machine
399
+ template: |
400
+ **Game States:** {{game_state_definitions}}
401
+
402
+ **State Transitions:** {{game_state_transition_rules}}
403
+
404
+ **State Management:** {{game_state_manager_implementation}}
405
+
406
+ **Implementation Language:** {{gdscript_or_csharp_for_states}}
407
+ - id: entity-state-machines
408
+ title: Entity State Machines
409
+ template: |
410
+ **Player States:** {{player_state_machine_design}}
411
+
412
+ **AI Behavior States:** {{ai_state_machine_patterns}} (Consider C# for complex AI)
413
+
414
+ **Object States:** {{object_state_management}}
415
+
416
+ **Signal Integration:** {{state_change_signals}}
417
+
418
+ - id: ui-architecture
419
+ title: UI Architecture
420
+ instruction: |
421
+ Define Godot UI system architecture using Control nodes and theme system.
422
+ elicit: true
423
+ sections:
424
+ - id: ui-system-choice
425
+ title: UI System Selection
426
+ template: |
427
+ **UI Framework:** Control Nodes with Theme System
428
+
429
+ **UI Scaling:** {{anchoring_and_margin_strategy}}
430
+
431
+ **Viewport Setup:** {{viewport_configuration}}
432
+
433
+ **Language Choice:** {{gdscript_or_csharp_for_ui}}
434
+ - id: ui-navigation
435
+ title: UI Navigation System
436
+ template: |
437
+ **Screen Management:** {{screen_management_system}}
438
+
439
+ **Navigation Flow:** {{ui_navigation_patterns}}
440
+
441
+ **Back Button Handling:** {{back_button_implementation}}
442
+
443
+ - id: ui-components
444
+ title: UI Component System
445
+ instruction: |
446
+ Define reusable UI components and their implementation patterns.
447
+ elicit: true
448
+ sections:
449
+ - id: ui-component-library
450
+ title: UI Component Library
451
+ template: |
452
+ **Base Components:** {{base_ui_components}}
453
+
454
+ **Custom Components:** {{custom_ui_components}}
455
+
456
+ **Component Prefabs:** {{ui_prefab_organization}}
457
+ - id: ui-data-binding
458
+ title: UI Data Binding
459
+ template: |
460
+ **Data Binding Patterns:** {{ui_data_binding_approach}}
461
+
462
+ **UI Events:** {{ui_event_system}}
463
+
464
+ **View Model Patterns:** {{ui_viewmodel_implementation}}
465
+
466
+ - id: ui-state-management
467
+ title: UI State Management
468
+ instruction: |
469
+ Define how UI state is managed across the game.
470
+ elicit: true
471
+ sections:
472
+ - id: ui-state-patterns
473
+ title: UI State Patterns
474
+ template: |
475
+ **State Persistence:** {{ui_state_persistence}}
476
+
477
+ **Screen State:** {{screen_state_management}}
478
+
479
+ **UI Configuration:** {{ui_configuration_management}}
480
+
481
+ - id: scene-management
482
+ title: Scene Management Architecture
483
+ instruction: |
484
+ Define scene loading, unloading, and transition strategies.
485
+ elicit: true
486
+ sections:
487
+ - id: scene-structure
488
+ title: Scene Structure
489
+ template: |
490
+ **Scene Organization:** {{scene_organization_strategy}}
491
+
492
+ **Scene Hierarchy:** {{scene_hierarchy_patterns}}
493
+
494
+ **Persistent Scenes:** {{persistent_scene_usage}}
495
+ - id: scene-loading
496
+ title: Scene Loading System
497
+ template: |
498
+ **Loading Strategies:** {{scene_loading_patterns}}
499
+
500
+ **Async Loading:** {{async_scene_loading_implementation}}
501
+
502
+ **Loading Screens:** {{loading_screen_management}}
503
+
504
+ - id: data-persistence
505
+ title: Data Persistence Architecture
506
+ instruction: |
507
+ Define save system and data persistence strategies.
508
+ elicit: true
509
+ sections:
510
+ - id: save-data-structure
511
+ title: Save Data Structure
512
+ template: |
513
+ **Save Data Models:** {{save_data_model_design}}
514
+
515
+ **Serialization Format:** {{serialization_format_choice}}
516
+
517
+ **Data Validation:** {{save_data_validation}}
518
+ - id: persistence-strategy
519
+ title: Persistence Strategy
520
+ template: |
521
+ **Save Triggers:** {{save_trigger_events}}
522
+
523
+ **Auto-Save:** {{auto_save_implementation}}
524
+
525
+ **Cloud Save:** {{cloud_save_integration}}
526
+
527
+ - id: save-system
528
+ title: Save System Implementation
529
+ instruction: |
530
+ Define detailed save system implementation patterns.
531
+ elicit: true
532
+ sections:
533
+ - id: save-load-api
534
+ title: Save/Load API
535
+ template: |
536
+ **Save Interface:** {{save_interface_design}}
537
+
538
+ **Load Interface:** {{load_interface_design}}
539
+
540
+ **Error Handling:** {{save_load_error_handling}}
541
+ - id: save-file-management
542
+ title: Save File Management
543
+ template: |
544
+ **File Structure:** {{save_file_structure}}
545
+
546
+ **Backup Strategy:** {{save_backup_strategy}}
547
+
548
+ **Migration:** {{save_data_migration_strategy}}
549
+
550
+ - id: analytics-integration
551
+ title: Analytics Integration
552
+ instruction: |
553
+ Define analytics tracking and integration patterns.
554
+ condition: Game requires analytics tracking
555
+ elicit: true
556
+ sections:
557
+ - id: analytics-events
558
+ title: Analytics Event Design
559
+ template: |
560
+ **Event Categories:** {{analytics_event_categories}}
561
+
562
+ **Custom Events:** {{custom_analytics_events}}
563
+
564
+ **Player Progression:** {{progression_analytics}}
565
+ - id: analytics-implementation
566
+ title: Analytics Implementation
567
+ template: |
568
+ **Analytics SDK:** {{analytics_sdk_choice}}
569
+
570
+ **Event Tracking:** {{event_tracking_patterns}}
571
+
572
+ **Privacy Compliance:** {{analytics_privacy_considerations}}
573
+
574
+ - id: multiplayer-architecture
575
+ title: Multiplayer Architecture
576
+ instruction: |
577
+ Define multiplayer system architecture if applicable.
578
+ condition: Game includes multiplayer features
579
+ elicit: true
580
+ sections:
581
+ - id: networking-approach
582
+ title: Networking Approach
583
+ template: |
584
+ **Networking Solution:** {{networking_solution_choice}}
585
+
586
+ **Architecture Pattern:** {{multiplayer_architecture_pattern}}
587
+
588
+ **Synchronization:** {{state_synchronization_strategy}}
589
+ - id: multiplayer-systems
590
+ title: Multiplayer System Components
591
+ template: |
592
+ **Client Components:** {{multiplayer_client_components}}
593
+
594
+ **Server Components:** {{multiplayer_server_components}}
595
+
596
+ **Network Messages:** {{network_message_design}}
597
+
598
+ - id: rendering-pipeline
599
+ title: Rendering Pipeline Configuration
600
+ instruction: |
601
+ Define Godot rendering pipeline setup and optimization.
602
+ elicit: true
603
+ sections:
604
+ - id: render-pipeline-setup
605
+ title: Render Pipeline Setup
606
+ template: |
607
+ **Pipeline Choice:** {{render_pipeline_choice}} (Forward+/Mobile/Compatibility)
608
+
609
+ **Pipeline Asset:** {{render_pipeline_asset_config}}
610
+
611
+ **Quality Settings:** {{quality_settings_configuration}}
612
+ - id: rendering-optimization
613
+ title: Rendering Optimization
614
+ template: |
615
+ **Batching Strategies:** {{sprite_batching_optimization}}
616
+
617
+ **Draw Call Optimization:** {{draw_call_reduction_strategies}}
618
+
619
+ **Texture Optimization:** {{texture_optimization_settings}}
620
+
621
+ - id: shader-guidelines
622
+ title: Shader Guidelines
623
+ instruction: |
624
+ Define shader usage and custom shader guidelines.
625
+ elicit: true
626
+ sections:
627
+ - id: shader-usage
628
+ title: Shader Usage Patterns
629
+ template: |
630
+ **Built-in Shaders:** {{builtin_shader_usage}}
631
+
632
+ **Custom Shaders:** {{custom_shader_requirements}}
633
+
634
+ **Shader Variants:** {{shader_variant_management}}
635
+ - id: shader-performance
636
+ title: Shader Performance Guidelines
637
+ template: |
638
+ **Mobile Optimization:** {{mobile_shader_optimization}}
639
+
640
+ **Performance Budgets:** {{shader_performance_budgets}}
641
+
642
+ **Profiling Guidelines:** {{shader_profiling_approach}}
643
+
644
+ - id: sprite-management
645
+ title: Sprite Management
646
+ instruction: |
647
+ Define sprite asset management and optimization strategies.
648
+ elicit: true
649
+ sections:
650
+ - id: sprite-organization
651
+ title: Sprite Organization
652
+ template: |
653
+ **Atlas Strategy:** {{sprite_atlas_organization}}
654
+
655
+ **Sprite Naming:** {{sprite_naming_conventions}}
656
+
657
+ **Import Settings:** {{sprite_import_settings}}
658
+ - id: sprite-optimization
659
+ title: Sprite Optimization
660
+ template: |
661
+ **Compression Settings:** {{sprite_compression_settings}}
662
+
663
+ **Resolution Strategy:** {{sprite_resolution_strategy}}
664
+
665
+ **Memory Optimization:** {{sprite_memory_optimization}}
666
+
667
+ - id: particle-systems
668
+ title: Particle System Architecture
669
+ instruction: |
670
+ Define particle system usage and optimization.
671
+ elicit: true
672
+ sections:
673
+ - id: particle-design
674
+ title: Particle System Design
675
+ template: |
676
+ **Effect Categories:** {{particle_effect_categories}}
677
+
678
+ **Scene Organization:** {{particle_scene_organization}}
679
+
680
+ **Pooling Strategy:** {{particle_pooling_implementation}}
681
+ - id: particle-performance
682
+ title: Particle Performance
683
+ template: |
684
+ **Performance Budgets:** {{particle_performance_budgets}}
685
+
686
+ **Mobile Optimization:** {{particle_mobile_optimization}}
687
+
688
+ **LOD Strategy:** {{particle_lod_implementation}}
689
+
690
+ - id: audio-architecture
691
+ title: Audio Architecture
692
+ instruction: |
693
+ Define audio system architecture and implementation.
694
+ elicit: true
695
+ sections:
696
+ - id: audio-system-design
697
+ title: Audio System Design
698
+ template: |
699
+ **Audio Manager:** {{audio_manager_implementation}}
700
+
701
+ **Audio Sources:** {{audio_source_management}}
702
+
703
+ **3D Audio:** {{spatial_audio_implementation}}
704
+ - id: audio-categories
705
+ title: Audio Categories
706
+ template: |
707
+ **Music System:** {{music_system_architecture}}
708
+
709
+ **Sound Effects:** {{sfx_system_design}}
710
+
711
+ **Voice/Dialog:** {{dialog_system_implementation}}
712
+
713
+ - id: audio-mixing
714
+ title: Audio Mixing Configuration
715
+ instruction: |
716
+ Define Godot AudioServer bus setup and configuration.
717
+ elicit: true
718
+ sections:
719
+ - id: mixer-setup
720
+ title: Audio Mixer Setup
721
+ template: |
722
+ **Mixer Groups:** {{audio_mixer_group_structure}}
723
+
724
+ **Effects Chain:** {{audio_effects_configuration}}
725
+
726
+ **Snapshot System:** {{audio_snapshot_usage}}
727
+ - id: dynamic-mixing
728
+ title: Dynamic Audio Mixing
729
+ template: |
730
+ **Volume Control:** {{volume_control_implementation}}
731
+
732
+ **Dynamic Range:** {{dynamic_range_management}}
733
+
734
+ **Platform Optimization:** {{platform_audio_optimization}}
735
+
736
+ - id: sound-banks
737
+ title: Sound Bank Management
738
+ instruction: |
739
+ Define sound asset organization and loading strategies.
740
+ elicit: true
741
+ sections:
742
+ - id: sound-organization
743
+ title: Sound Asset Organization
744
+ template: |
745
+ **Bank Structure:** {{sound_bank_organization}}
746
+
747
+ **Loading Strategy:** {{audio_loading_patterns}}
748
+
749
+ **Memory Management:** {{audio_memory_management}}
750
+ - id: sound-streaming
751
+ title: Audio Streaming
752
+ template: |
753
+ **Streaming Strategy:** {{audio_streaming_implementation}}
754
+
755
+ **Compression Settings:** {{audio_compression_settings}}
756
+
757
+ **Platform Considerations:** {{platform_audio_considerations}}
758
+
759
+ - id: godot-conventions
760
+ title: Godot Development Conventions
761
+ instruction: |
762
+ Define Godot-specific development conventions and best practices.
763
+ elicit: true
764
+ sections:
765
+ - id: godot-best-practices
766
+ title: Godot Best Practices
767
+ template: |
768
+ **Node Design:** {{godot_node_best_practices}}
769
+
770
+ **Performance Guidelines:** {{godot_performance_guidelines}}
771
+
772
+ **Memory Management:** {{godot_memory_best_practices}}
773
+ - id: godot-workflow
774
+ title: Godot Workflow Conventions
775
+ template: |
776
+ **Scene Workflow:** {{scene_workflow_conventions}}
777
+
778
+ **Node Workflow:** {{node_workflow_conventions}}
779
+
780
+ **Resource Workflow:** {{resource_workflow_conventions}}
781
+
782
+ - id: external-integrations
783
+ title: External Integrations
784
+ condition: Game requires external service integrations
785
+ instruction: |
786
+ For each external service integration required by the game:
787
+
788
+ 1. Identify services needed based on GDD requirements and platform needs
789
+ 2. If documentation URLs are unknown, ask user for specifics
790
+ 3. Document authentication methods and Godot-specific integration approaches
791
+ 4. List specific APIs that will be used
792
+ 5. Note any platform-specific SDKs or Godot plugins required
793
+
794
+ If no external integrations are needed, state this explicitly and skip to next section.
795
+ elicit: true
796
+ repeatable: true
797
+ sections:
798
+ - id: integration
799
+ title: "{{service_name}} Integration"
800
+ template: |
801
+ - **Purpose:** {{service_purpose}}
802
+ - **Documentation:** {{service_docs_url}}
803
+ - **Godot Plugin:** {{godot_plugin_name}} {{version}}
804
+ - **Platform SDK:** {{platform_sdk_requirements}}
805
+ - **Authentication:** {{auth_method}}
806
+
807
+ **Key Features Used:**
808
+ - {{feature_1}} - {{feature_purpose}}
809
+ - {{feature_2}} - {{feature_purpose}}
810
+
811
+ **Godot Implementation Notes:** {{godot_integration_details}}
812
+
813
+ - id: core-workflows
814
+ title: Core Game Workflows
815
+ type: mermaid
816
+ mermaid_type: sequence
817
+ instruction: |
818
+ Illustrate key game workflows using sequence diagrams:
819
+
820
+ 1. Identify critical player journeys from GDD (game loop, level progression, etc.)
821
+ 2. Show system interactions including Godot lifecycle methods (_ready, _process, etc.)
822
+ 3. Include error handling paths and state transitions
823
+ 4. Document async operations (scene loading, resource loading)
824
+ 5. Create both high-level game flow and detailed system interaction diagrams
825
+
826
+ Focus on workflows that clarify Godot-specific architecture decisions or complex system interactions.
827
+ elicit: true
828
+
829
+ - id: godot-project-structure
830
+ title: Godot Project Structure
831
+ type: code
832
+ language: plaintext
833
+ instruction: |
834
+ Create a Godot project folder structure that reflects:
835
+
836
+ 1. Godot best practices for game organization
837
+ 2. Language strategy (GDScript vs C# file organization)
838
+ 3. Node and scene organization from above systems
839
+ 4. Clear separation of concerns for game resources
840
+ 5. Testing structure for GUT and GoDotTest
841
+ 6. Platform-specific export configurations
842
+ 7. Object pooling systems
843
+
844
+ Follow Godot naming conventions and folder organization standards.
845
+ elicit: true
846
+ examples:
847
+ - |
848
+ res://
849
+ ├── scenes/ # Game scenes (.tscn)
850
+ │ ├── game/ # Gameplay scenes
851
+ │ │ ├── levels/ # Level scenes
852
+ │ │ └── entities/ # Entity scenes
853
+ │ ├── ui/ # UI scenes
854
+ │ │ ├── menus/ # Menu scenes
855
+ │ │ └── hud/ # HUD elements
856
+ │ └── components/ # Reusable scene components
857
+ ├── scripts/ # GDScript and C# files
858
+ │ ├── gdscript/ # GDScript files
859
+ │ │ ├── player/ # Player scripts
860
+ │ │ ├── enemies/ # Enemy scripts
861
+ │ │ └── systems/ # Game systems
862
+ │ ├── csharp/ # C# performance-critical code
863
+ │ │ ├── physics/ # Physics systems
864
+ │ │ ├── ai/ # AI systems
865
+ │ │ └── generation/ # Procedural generation
866
+ │ └── autoload/ # Singleton scripts
867
+ ├── resources/ # Custom Resources (.tres)
868
+ │ ├── data/ # Game data resources
869
+ │ ├── themes/ # UI themes
870
+ │ └── materials/ # Materials and shaders
871
+ ├── assets/ # Raw assets
872
+ │ ├── sprites/ # 2D sprites
873
+ │ ├── audio/ # Audio files
874
+ │ │ ├── music/ # Background music
875
+ │ │ └── sfx/ # Sound effects
876
+ │ └── fonts/ # Font files
877
+ ├── tests/ # Test files
878
+ │ ├── gut/ # GUT tests for GDScript
879
+ │ └── godottest/ # GoDotTest for C#
880
+ ├── pools/ # Object pooling systems
881
+ │ └── projectiles/ # Bullet pools, etc.
882
+ ├── export_presets.cfg # Platform export settings
883
+ └── project.godot # Project configuration
884
+
885
+ - id: infrastructure-deployment
886
+ title: Infrastructure and Deployment
887
+ instruction: |
888
+ Define the Godot build and deployment architecture:
889
+
890
+ 1. Use Godot's export system with platform templates
891
+ 2. Choose deployment strategy appropriate for target platforms
892
+ 3. Define environments (debug, release, distribution)
893
+ 4. Establish version control and build pipeline practices
894
+ 5. Consider platform-specific export settings and optimizations
895
+ 6. Plan for 60+ FPS validation across all platforms
896
+
897
+ Get user input on build preferences and CI/CD tool choices for Godot projects.
898
+ elicit: true
899
+ sections:
900
+ - id: godot-build-configuration
901
+ title: Godot Build Configuration
902
+ template: |
903
+ - **Godot Version:** {{godot_version}}
904
+ - **Export Templates:** {{export_templates_list}}
905
+ - **Debug/Release:** {{build_configurations}}
906
+ - **Performance Validation:** {{fps_validation_process}}
907
+ - id: deployment-strategy
908
+ title: Deployment Strategy
909
+ template: |
910
+ - **Build Automation:** {{build_automation_tool}}
911
+ - **Version Control:** {{version_control_integration}}
912
+ - **Distribution:** {{distribution_platforms}}
913
+ - id: environments
914
+ title: Build Environments
915
+ repeatable: true
916
+ template: "- **{{env_name}}:** {{env_purpose}} - {{platform_settings}}"
917
+ - id: platform-specific-builds
918
+ title: Platform-Specific Build Settings
919
+ type: code
920
+ language: text
921
+ template: "{{platform_build_configurations}}"
922
+
923
+ - id: coding-standards
924
+ title: Coding Standards
925
+ instruction: |
926
+ These standards are MANDATORY for AI agents working on Godot game development. Work with user to define ONLY the critical rules needed to ensure 60+ FPS and proper TDD. Explain that:
927
+
928
+ 1. This section directly controls AI developer behavior
929
+ 2. Keep it minimal - assume AI knows general GDScript/C# best practices
930
+ 3. Focus on performance-critical Godot patterns and TDD enforcement
931
+ 4. Language strategy (GDScript vs C#) must be explicit
932
+ 5. Standards will be extracted to separate file for dev agent use
933
+ 6. 60+ FPS is non-negotiable - all code must maintain this
934
+
935
+ For each standard, get explicit user confirmation it's necessary.
936
+ elicit: true
937
+ sections:
938
+ - id: core-standards
939
+ title: Core Standards
940
+ template: |
941
+ - **Godot Version:** {{godot_version}}
942
+ - **GDScript:** Static typing MANDATORY (10-20% performance gain)
943
+ - **C# Version:** {{csharp_version}} - NO LINQ in hot paths
944
+ - **Code Style:** GDScript style guide + C# conventions
945
+ - **Testing:** GUT for GDScript, GoDotTest for C# (TDD mandatory)
946
+ - **Performance:** 60+ FPS minimum, <16.67ms frame time
947
+ - id: godot-naming-conventions
948
+ title: Godot Naming Conventions
949
+ type: table
950
+ columns: [Element, Convention, Example]
951
+ instruction: Only include if deviating from Godot defaults
952
+ examples:
953
+ - "| GDScript files | snake_case | player_controller.gd |"
954
+ - "| C# files | PascalCase | PlayerController.cs |"
955
+ - "| Nodes | PascalCase | PlayerCharacter, EnemySpawner |"
956
+ - "| Signals | snake_case | health_changed, level_completed |"
957
+ - "| Resources | PascalCase + Data suffix | PlayerData, WeaponData |"
958
+ - id: critical-rules
959
+ title: Critical Godot Rules
960
+ instruction: |
961
+ List ONLY rules that ensure 60+ FPS and proper TDD. Examples:
962
+ - "ALWAYS use static typing in GDScript (var x: int, not var x)"
963
+ - "NEVER use LINQ in C# game code (allocates memory)"
964
+ - "ALWAYS write tests FIRST (TDD Red-Green-Refactor)"
965
+ - "ALWAYS pool spawned objects (bullets, particles, enemies)"
966
+ - "NEVER use get_node() in _process or _physics_process"
967
+ - "Use C# for physics/AI systems, GDScript for game logic"
968
+ - "Profile EVERY feature to ensure 60+ FPS maintained"
969
+
970
+ Avoid obvious rules - focus on performance and TDD
971
+ repeatable: true
972
+ template: "- **{{rule_name}}:** {{rule_description}}"
973
+ - id: godot-specifics
974
+ title: Godot-Specific Guidelines
975
+ condition: Critical Godot-specific rules needed
976
+ instruction: Add ONLY if critical for performance and TDD
977
+ sections:
978
+ - id: godot-lifecycle
979
+ title: Godot Lifecycle Rules
980
+ repeatable: true
981
+ template: "- **{{lifecycle_method}}:** {{usage_rule}}"
982
+ - id: performance-rules
983
+ title: Performance Rules
984
+ repeatable: true
985
+ template: "- **{{performance_rule}}:** {{requirement}}"
986
+
987
+ - id: test-strategy
988
+ title: Test Strategy and Standards
989
+ instruction: |
990
+ Work with user to define MANDATORY TDD strategy for Godot:
991
+
992
+ 1. Use GUT for GDScript tests (see https://gut.readthedocs.io/en/latest/Command-Line.html), GoDotTest for C# tests (see https://github.com/chickensoft-games/GoDotTest), and optionally GodotTestDriver for UI testing (see https://github.com/chickensoft-games/GodotTestDriver)
993
+ 2. TDD is MANDATORY - tests must be written FIRST (Red-Green-Refactor)
994
+ 3. Define test organization for both languages
995
+ 4. Establish 80% minimum coverage goal
996
+ 5. Determine performance testing approach (60+ FPS validation)
997
+ 6. Plan for test doubles and signal testing
998
+
999
+ Note: TDD is non-negotiable. Every story must have tests written first.
1000
+ elicit: true
1001
+ sections:
1002
+ - id: testing-philosophy
1003
+ title: Testing Philosophy
1004
+ template: |
1005
+ - **Approach:** Test-Driven Development (MANDATORY)
1006
+ - **Coverage Goals:** 80% minimum
1007
+ - **GDScript Tests:** GUT framework (https://gut.readthedocs.io/en/latest/Command-Line.html)
1008
+ - **C# Tests:** GoDotTest framework (https://github.com/chickensoft-games/GoDotTest)
1009
+ - **UI Tests (optional):** GodotTestDriver (https://github.com/chickensoft-games/GodotTestDriver)
1010
+ - **Performance Tests:** Validate 60+ FPS maintained
1011
+ - id: godot-test-types
1012
+ title: Godot Test Types and Organization
1013
+ sections:
1014
+ - id: gdscript-tests
1015
+ title: GDScript Tests (GUT)
1016
+ template: |
1017
+ - **Framework:** GUT (Godot Unit Test) - see https://gut.readthedocs.io/en/latest/Command-Line.html
1018
+ - **File Convention:** test_*.gd
1019
+ - **Location:** `res://tests/gut/`
1020
+ - **Purpose:** Testing GDScript game logic
1021
+ - **Coverage Requirement:** 80% minimum
1022
+
1023
+ **AI Agent TDD Requirements:**
1024
+ - Write tests FIRST (Red phase)
1025
+ - Test node interactions and signals
1026
+ - Test resource loading and data
1027
+ - Use test doubles for dependencies
1028
+ - Verify 60+ FPS in performance tests
1029
+ - id: csharp-tests
1030
+ title: C# Tests (GoDotTest)
1031
+ template: |
1032
+ - **Framework:** GoDotTest - see https://github.com/chickensoft-games/GoDotTest
1033
+ - **Location:** `res://tests/godottest/`
1034
+ - **Purpose:** Testing C# performance-critical code
1035
+ - **Coverage Requirement:** 80% minimum
1036
+ - **UI Testing (optional):** GodotTestDriver - see https://github.com/chickensoft-games/GodotTestDriver
1037
+
1038
+ **AI Agent TDD Requirements:**
1039
+ - Write tests FIRST (Red phase)
1040
+ - Test physics and AI systems
1041
+ - Validate no LINQ in hot paths
1042
+ - Performance benchmarks for 60+ FPS
1043
+ - Test C#/GDScript interop boundaries
1044
+ - id: test-data-management
1045
+ title: Test Data Management
1046
+ template: |
1047
+ - **Strategy:** {{test_data_approach}}
1048
+ - **Resource Fixtures:** {{test_resource_location}}
1049
+ - **Test Scenes:** {{test_scene_templates}}
1050
+ - **Signal Testing:** {{signal_test_patterns}}
1051
+ - **Performance Validation:** {{fps_test_approach}}
1052
+
1053
+ - id: performance-security
1054
+ title: Performance and Security Considerations
1055
+ instruction: |
1056
+ Define performance and security requirements for Godot:
1057
+
1058
+ 1. Performance is primary concern - 60+ FPS is mandatory
1059
+ 2. Profile every feature implementation
1060
+ 3. Object pooling for all spawned entities
1061
+ 4. Save data protection if needed
1062
+ 5. Platform-specific optimizations
1063
+ 6. These rules directly impact code generation
1064
+ elicit: true
1065
+ sections:
1066
+ - id: save-data-security
1067
+ title: Save Data Security
1068
+ template: |
1069
+ - **Encryption:** {{save_data_encryption_method}}
1070
+ - **Validation:** {{save_data_validation_approach}}
1071
+ - **Anti-Tampering:** {{anti_tampering_measures}}
1072
+ - id: platform-security
1073
+ title: Platform Security Requirements
1074
+ template: |
1075
+ - **Mobile Permissions:** {{mobile_permission_requirements}}
1076
+ - **Store Compliance:** {{platform_store_requirements}}
1077
+ - **Privacy Policy:** {{privacy_policy_requirements}}
1078
+ - id: multiplayer-security
1079
+ title: Multiplayer Security (if applicable)
1080
+ condition: Game includes multiplayer features
1081
+ template: |
1082
+ - **Client Validation:** {{client_validation_rules}}
1083
+ - **Server Authority:** {{server_authority_approach}}
1084
+ - **Anti-Cheat:** {{anti_cheat_measures}}
1085
+
1086
+ - id: checklist-results
1087
+ title: Checklist Results Report
1088
+ instruction: Before running the checklist, offer to output the full game architecture document. Once user confirms, execute the architect-checklist and populate results here.
1089
+
1090
+ - id: next-steps
1091
+ title: Next Steps
1092
+ instruction: |
1093
+ After completing the game architecture:
1094
+
1095
+ 1. Review with Game Designer and technical stakeholders
1096
+ 2. Begin story implementation with Game Developer agent
1097
+ 3. Set up Godot project structure and initial configuration
1098
+ 4. Configure version control and build pipeline
1099
+
1100
+ Include specific prompts for next agents if needed.
1101
+ sections:
1102
+ - id: developer-prompt
1103
+ title: Game Developer Prompt
1104
+ instruction: |
1105
+ Create a brief prompt to hand off to Game Developer for story implementation. Include:
1106
+ - Reference to this game architecture document
1107
+ - Language strategy (GDScript vs C# decisions)
1108
+ - TDD requirements (tests first with GUT/GoDotTest)
1109
+ - 60+ FPS performance target enforcement
1110
+ - Object pooling requirements
1111
+ - Request for adherence to established patterns