improvement: some files replaced, lots of them i shall say. AGENT.MD file created. some rules and skills added for cursor agent.

This commit is contained in:
2026-07-12 21:08:29 +03:30
parent 1cdf853d32
commit 0d3fb0a51d
86 changed files with 4758 additions and 4260 deletions

View File

@@ -0,0 +1,39 @@
---
name: dyolink-frontend-structure
description: Audits or refactors Dyolink frontend folder layout (components vs components/ui, thin pages). Use when moving components, fixing structure violations, or when the user mentions folder rules, page.tsx bloat, or component organization.
---
# Frontend structure audit
## Target layout
```
components/ui/shared/ → reusable UI (Button, Dialog, …)
components/ui/{feature}/ → feature UI + {Feature}Page.tsx
components/shared/ → cross-feature non-UI
components/{feature}/ → feature non-UI (helpers, config)
app/**/page.tsx → thin wrapper importing ui/{feature} page component
```
## Audit steps
1. List files in `components/` **outside** `ui/` — any `.tsx` with JSX → move to `components/ui/{feature}/`.
2. List files in `components/ui/` — any pure `.ts` helper → move to `components/{feature}/` or `components/shared/`.
3. List `app/**/page.tsx` — if > ~30 lines of logic/state, extract to `components/ui/{feature}/{Feature}Page.tsx`.
4. Update all `@/components/...` imports.
5. Run `npx tsc --noEmit` in `frontend/`.
## Common mistakes
| Wrong | Right |
|-------|-------|
| `components/today/TodayDashboard.tsx` | `components/ui/today/TodayDashboard.tsx` |
| `components/ui/treatment/treatmentTypeDisplay.ts` | `components/shared/treatmentTypeDisplay.ts` |
| Logic in `app/.../staff/page.tsx` | `components/ui/staff/StaffPage.tsx` |
## Non-UI that stays outside ui/
- `components/today/widget-registry.ts`, `chart-theme.ts` (config)
- `components/staff/workingHours.ts`
- `components/appointments/appointmentTime.ts`
- `components/i18n/LocaleSync.tsx` (null-render side effect for layout)