Установление строгой иерархии слоев и границ зависимостей для обеспечения горизонтальной и вертикальной развязки.
Каждая сущность (entity) — это самодостаточный модуль. Мы используем строгое разделение по подпапкам для предсказуемости и простоты поддержки.
Виджеты — это "умные" блоки. Мы отделяем логику (model) от визуальной части (ui), чтобы упростить тестирование и рефакторинг.
Почему это важно: Папка model/ содержит всё то, что делает виджет функциональным (схемы Zod, конфиги форм, локальные типы). Папка ui/ содержит только компоненты отображения.
1import { useAuthStore } from "@/entities/session"; // OK: feature -> entity
2import { Button } from "@/shared/ui"; // OK: feature -> shared1import { logoutFeature } from "@/features/auth"; // ERROR: entity -> feature (LAYER VIOLATION)