Files
frontend/docs/STRUCTURE.md
T

2.0 KiB

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/tokens.json владеет опубликованными токенами и описаниями ролей в переносимом формате WealthLedger v1. tokens.schema.ts проверяет source, theme.ts адаптирует его в Mantine. shared/theme/index.ts экспортирует theme, designTokens, семантические color roles и CSSVariablesResolver и подключает базовые styles. App и Storybook подключают свои MantineProvider к этому public API. Внешние системы читают raw JSON напрямую, без frontend barrel и его runtime. Неопубликованные defaults остаются у Mantine, локальные domain styles — у владельцев. shared/ui предоставляет StateView и LoadingSkeleton; их каталог не включает route-aware AppShell. Подробнее: дизайн-система.