init project
This commit is contained in:
@@ -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) и валидировать входные данные.
|
||||
Reference in New Issue
Block a user