30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
|
|
---
|
||
|
|
description: Dyolink project context — stack, org types, git safety, verification
|
||
|
|
alwaysApply: true
|
||
|
|
---
|
||
|
|
|
||
|
|
# Dyolink overview
|
||
|
|
|
||
|
|
Monorepo: `backend/` (NestJS + Prisma), `frontend/` (Next.js + next-intl), `infrastructure/` (Docker).
|
||
|
|
|
||
|
|
## Domain
|
||
|
|
|
||
|
|
- **CLINIC** orgs: patients, appointments, treatment, staff.
|
||
|
|
- **LAB** orgs: cases, tasks, lab workflows.
|
||
|
|
- Tab access: `TAB_*_READ` / `TAB_*_EDIT` in `backend/src/common/permissions.ts`. EDIT implies READ.
|
||
|
|
|
||
|
|
## Agent behavior
|
||
|
|
|
||
|
|
- Read `AGENTS.md` and file-scoped rules before large changes.
|
||
|
|
- **Never commit or push** unless the user explicitly asks.
|
||
|
|
- Prefer minimal diffs; reuse existing components and API patterns.
|
||
|
|
- After cross-cutting changes: `backend` → `npm run build`; `frontend` → `npx tsc --noEmit`.
|
||
|
|
|
||
|
|
## i18n
|
||
|
|
|
||
|
|
All user-visible strings: `frontend/messages/en.json`, `fa.json`, `nl.json` — add keys to **all three**.
|
||
|
|
|
||
|
|
## Treatment / appointment colors
|
||
|
|
|
||
|
|
Treatment-type colors and labels: `components/shared/treatmentTypeDisplay.ts` + `catalog-type-colors.ts`. UI badges: `components/ui/treatment/TreatmentTypeBadge.tsx`.
|