Svelte is different from every other frontend framework — no virtual DOM, compiled output, reactivity that's a language feature rather than a runtime. That difference is exactly what trips up Claude Code: it defaults to React-style thinking, uses patterns that make sense in Vue or Angular but are wrong in Svelte, and ignores the compiler's superpowers entirely. These 13 rules fix that. Rule 1: Reactivity — no useState, no ref(), just assignment Reactive state uses plain variable assignment. No reactive() wrapper, no useState(), no signal(). Mutate arrays and objects directly — Svelte's compiler tracks assignments, not mutations. Correct: items = [...items, newItem] Incorrect: items.push(newItem) without reassignment Enter fullscreen mode Exit fullscreen mode Claude trained on React and Vue will reach for hooks or composables. In Svelte, let count = 0 and count++ in a click handler is the entire reactivity system.…