# Common Pitfalls & Best Practices - AGENTS.md is the source of truth. CLAUDE.md is a symlink to it. - Always use Vue's `shallowRef` over `ref` by default. Using `ref` requires a solid justification and a code comment explaining why deep reactivity is needed. - Always use `defineComponent()` to define components. Never use bare `{ setup() {} }` objects — they lack component scope, so `inject`, `watch`, and `onScopeDispose` won't work correctly. - Vue SFCs must use `