Node в Docker не мог импортировать .ts из workspace-пакетов; exports переключены на dist, добавлен tsc build и сборка в Dockerfile. Co-authored-by: Cursor <cursoragent@cursor.com>
Frontend: - apps/web (Vite+TS, TanStack Router/Query, shadcn/ui @cfdm/ui base-nova) - 10 страниц в routes/_auth/, Recharts через shadcn Chart, lucide-react - формы на RHF + Zod (FormSheet/FormField) - удалены Tabler, Chart.js, react-router-dom Backend (параллельный трек): - apps/api (Fastify 5 + Drizzle + better-sqlite3) - packages/db: Drizzle-схема и repositories по сущностям - packages/shared: Zod-контракты - роуты с валидацией и единым форматом ошибок { error: { code, message } } - sync/backup — заглушки 501 (billmanager-адаптеры переносятся отдельно) - legacy Express оставлен как runtime по умолчанию (RUNTIME=express) Infra: - Dockerfile multi-stage под pnpm workspaces - .dockerignore и docker-compose обновлены под monorepo Rules: - удалены нерелевантные правила (rust, cloudflare, server/frontend-conventions) - project-structure.mdc и AGENTS.md переписаны под monorepo - frontend-shadcn.mdc, shadcn-ui-production.mdc, sqlite.mdc обновлены Co-authored-by: Cursor <cursoragent@cursor.com>