bmad-method 4.43.0 → 4.44.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.
Files changed (96) hide show
  1. package/CONTRIBUTING.md +2 -9
  2. package/README.md +0 -80
  3. package/bmad-core/tasks/validate-next-story.md +1 -1
  4. package/dist/agents/dev.txt +1 -1
  5. package/dist/agents/po.txt +1 -1
  6. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1 -1
  7. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
  8. package/dist/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.txt +1513 -0
  9. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-analyst.txt +3190 -0
  10. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-architect.txt +4499 -0
  11. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-designer.txt +3925 -0
  12. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-developer.txt +666 -0
  13. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-pm.txt +2381 -0
  14. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-po.txt +1612 -0
  15. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-qa.txt +1745 -0
  16. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-sm.txt +1208 -0
  17. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.txt +958 -0
  18. package/dist/expansion-packs/bmad-godot-game-dev/teams/godot-game-team.txt +27721 -0
  19. package/dist/teams/team-all.txt +1 -1
  20. package/dist/teams/team-fullstack.txt +1 -1
  21. package/dist/teams/team-ide-minimal.txt +1 -1
  22. package/dist/teams/team-no-ui.txt +1 -1
  23. package/docs/GUIDING-PRINCIPLES.md +3 -3
  24. package/docs/flattener.md +91 -0
  25. package/docs/versions.md +1 -1
  26. package/docs/working-in-the-brownfield.md +15 -6
  27. package/expansion-packs/bmad-godot-game-dev/README.md +244 -0
  28. package/expansion-packs/bmad-godot-game-dev/agent-teams/godot-game-team.yaml +18 -0
  29. package/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.md +147 -0
  30. package/expansion-packs/bmad-godot-game-dev/agents/game-analyst.md +84 -0
  31. package/expansion-packs/bmad-godot-game-dev/agents/game-architect.md +146 -0
  32. package/expansion-packs/bmad-godot-game-dev/agents/game-designer.md +78 -0
  33. package/expansion-packs/bmad-godot-game-dev/agents/game-developer.md +124 -0
  34. package/expansion-packs/bmad-godot-game-dev/agents/game-pm.md +82 -0
  35. package/expansion-packs/bmad-godot-game-dev/agents/game-po.md +115 -0
  36. package/expansion-packs/bmad-godot-game-dev/agents/game-qa.md +160 -0
  37. package/expansion-packs/bmad-godot-game-dev/agents/game-sm.md +66 -0
  38. package/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.md +75 -0
  39. package/expansion-packs/bmad-godot-game-dev/checklists/game-architect-checklist.md +377 -0
  40. package/expansion-packs/bmad-godot-game-dev/checklists/game-change-checklist.md +250 -0
  41. package/expansion-packs/bmad-godot-game-dev/checklists/game-design-checklist.md +225 -0
  42. package/expansion-packs/bmad-godot-game-dev/checklists/game-po-checklist.md +448 -0
  43. package/expansion-packs/bmad-godot-game-dev/checklists/game-story-dod-checklist.md +202 -0
  44. package/expansion-packs/bmad-godot-game-dev/config.yaml +30 -0
  45. package/expansion-packs/bmad-godot-game-dev/data/bmad-kb.md +811 -0
  46. package/expansion-packs/bmad-godot-game-dev/data/brainstorming-techniques.md +36 -0
  47. package/expansion-packs/bmad-godot-game-dev/data/development-guidelines.md +893 -0
  48. package/expansion-packs/bmad-godot-game-dev/data/elicitation-methods.md +156 -0
  49. package/expansion-packs/bmad-godot-game-dev/data/technical-preferences.md +3 -0
  50. package/expansion-packs/bmad-godot-game-dev/tasks/advanced-elicitation.md +110 -0
  51. package/expansion-packs/bmad-godot-game-dev/tasks/apply-qa-fixes.md +224 -0
  52. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-epic.md +162 -0
  53. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-story.md +149 -0
  54. package/expansion-packs/bmad-godot-game-dev/tasks/correct-course-game.md +159 -0
  55. package/expansion-packs/bmad-godot-game-dev/tasks/create-deep-research-prompt.md +278 -0
  56. package/expansion-packs/bmad-godot-game-dev/tasks/create-doc.md +103 -0
  57. package/expansion-packs/bmad-godot-game-dev/tasks/create-game-story.md +202 -0
  58. package/expansion-packs/bmad-godot-game-dev/tasks/document-project.md +343 -0
  59. package/expansion-packs/bmad-godot-game-dev/tasks/execute-checklist.md +88 -0
  60. package/expansion-packs/bmad-godot-game-dev/tasks/facilitate-brainstorming-session.md +136 -0
  61. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-epic.md +160 -0
  62. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-story.md +147 -0
  63. package/expansion-packs/bmad-godot-game-dev/tasks/game-design-brainstorming.md +290 -0
  64. package/expansion-packs/bmad-godot-game-dev/tasks/game-risk-profile.md +368 -0
  65. package/expansion-packs/bmad-godot-game-dev/tasks/game-test-design.md +219 -0
  66. package/expansion-packs/bmad-godot-game-dev/tasks/generate-ai-frontend-prompt.md +51 -0
  67. package/expansion-packs/bmad-godot-game-dev/tasks/kb-mode-interaction.md +77 -0
  68. package/expansion-packs/bmad-godot-game-dev/tasks/review-game-story.md +364 -0
  69. package/expansion-packs/bmad-godot-game-dev/tasks/shard-doc.md +187 -0
  70. package/expansion-packs/bmad-godot-game-dev/tasks/validate-game-story.md +208 -0
  71. package/expansion-packs/bmad-godot-game-dev/templates/brainstorming-output-tmpl.yaml +156 -0
  72. package/expansion-packs/bmad-godot-game-dev/templates/brownfield-prd-tmpl.yaml +281 -0
  73. package/expansion-packs/bmad-godot-game-dev/templates/competitor-analysis-tmpl.yaml +306 -0
  74. package/expansion-packs/bmad-godot-game-dev/templates/game-architecture-tmpl.yaml +1111 -0
  75. package/expansion-packs/bmad-godot-game-dev/templates/game-brief-tmpl.yaml +356 -0
  76. package/expansion-packs/bmad-godot-game-dev/templates/game-design-doc-tmpl.yaml +724 -0
  77. package/expansion-packs/bmad-godot-game-dev/templates/game-prd-tmpl.yaml +209 -0
  78. package/expansion-packs/bmad-godot-game-dev/templates/game-qa-gate-tmpl.yaml +186 -0
  79. package/expansion-packs/bmad-godot-game-dev/templates/game-story-tmpl.yaml +406 -0
  80. package/expansion-packs/bmad-godot-game-dev/templates/game-ui-spec-tmpl.yaml +601 -0
  81. package/expansion-packs/bmad-godot-game-dev/templates/level-design-doc-tmpl.yaml +620 -0
  82. package/expansion-packs/bmad-godot-game-dev/templates/market-research-tmpl.yaml +418 -0
  83. package/expansion-packs/bmad-godot-game-dev/utils/bmad-doc-template.md +327 -0
  84. package/expansion-packs/bmad-godot-game-dev/utils/workflow-management.md +71 -0
  85. package/expansion-packs/bmad-godot-game-dev/workflows/game-dev-greenfield.yaml +245 -0
  86. package/expansion-packs/bmad-godot-game-dev/workflows/game-prototype.yaml +213 -0
  87. package/package.json +1 -1
  88. package/release_notes.md +11 -2
  89. package/tools/flattener/ignoreRules.js +2 -0
  90. package/tools/installer/bin/bmad.js +2 -1
  91. package/tools/installer/config/install.config.yaml +16 -7
  92. package/tools/installer/lib/ide-setup.js +192 -80
  93. package/tools/installer/package.json +1 -1
  94. package/tools/upgraders/v3-to-v4-upgrader.js +1 -0
  95. package/test.md +0 -1
  96. /package/{implement-fork-friendly-ci.sh → tools/implement-fork-friendly-ci.sh} +0 -0
