chore: add code formatting config and pre-commit hooks (#450)
This commit is contained in:
@@ -1231,7 +1231,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/game-architecture.md
|
||||
title: "{{project_name}} Game Architecture Document"
|
||||
title: '{{project_name}} Game Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1341,11 +1341,11 @@ sections:
|
||||
- Game management patterns (Singleton managers, Event systems, State machines)
|
||||
- Data patterns (ScriptableObject configuration, Save/Load systems)
|
||||
- Unity-specific patterns (Object pooling, Coroutines, Unity Events)
|
||||
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
||||
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
|
||||
examples:
|
||||
- "**Component-Based Architecture:** Using MonoBehaviour components for game logic - _Rationale:_ Aligns with Unity's design philosophy and enables reusable, testable game systems"
|
||||
- "**ScriptableObject Data:** Using ScriptableObjects for game configuration - _Rationale:_ Enables data-driven design and easy balancing without code changes"
|
||||
- "**Event-Driven Communication:** Using Unity Events and C# events for system decoupling - _Rationale:_ Supports modular architecture and easier testing"
|
||||
- '**ScriptableObject Data:** Using ScriptableObjects for game configuration - _Rationale:_ Enables data-driven design and easy balancing without code changes'
|
||||
- '**Event-Driven Communication:** Using Unity Events and C# events for system decoupling - _Rationale:_ Supports modular architecture and easier testing'
|
||||
|
||||
- id: tech-stack
|
||||
title: Tech Stack
|
||||
@@ -1384,13 +1384,13 @@ sections:
|
||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||
instruction: Populate the technology stack table with all relevant Unity technologies
|
||||
examples:
|
||||
- "| **Game Engine** | Unity | 2022.3.21f1 | Core game development platform | Latest LTS version, stable 2D tooling, comprehensive package ecosystem |"
|
||||
- '| **Game Engine** | Unity | 2022.3.21f1 | Core game development platform | Latest LTS version, stable 2D tooling, comprehensive package ecosystem |'
|
||||
- "| **Language** | C# | 10.0 | Primary scripting language | Unity's native language, strong typing, excellent tooling |"
|
||||
- "| **Render Pipeline** | Universal Render Pipeline (URP) | 14.0.10 | 2D/3D rendering | Optimized for mobile, excellent 2D features, future-proof |"
|
||||
- "| **Input System** | Unity Input System | 1.7.0 | Cross-platform input handling | Modern input system, supports multiple devices, rebindable controls |"
|
||||
- "| **Physics** | Unity 2D Physics | Built-in | 2D collision and physics | Integrated Box2D, optimized for 2D games |"
|
||||
- "| **Audio** | Unity Audio | Built-in | Audio playback and mixing | Built-in audio system with mixer support |"
|
||||
- "| **Testing** | Unity Test Framework | 1.1.33 | Unit and integration testing | Built-in testing framework based on NUnit |"
|
||||
- '| **Render Pipeline** | Universal Render Pipeline (URP) | 14.0.10 | 2D/3D rendering | Optimized for mobile, excellent 2D features, future-proof |'
|
||||
- '| **Input System** | Unity Input System | 1.7.0 | Cross-platform input handling | Modern input system, supports multiple devices, rebindable controls |'
|
||||
- '| **Physics** | Unity 2D Physics | Built-in | 2D collision and physics | Integrated Box2D, optimized for 2D games |'
|
||||
- '| **Audio** | Unity Audio | Built-in | Audio playback and mixing | Built-in audio system with mixer support |'
|
||||
- '| **Testing** | Unity Test Framework | 1.1.33 | Unit and integration testing | Built-in testing framework based on NUnit |'
|
||||
|
||||
- id: data-models
|
||||
title: Game Data Models
|
||||
@@ -1408,7 +1408,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: model
|
||||
title: "{{model_name}}"
|
||||
title: '{{model_name}}'
|
||||
template: |
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
@@ -1443,7 +1443,7 @@ sections:
|
||||
sections:
|
||||
- id: system-list
|
||||
repeatable: true
|
||||
title: "{{system_name}} System"
|
||||
title: '{{system_name}} System'
|
||||
template: |
|
||||
**Responsibility:** {{system_description}}
|
||||
|
||||
@@ -1967,7 +1967,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: integration
|
||||
title: "{{service_name}} Integration"
|
||||
title: '{{service_name}} Integration'
|
||||
template: |
|
||||
- **Purpose:** {{service_purpose}}
|
||||
- **Documentation:** {{service_docs_url}}
|
||||
@@ -2079,12 +2079,12 @@ sections:
|
||||
- id: environments
|
||||
title: Build Environments
|
||||
repeatable: true
|
||||
template: "- **{{env_name}}:** {{env_purpose}} - {{platform_settings}}"
|
||||
template: '- **{{env_name}}:** {{env_purpose}} - {{platform_settings}}'
|
||||
- id: platform-specific-builds
|
||||
title: Platform-Specific Build Settings
|
||||
type: code
|
||||
language: text
|
||||
template: "{{platform_build_configurations}}"
|
||||
template: '{{platform_build_configurations}}'
|
||||
|
||||
- id: coding-standards
|
||||
title: Coding Standards
|
||||
@@ -2113,9 +2113,9 @@ sections:
|
||||
columns: [Element, Convention, Example]
|
||||
instruction: Only include if deviating from Unity defaults
|
||||
examples:
|
||||
- "| MonoBehaviour | PascalCase + Component suffix | PlayerController, HealthSystem |"
|
||||
- "| ScriptableObject | PascalCase + Data/Config suffix | PlayerData, GameConfig |"
|
||||
- "| Prefab | PascalCase descriptive | PlayerCharacter, EnvironmentTile |"
|
||||
- '| MonoBehaviour | PascalCase + Component suffix | PlayerController, HealthSystem |'
|
||||
- '| ScriptableObject | PascalCase + Data/Config suffix | PlayerData, GameConfig |'
|
||||
- '| Prefab | PascalCase descriptive | PlayerCharacter, EnvironmentTile |'
|
||||
- id: critical-rules
|
||||
title: Critical Unity Rules
|
||||
instruction: |
|
||||
@@ -2127,7 +2127,7 @@ sections:
|
||||
|
||||
Avoid obvious rules like "follow SOLID principles" or "optimize performance"
|
||||
repeatable: true
|
||||
template: "- **{{rule_name}}:** {{rule_description}}"
|
||||
template: '- **{{rule_name}}:** {{rule_description}}'
|
||||
- id: unity-specifics
|
||||
title: Unity-Specific Guidelines
|
||||
condition: Critical Unity-specific rules needed
|
||||
@@ -2136,7 +2136,7 @@ sections:
|
||||
- id: unity-lifecycle
|
||||
title: Unity Lifecycle Rules
|
||||
repeatable: true
|
||||
template: "- **{{lifecycle_method}}:** {{usage_rule}}"
|
||||
template: '- **{{lifecycle_method}}:** {{usage_rule}}'
|
||||
|
||||
- id: test-strategy
|
||||
title: Test Strategy and Standards
|
||||
@@ -3698,7 +3698,7 @@ Use the `shard-doc` task or `@kayvan/markdown-tree-parser` tool for automatic ga
|
||||
|
||||
- **Claude Code**: `/bmad2du/game-designer`, `/bmad2du/game-developer`, `/bmad2du/game-sm`, `/bmad2du/game-architect`
|
||||
- **Cursor**: `@bmad2du/game-designer`, `@bmad2du/game-developer`, `@bmad2du/game-sm`, `@bmad2du/game-architect`
|
||||
- **Windsurf**: `@bmad2du/game-designer`, `@bmad2du/game-developer`, `@bmad2du/game-sm`, `@bmad2du/game-architect`
|
||||
- **Windsurf**: `/bmad2du/game-designer`, `/bmad2du/game-developer`, `/bmad2du/game-sm`, `/bmad2du/game-architect`
|
||||
- **Trae**: `@bmad2du/game-designer`, `@bmad2du/game-developer`, `@bmad2du/game-sm`, `@bmad2du/game-architect`
|
||||
- **Roo Code**: Select mode from mode selector with bmad2du prefix
|
||||
- **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select the appropriate game agent.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -514,8 +514,8 @@ template:
|
||||
version: 3.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "stories/{{epic_name}}/{{story_id}}-{{story_name}}.md"
|
||||
title: "Story: {{story_title}}"
|
||||
filename: 'stories/{{epic_name}}/{{story_id}}-{{story_name}}.md'
|
||||
title: 'Story: {{story_title}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -524,13 +524,13 @@ sections:
|
||||
- id: initial-setup
|
||||
instruction: |
|
||||
This template creates detailed game development stories that are immediately actionable by game developers. Each story should focus on a single, implementable feature that contributes to the overall game functionality.
|
||||
|
||||
|
||||
Before starting, ensure you have access to:
|
||||
|
||||
|
||||
- Game Design Document (GDD)
|
||||
- Game Architecture Document
|
||||
- Any existing stories in this epic
|
||||
|
||||
|
||||
The story should be specific enough that a developer can implement it without requiring additional design decisions.
|
||||
|
||||
- id: story-header
|
||||
@@ -544,7 +544,7 @@ sections:
|
||||
- id: description
|
||||
title: Description
|
||||
instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature.
|
||||
template: "{{clear_description_of_what_needs_to_be_implemented}}"
|
||||
template: '{{clear_description_of_what_needs_to_be_implemented}}'
|
||||
|
||||
- id: acceptance-criteria
|
||||
title: Acceptance Criteria
|
||||
@@ -554,7 +554,7 @@ sections:
|
||||
title: Functional Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{specific_functional_requirement}}"
|
||||
- '{{specific_functional_requirement}}'
|
||||
- id: technical-requirements
|
||||
title: Technical Requirements
|
||||
type: checklist
|
||||
@@ -562,14 +562,14 @@ sections:
|
||||
- Code follows C# best practices
|
||||
- Maintains stable frame rate on target devices
|
||||
- No memory leaks or performance degradation
|
||||
- "{{specific_technical_requirement}}"
|
||||
- '{{specific_technical_requirement}}'
|
||||
- id: game-design-requirements
|
||||
title: Game Design Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{gameplay_requirement_from_gdd}}"
|
||||
- "{{balance_requirement_if_applicable}}"
|
||||
- "{{player_experience_requirement}}"
|
||||
- '{{gameplay_requirement_from_gdd}}'
|
||||
- '{{balance_requirement_if_applicable}}'
|
||||
- '{{player_experience_requirement}}'
|
||||
|
||||
- id: technical-specifications
|
||||
title: Technical Specifications
|
||||
@@ -579,12 +579,12 @@ sections:
|
||||
title: Files to Create/Modify
|
||||
template: |
|
||||
**New Files:**
|
||||
|
||||
|
||||
- `{{file_path_1}}` - {{purpose}}
|
||||
- `{{file_path_2}}` - {{purpose}}
|
||||
|
||||
|
||||
**Modified Files:**
|
||||
|
||||
|
||||
- `{{existing_file_1}}` - {{changes_needed}}
|
||||
- `{{existing_file_2}}` - {{changes_needed}}
|
||||
- id: class-interface-definitions
|
||||
@@ -667,13 +667,13 @@ sections:
|
||||
instruction: Reference the specific sections of the GDD that this story implements
|
||||
template: |
|
||||
**GDD Reference:** {{section_name}} ({{page_or_section_number}})
|
||||
|
||||
|
||||
**Game Mechanic:** {{mechanic_name}}
|
||||
|
||||
|
||||
**Player Experience Goal:** {{experience_description}}
|
||||
|
||||
|
||||
**Balance Parameters:**
|
||||
|
||||
|
||||
- {{parameter_1}}: {{value_or_range}}
|
||||
- {{parameter_2}}: {{value_or_range}}
|
||||
|
||||
@@ -720,15 +720,15 @@ sections:
|
||||
instruction: List any dependencies that must be completed before this story can be implemented
|
||||
template: |
|
||||
**Story Dependencies:**
|
||||
|
||||
|
||||
- {{story_id}}: {{dependency_description}}
|
||||
|
||||
|
||||
**Technical Dependencies:**
|
||||
|
||||
|
||||
- {{system_or_file}}: {{requirement}}
|
||||
|
||||
|
||||
**Asset Dependencies:**
|
||||
|
||||
|
||||
- {{asset_type}}: {{asset_description}}
|
||||
- Location: `{{asset_path}}`
|
||||
|
||||
@@ -744,24 +744,24 @@ sections:
|
||||
- Performance targets met
|
||||
- No C# compiler errors or warnings
|
||||
- Documentation updated
|
||||
- "{{game_specific_dod_item}}"
|
||||
- '{{game_specific_dod_item}}'
|
||||
|
||||
- id: notes
|
||||
title: Notes
|
||||
instruction: Any additional context, design decisions, or implementation notes
|
||||
template: |
|
||||
**Implementation Notes:**
|
||||
|
||||
|
||||
- {{note_1}}
|
||||
- {{note_2}}
|
||||
|
||||
|
||||
**Design Decisions:**
|
||||
|
||||
|
||||
- {{decision_1}}: {{rationale}}
|
||||
- {{decision_2}}: {{rationale}}
|
||||
|
||||
|
||||
**Future Considerations:**
|
||||
|
||||
|
||||
- {{future_enhancement_1}}
|
||||
- {{future_optimization_1}}
|
||||
==================== END: .bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml ====================
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user