diff --git a/AGENTS.md b/AGENTS.md index cbc70c6..ffcda55 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -102,8 +102,6 @@ class Character { } ``` - - **Key principles:** - **ADTs over classes** — use discriminated unions for state/variants @@ -122,21 +120,19 @@ Before writing a method or class, ask: > **The litmus test:** If you can't point to a failing property that demands this code, don't write it. Future stories will reveal what abstractions are actually needed — and they'll look different than you expect. - - ### What to skip per story (common traps) -| Story | Don't implement | Belongs to | -|---|---|---| -| 1 (Creation) | `isAllyOf`, `isAlive`, `isDead` | Stories 3+ | -| 1 (Creation) | `Health.add()`, `Health.isMax()` | Stories 3/4 | -| 1 (Creation) | `Level.next()`, `Level.diff()` | Story 5 | -| 2 (Damage) | `Damage` value object | Only if a property demands it | -| 2 (Damage) | Level modifier (±50%) | Story 3 | -| 2 (Damage) | Faction/ally checks | Story 3 | -| 3 (Levels) | MagicalObjects | Story 4 | -| 3 (Levels) | Level-up tracking | Story 5 | -| 4 (Objects) | `joinFaction` / `leaveFaction` | Story 3 | +| Story | Don't implement | Belongs to | +| ------------ | -------------------------------- | ----------------------------- | +| 1 (Creation) | `isAllyOf`, `isAlive`, `isDead` | Stories 3+ | +| 1 (Creation) | `Health.add()`, `Health.isMax()` | Stories 3/4 | +| 1 (Creation) | `Level.next()`, `Level.diff()` | Story 5 | +| 2 (Damage) | `Damage` value object | Only if a property demands it | +| 2 (Damage) | Level modifier (±50%) | Story 3 | +| 2 (Damage) | Faction/ally checks | Story 3 | +| 3 (Levels) | MagicalObjects | Story 4 | +| 3 (Levels) | Level-up tracking | Story 5 | +| 4 (Objects) | `joinFaction` / `leaveFaction` | Story 3 | ### Example: Damage Property