---
description: "MVC architecture conventions for {{PROJECT_NAME}}"
alwaysApply: true
---

# MVC Architecture — {{PROJECT_NAME}}

## Layer responsibilities
- **Model**: Data + business logic. Pure Dart.
- **View**: Renders UI, observes Controller state. No business logic.
- **Controller** (GetX): Connects Model ↔ View. Manages state transitions.

## Import rules
{{ARCH_IMPORT_RULES}}

## Controller rules
- Controllers are injected via `Binding`, never created in widgets
- One Controller per feature screen (not per widget)
- Controllers fetch data in `onInit()`, clean up in `onClose()`
- All reactive state marked with `.obs`
