.kiro/steering/coding-style.md
ALWAYS create new objects, NEVER mutate existing ones:
// Pseudocode
WRONG: modify(original, field, value) → changes original in-place
CORRECT: update(original, field, value) → returns new copy with change
Rationale: Immutable data prevents hidden side effects, makes debugging easier, and enables safe concurrency.
MANY SMALL FILES > FEW LARGE FILES:
ALWAYS handle errors comprehensively:
ALWAYS validate at system boundaries:
Before marking work complete: