mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-06-27 04:51:46 +00:00
48 coordinated Claude Code subagents for indie game development: - 3 leadership agents (creative-director, technical-director, producer) - 10 department leads (game-designer, lead-programmer, art-director, etc.) - 23 specialist agents (gameplay, engine, AI, networking, UI, tools, etc.) - 12 engine-specific agents (Godot, Unity, Unreal with sub-specialists) Infrastructure: - 34 skills (slash commands) for workflows, reviews, and team orchestration - 8 hooks for commit validation, asset checks, session management - 11 path-scoped rules enforcing domain-specific standards - 28 templates for design docs, reports, and collaborative protocols Key features: - User-driven collaboration protocol (Question → Options → Decision → Draft → Approval) - Engine version awareness with knowledge-gap detection (Godot 4.6 pinned) - Phase gate system for development milestone validation - CLAUDE.md kept under 80 lines with extracted doc imports Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
---
|
|
paths:
|
|
- "tests/**"
|
|
---
|
|
|
|
# Test Standards
|
|
|
|
- Test naming: `test_[system]_[scenario]_[expected_result]` pattern
|
|
- Every test must have a clear arrange/act/assert structure
|
|
- Unit tests must not depend on external state (filesystem, network, database)
|
|
- Integration tests must clean up after themselves
|
|
- Performance tests must specify acceptable thresholds and fail if exceeded
|
|
- Test data must be defined in the test or in dedicated fixtures, never shared mutable state
|
|
- Mock external dependencies — tests should be fast and deterministic
|
|
- Every bug fix must have a regression test that would have caught the original bug
|
|
|
|
## Examples
|
|
|
|
**Correct** (proper naming + Arrange/Act/Assert):
|
|
|
|
```gdscript
|
|
func test_health_system_take_damage_reduces_health() -> void:
|
|
# Arrange
|
|
var health := HealthComponent.new()
|
|
health.max_health = 100
|
|
health.current_health = 100
|
|
|
|
# Act
|
|
health.take_damage(25)
|
|
|
|
# Assert
|
|
assert_eq(health.current_health, 75)
|
|
```
|
|
|
|
**Incorrect**:
|
|
|
|
```gdscript
|
|
func test1() -> void: # VIOLATION: no descriptive name
|
|
var h := HealthComponent.new()
|
|
h.take_damage(25) # VIOLATION: no arrange step, no clear assert
|
|
assert_true(h.current_health < 100) # VIOLATION: imprecise assertion
|
|
```
|