@@ -0,0 +1,406 @@
1
+ template:
2
+ id: godot-game-story-template-v4
3
+ name: Godot Game Development Story
4
+ version: 4.0
5
+ output:
6
+ format: markdown
7
+ filename: "stories/{{epic_name}}/{{story_id}}-{{story_name}}.md"
8
+ title: "Godot Story: {{story_title}}"
9
+
10
+ workflow:
11
+ mode: interactive
12
+
13
+ sections:
14
+ - id: initial-setup
15
+ instruction: |
16
+ This template creates detailed Godot game development stories with TDD focus and 60+ FPS performance requirements. Each story should focus on a single, implementable feature using appropriate language choices (GDScript for logic, C# for performance-critical systems).
17
+
18
+ Before starting, ensure you have access to:
19
+
20
+ - Game Design Document (GDD) with Godot specifications
21
+ - Game Architecture Document with node hierarchy
22
+ - Language strategy decisions (GDScript vs C#)
23
+ - Performance targets (60+ FPS mandatory)
24
+ - Any existing stories in this epic
25
+
26
+ The story must include TDD requirements (GUT for GDScript, GoDotTest for C#) and performance validation steps.
27
+
28
+ - id: story-header
29
+ content: |
30
+ **Epic:** {{epic_name}}
31
+ **Story ID:** {{story_id}}
32
+ **Priority:** {{High|Medium|Low}}
33
+ **Points:** {{story_points}}
34
+ **Status:** Draft
35
+ **Language:** {{GDScript|C#|Both}}
36
+ **Performance Target:** 60+ FPS
37
+
38
+ - id: description
39
+ title: Description
40
+ instruction: Provide a clear, concise description of what this story implements in Godot. Focus on the specific game feature, node architecture, and language choice rationale. Reference the GDD section and performance requirements.
41
+ template: |
42
+ {{clear_description_of_what_needs_to_be_implemented}}
43
+
44
+ **Godot Implementation:** Using {{node_types}} with {{language_choice}} for {{performance_reason}}
45
+ **Performance Impact:** {{expected_fps_impact}}
46
+
47
+ - id: acceptance-criteria
48
+ title: Acceptance Criteria
49
+ instruction: Define specific, testable conditions that must be met for the story to be considered complete. Each criterion should be verifiable and directly related to gameplay functionality.
50
+ sections:
51
+ - id: functional-requirements
52
+ title: Functional Requirements
53
+ type: checklist
54
+ items:
55
+ - "{{specific_functional_requirement}}"
56
+ - id: technical-requirements
57
+ title: Technical Requirements
58
+ type: checklist
59
+ items:
60
+ - Code follows GDScript/C# best practices with static typing
61
+ - Maintains 60+ FPS on all target devices (frame time <16.67ms)
62
+ - Object pooling implemented for spawned entities
63
+ - Signals properly connected and cleaned up
64
+ - GUT/GoDotTest coverage >= 80%
65
+ - "{{specific_technical_requirement}}"
66
+ - id: game-design-requirements
67
+ title: Game Design Requirements
68
+ type: checklist
69
+ items:
70
+ - "{{gameplay_requirement_from_gdd}}"
71
+ - "{{balance_requirement_if_applicable}}"
72
+ - "{{player_experience_requirement}}"
73
+
74
+ - id: technical-specifications
75
+ title: Technical Specifications
76
+ instruction: Provide specific Godot technical details including node hierarchy, signal flow, and language decisions. Include scene structure and resource requirements.
77
+ sections:
78
+ - id: files-to-modify
79
+ title: Files to Create/Modify
80
+ template: |
81
+ **New Scenes (.tscn):**
82
+
83
+ - `res://scenes/{{scene_name}}.tscn` - {{purpose}}
84
+
85
+ **New Scripts:**
86
+
87
+ - `res://scripts/{{script_name}}.gd` - {{gdscript_purpose}} (static typing required)
88
+ - `res://scripts/{{script_name}}.cs` - {{csharp_purpose}} (for performance)
89
+
90
+ **New Resources (.tres):**
91
+
92
+ - `res://resources/{{resource_name}}.tres` - {{resource_purpose}}
93
+
94
+ **Modified Files:**
95
+
96
+ - `{{existing_file_1}}` - {{changes_needed}}
97
+ - `{{existing_file_2}}` - {{changes_needed}}
98
+ - id: class-interface-definitions
99
+ title: Node/Class Definitions
100
+ instruction: Define specific Godot node structures and classes with language strategy
101
+ template: |
102
+ **GDScript Implementation (for game logic):**
103
+ ```gdscript
104
+ # {{script_name}}.gd
105
+ class_name {{ClassName}}
106
+ extends {{Node2D|Control|Node3D}}
107
+
108
+ # Static typing mandatory for 10-20% performance gain
109
+ @export var {{property_name}}: {{type}} = {{default_value}}
110
+
111
+ var _{{private_property}}: {{type}}
112
+
113
+ signal {{signal_name}}({{params}})
114
+
115
+ func _ready() -> void:
116
+ # TDD: Write GUT tests first
117
+ pass
118
+
119
+ func _physics_process(delta: float) -> void:
120
+ # Must maintain 60+ FPS
121
+ pass
122
+ ```
123
+
124
+ **C# Implementation (for performance-critical systems):**
125
+ ```csharp
126
+ // {{script_name}}.cs
127
+ using Godot;
128
+
129
+ [GlobalClass]
130
+ public partial class {{ClassName}} : {{Node2D|Control|Node3D}}
131
+ {
132
+ [Export] public {{type}} {{PropertyName}} { get; set; }
133
+
134
+ [Signal]
135
+ public delegate void {{SignalName}}EventHandler({{params}});
136
+
137
+ public override void _Ready()
138
+ {
139
+ // TDD: Write GoDotTest tests first
140
+ // No LINQ in hot paths
141
+ }
142
+
143
+ public override void _PhysicsProcess(double delta)
144
+ {
145
+ // Optimize for 60+ FPS, no allocations
146
+ }
147
+ }
148
+ ```
149
+ - id: integration-points
150
+ title: Integration Points
151
+ instruction: Specify how this feature integrates with existing Godot systems
152
+ template: |
153
+ **Scene Tree Integration:**
154
+
155
+ - Parent Scene: `res://scenes/{{parent_scene}}.tscn`
156
+ - Node Path: `/root/{{node_path}}`
157
+ - Scene Instancing: {{instancing_details}}
158
+
159
+ **Node Dependencies:**
160
+
161
+ - {{node_name}}: {{dependency_description}}
162
+ - Language: {{GDScript|C#}} - {{language_reason}}
163
+
164
+ **Signal Connections:**
165
+
166
+ - Emits: `{{signal_name}}` when {{condition}}
167
+ - Connects to: `{{node_path}}.{{signal_name}}` for {{response}}
168
+ - Cleanup: Signals disconnected in `_exit_tree()`
169
+
170
+ **Resource Dependencies:**
171
+
172
+ - `res://resources/{{resource}}.tres` - {{usage}}
173
+ - Preloaded: {{yes|no}} - {{preload_reason}}
174
+
175
+ - id: tdd-workflow
176
+ title: TDD Workflow (Red-Green-Refactor)
177
+ instruction: Define the Test-Driven Development approach for this story
178
+ template: |
179
+ **RED Phase - Write Failing Tests First:**
180
+
181
+ GDScript (GUT):
182
+ - [ ] Create test file: `res://tests/unit/test_{{component}}.gd`
183
+ - [ ] Write test for {{behavior_1}} - expect failure
184
+ - [ ] Write test for {{behavior_2}} - expect failure
185
+ - [ ] Write performance test for 60+ FPS - expect failure
186
+
187
+ C# (GoDotTest):
188
+ - [ ] Create test file: `res://tests/unit/{{Component}}Tests.cs`
189
+ - [ ] Write test for {{behavior_1}} - expect failure
190
+ - [ ] Write optimization test (no allocations) - expect failure
191
+
192
+ **GREEN Phase - Make Tests Pass:**
193
+
194
+ - [ ] Implement minimal code to pass {{behavior_1}} test
195
+ - [ ] Implement minimal code to pass {{behavior_2}} test
196
+ - [ ] Ensure 60+ FPS requirement is met
197
+ - [ ] Verify all tests are green
198
+
199
+ **REFACTOR Phase - Optimize and Clean:**
200
+
201
+ - [ ] Add static typing to all GDScript (10-20% perf gain)
202
+ - [ ] Remove LINQ from C# hot paths
203
+ - [ ] Implement object pooling for {{spawned_entities}}
204
+ - [ ] Clean up signal connections
205
+ - [ ] Profile and verify 60+ FPS maintained
206
+ - [ ] Ensure test coverage >= 80%
207
+
208
+ - id: implementation-tasks
209
+ title: Implementation Tasks
210
+ instruction: Break down the implementation into TDD-focused tasks following Red-Green-Refactor cycle. Each task should maintain 60+ FPS.
211
+ sections:
212
+ - id: dev-agent-record
213
+ title: Dev Agent Record
214
+ template: |
215
+ **TDD Tasks (Red-Green-Refactor):**
216
+
217
+ - [ ] Write GUT/GoDotTest tests for {{component}} (RED phase)
218
+ - [ ] Implement {{node_structure}} to pass tests (GREEN phase)
219
+ - [ ] Refactor with static typing and optimization (REFACTOR phase)
220
+ - [ ] Create object pool for {{spawned_entities}}
221
+ - [ ] Implement signal connections with cleanup
222
+ - [ ] Profile performance to ensure 60+ FPS
223
+ - [ ] Language optimization (GDScript static typing or C# no-LINQ)
224
+ - [ ] Integration testing with {{related_system}}
225
+ - [ ] Final performance validation (must maintain 60+ FPS)
226
+
227
+ **Debug Log:**
228
+ | Task | File | Change | Reverted? |
229
+ |------|------|--------|-----------|
230
+ | | | | |
231
+
232
+ **Completion Notes:**
233
+
234
+ <!-- Only note deviations from requirements, keep under 50 words -->
235
+
236
+ **Change Log:**
237
+
238
+ <!-- Only requirement changes during implementation -->
239
+
240
+ - id: godot-technical-context
241
+ title: Godot Technical Context
242
+ instruction: Define the Godot-specific technical implementation details
243
+ template: |
244
+ **Engine Version:** Godot {{version}} (4.3+ recommended)
245
+ **Renderer:** {{Forward+|Mobile|Compatibility}}
246
+ **Primary Language:** {{GDScript|C#}} - {{reason}}
247
+
248
+ **Node Architecture:**
249
+ ```
250
+ {{parent_node}}
251
+ └── {{child_node_1}} ({{node_type}})
252
+ ├── {{child_node_2}} ({{node_type}})
253
+ └── {{child_node_3}} ({{node_type}})
254
+ ```
255
+
256
+ **Performance Requirements:**
257
+ - Target FPS: 60+ (mandatory)
258
+ - Frame Budget: 16.67ms
259
+ - Memory Budget: {{memory_mb}}MB
260
+ - Draw Calls: < {{draw_calls}}
261
+
262
+ **Object Pooling Required:**
263
+ - {{entity_type}}: Pool size {{pool_size}}
264
+ - Recycling strategy: {{strategy}}
265
+
266
+ - id: game-design-context
267
+ title: Game Design Context
268
+ instruction: Reference the specific sections of the GDD that this story implements with Godot-specific details
269
+ template: |
270
+ **GDD Reference:** {{section_name}} ({{page_or_section_number}})
271
+
272
+ **Game Mechanic:** {{mechanic_name}}
273
+
274
+ **Godot Implementation Approach:**
275
+ - Node Architecture: {{node_hierarchy}}
276
+ - Language Choice: {{GDScript|C#}} for {{reason}}
277
+ - Performance Target: 60+ FPS with {{expected_load}}
278
+
279
+ **Player Experience Goal:** {{experience_description}}
280
+
281
+ **Balance Parameters (Resource-based):**
282
+
283
+ - {{parameter_1}}: {{value_or_range}} (stored in .tres)
284
+ - {{parameter_2}}: {{value_or_range}} (exported variable)
285
+
286
+ - id: testing-requirements
287
+ title: Testing Requirements
288
+ instruction: Define specific TDD testing criteria with GUT (GDScript) and GoDotTest (C#) frameworks
289
+ sections:
290
+ - id: unit-tests
291
+ title: Unit Tests (TDD Mandatory)
292
+ template: |
293
+ **GUT Test Files (GDScript):**
294
+
295
+ - `res://tests/unit/test_{{component_name}}.gd`
296
+ - Coverage Target: 80% minimum
297
+
298
+ **GoDotTest Files (C#):**
299
+
300
+ - `res://tests/unit/{{ComponentName}}Tests.cs`
301
+ - No LINQ in test hot paths
302
+
303
+ **Test Scenarios (Write First - Red Phase):**
304
+
305
+ - {{test_scenario_1}} - Must validate 60+ FPS
306
+ - {{test_scenario_2}} - Signal emission verification
307
+ - {{edge_case_test}} - Object pool boundary testing
308
+ - Performance test: Frame time < 16.67ms
309
+ - id: game-testing
310
+ title: Game Testing
311
+ template: |
312
+ **Manual Test Cases (Godot Editor):**
313
+
314
+ 1. {{test_case_1_description}}
315
+
316
+ - Expected: {{expected_behavior}}
317
+ - Performance: Must maintain 60+ FPS
318
+ - Profiler Check: Frame time < 16.67ms
319
+ - Language Validation: {{GDScript|C#}} performing as expected
320
+
321
+ 2. {{test_case_2_description}}
322
+ - Expected: {{expected_behavior}}
323
+ - Signal Flow: {{signal_verification}}
324
+ - Memory: No leaks, signals cleaned up
325
+ - Object Pools: Verify pooling active
326
+ - id: performance-tests
327
+ title: Performance Tests
328
+ template: |
329
+ **Godot Profiler Metrics (Mandatory):**
330
+
331
+ - Frame rate: 60+ FPS consistently (FAIL if below)
332
+ - Frame time: < 16.67ms average
333
+ - Physics frame: < {{physics_time}}ms
334
+ - Memory usage: < {{memory_limit}}MB
335
+ - Draw calls: < {{draw_call_budget}}
336
+ - Object pools: Active and recycling properly
337
+ - GDScript static typing: Verified (10-20% perf gain)
338
+ - C# optimization: No LINQ, no allocations in hot paths
339
+ - {{feature_specific_performance_metric}}
340
+
341
+ - id: dependencies
342
+ title: Dependencies
343
+ instruction: List any dependencies including Godot-specific requirements
344
+ template: |
345
+ **Story Dependencies:**
346
+
347
+ - {{story_id}}: {{dependency_description}}
348
+
349
+ **Godot System Dependencies:**
350
+
351
+ - Node: {{parent_node}} must exist in scene tree
352
+ - Autoload: {{autoload_singleton}} configured
353
+ - Language: {{prerequisite_language_setup}}
354
+
355
+ **Resource Dependencies:**
356
+
357
+ - Resource Type: {{.tres|.tscn}}
358
+ - Asset: {{asset_description}}
359
+ - Location: `res://{{asset_path}}`
360
+ - Import Settings: {{import_configuration}}
361
+
362
+ - id: definition-of-done
363
+ title: Definition of Done
364
+ instruction: Checklist that must be completed with focus on Godot, TDD, and performance
365
+ type: checklist
366
+ items:
367
+ - All acceptance criteria met
368
+ - TDD followed (tests written first, then implementation)
369
+ - GUT tests passing (GDScript) with 80%+ coverage
370
+ - GoDotTest passing (C#) with 80%+ coverage
371
+ - Performance: 60+ FPS maintained on all platforms
372
+ - Static typing used in all GDScript
373
+ - C# optimized (no LINQ in hot paths)
374
+ - Object pooling active for spawned entities
375
+ - Signals properly connected and cleaned up
376
+ - No GDScript or C# errors/warnings
377
+ - Node hierarchy follows architecture
378
+ - Resources (.tres) configured properly
379
+ - Export templates tested
380
+ - Documentation updated
381
+ - "{{game_specific_dod_item}}"
382
+
383
+ - id: notes
384
+ title: Notes
385
+ instruction: Any additional Godot-specific context, language decisions, or optimization notes
386
+ template: |
387
+ **Godot Implementation Notes:**
388
+
389
+ - Language Choice: {{GDScript|C#}} because {{performance_reason}}
390
+ - Node Architecture: {{node_pattern}} for {{benefit}}
391
+ - Signal Pattern: {{signal_strategy}}
392
+ - {{note_1}}
393
+
394
+ **Performance Decisions:**
395
+
396
+ - Static Typing: {{gdscript_typing_strategy}} for 10-20% gain
397
+ - C# Usage: {{csharp_systems}} for critical performance
398
+ - Object Pooling: {{pooling_strategy}} for spawned entities
399
+ - {{decision_1}}: {{rationale}}
400
+
401
+ **Future Optimizations:**
402
+
403
+ - Consider migrating {{system}} to C# if FPS drops
404
+ - Implement LOD for {{complex_nodes}}
405
+ - Add performance benchmarks to test suite
406
+ - {{future_optimization_1}}