Files
frontend/docs/STRUCTURE.md
T

21 lines
1.6 KiB
Markdown

# Structure
Проект использует FSD-направление импортов: `app -> pages -> features -> entities -> shared`.
- `app` - providers и routes; общий визуальный фундамент принадлежит shared/theme.
- `pages` - страницы маршрутов.
- `features` - пользовательские сценарии, включая authentication.
- `entities` - доменные модели и их UI/API.
- `shared` - переиспользуемый код без доменной логики: API, i18n и UI.
Каждый слайс предоставляет наружу только public API через `index.ts`; внутренние файлы соседний слой не импортирует напрямую.
Для cross-slice imports используйте alias `@/` и public API, например `@/entities/portfolio`. Vite и TypeScript используют одинаковый alias.
`shared/theme/index.ts` экспортирует единую Mantine theme, семантические color
roles и CSSVariablesResolver и подключает базовые styles. App и Storybook
подключают свои MantineProvider к этому public API. Scales принимаются из Mantine,
локальные domain styles остаются у владельцев. `shared/ui` предоставляет
StateView и LoadingSkeleton; их каталог не включает route-aware AppShell.
Подробнее: [дизайн-система](../../docs/development/design-system.md).