# Contributing to PokerRogue Thanks for your interest in contributing to **PokerRogue**! This project is in early development, so flexibility and communication are key. --- ## ๐Ÿงญ Philosophy PokerRogue values: - Clean, readable code - Deterministic game logic - Fast iteration - Fun > realism Avoid overengineering and solver-heavy logic. --- ## ๐Ÿ› ๏ธ Tech Requirements - .NET SDK 10 - MonoGame 3.8+ - Windows (primary dev platform) Optional: - Rider or Visual Studio - Git --- ## ๐Ÿ“ Code Structure Guidelines ### PokerRogue.Core - No rendering code - No MonoGame dependencies (unless unavoidable) - Deterministic logic preferred - Unit-testable systems ### PokerRogue.Game - Rendering - Input - UI - Screen/state management --- ## ๐Ÿงช Testing - Core logic should be unit-testable - Focus on: - Damage calculations - Status stacking - Skill interactions --- ## ๐Ÿงพ Coding Style - C# conventions - Explicit over clever - Small, composable systems - Prefer data-driven design --- ## ๐Ÿ”€ Git Workflow - Feature branches preferred - Small, focused commits - Descriptive commit messages Example: ``` feat: add bleed status effect fix: shield calculation overflow ``` --- ## ๐Ÿง  Design Contributions If proposing gameplay changes: - Explain the problem - Explain why it improves player decision-making - Avoid pure randomness buffs --- ## ๐Ÿ“ฌ Communication Open an issue or discussion before large changes. --- Happy hacking ๐Ÿƒ