核心不得依赖引擎界面,随机数走统一入口,避免规则写进表现层。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.0 KiB
1.0 KiB
Agent rules
Read docs/FOUNDATION.md and docs/ARCHITECTURE.md before large refactors.
Game.Coremust not depend on Godot.- All randomness must go through
GameRng. Simulation and presentation share one rules engine. - UI must not implement game rules. Presentation renders
GameStateand playsGameEvents. - Adding or changing core rules requires adding or updating tests.
- Ordinary cards should use standard effects. Do not invent a general-purpose scripting language.
- Changing the content schema requires updating the validator and
docs/CONTENT_SCHEMA.md. - Changing event resolution order requires checking related tests.
- Do not create a global rule for a single card.
- Prefer the smallest working implementation. Do not optimize until there is a measured bottleneck.
- Freeze the 11 core actions in
docs/RULES.md. New “archetypes” are combinations, conditions, or keywords — not new primitive events. - Card packs are in-run only. Unlock state must reset with the run. Do not add cross-run / meta unlocks.