- Organize code into layers: `app/`, `pages/`, `widgets/`, `features/`, `entities/`, `shared/`.
- Dependencies flow top-down only: features can import from entities and shared, but not from pages or widgets.
- Organize code by feature slices (`features/auth/`, `features/cart/`) with each slice containing its own UI, model, and API layers.
- `shared/` contains reusable utilities, UI kit, and API client — no business logic.
- `entities/` contains business entities (User, Product) with their types, API calls, and UI components.
- `features/` contains user-facing features that compose entities (AddToCart, LoginForm).
- `pages/` composes features and widgets into routed views. `widgets/` composes features into layout sections.