init project

This commit is contained in:
@kirill.komarov
2026-04-28 11:02:08 +05:00
commit 55480d4aa5
50 changed files with 9241 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
---
description: Основной промт/правила для проекта craftshop (client+server, FSD, ESLint/Prettier)
alwaysApply: true
---
# Craftshop: постоянный промт для агента
## Контекст и цель
- Проект: магазин изделий ручной работы (витрина + админка для загрузки/редактирования данных).
- ОС: Windows. Отвечать пользователю **по-русски**.
## Стек и структура
- **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>`.
## Правила работы с кодом
- Всегда придерживаться **FSD границ**: нижние слои не импортируют верхние.
- Для запросов: использовать `apiClient` (axios) и **React Query** (queryKey стабильные, invalidate после мутаций).
- UI: использовать компоненты **MUI**, без “самописного” дизайна там, где есть готовые компоненты.
- Не добавлять зависимости без необходимости; если добавляешь — ставь последние стабильные версии и обновляй README при изменении запуска/скриптов.
## Качество и запуск
- После изменений на фронте: `client` → `npm run lint` и при необходимости `npm run lint:fix`, затем `npm run format:check`.
- Форматирование: Prettier конфиги лежат в `client/.prettierrc.json`, `.prettierignore`, `.editorconfig`.
## Бэкенд соглашения
- Не ломать публичные роуты `/api/categories`, `/api/products`.
- Админ‑роуты должны возвращать понятные ошибки (400/401/404/409) и валидировать входные данные.