base commit

This commit is contained in:
@kirill.komarov
2026-05-04 12:34:01 +05:00
parent 6885e39017
commit ebe1ede25c
100 changed files with 7688 additions and 9 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ alwaysApply: true
- **Frontend**: Vite + React + TypeScript, axios, @tanstack/react-query, MUI.
- **Архитектура фронта**: **FSD** (`app/pages/widgets/features/entities/shared`), alias `@` → `client/src`.
- **Backend**: Node.js + Fastify + Prisma + SQLite.
- Данные управляются через фронтенд‑админку, админ‑API защищено `Authorization: Bearer <ADMIN_API_TOKEN>`.
- Данные управляются через фронтенд‑админку; доступ к админ‑API проверяется серверным `verifyAdmin` (JWT пользователя + совпадение `request.user.email` с `ADMIN_EMAIL`).
## Правила работы с кодом
- Всегда придерживаться **FSD границ**: нижние слои не импортируют верхние.
@@ -0,0 +1,12 @@
---
description: Актуальные требования к Vite proxy для локальной разработки
globs: client/vite.config.ts
alwaysApply: false
---
# Frontend Dev Server Proxy
- В `client/vite.config.ts` должны проксироваться и API, и загрузки файлов.
- Обязательные прокси:
- `'/api' -> 'http://127.0.0.1:3333'`
- `'/uploads' -> 'http://127.0.0.1:3333'`
+13
View File
@@ -0,0 +1,13 @@
---
description: Правила использования RichTextMessageContent (TipTap) на фронтенде
globs: client/src/**/*.tsx
alwaysApply: false
---
# Frontend Rich Text (TipTap)
- Для отображения rich text использовать общий компонент `shared/ui/RichTextMessageContent`.
- Не дублировать стили ProseMirror локально на страницах и в виджетах без необходимости.
- Для контекста отзывов передавать `tone="review"`.
- Для переписок по заказам передавать `tone="chat"`.
- `tone="default"` использовать только в нейтральных/общих сценариях.