---
name: erp-brain
description: >
  سياق ERP-AlAgoouz عند تعديل المبيعات والمخزون والصلاحيات والحسابات أو التشغيل؛
  يحدد مصادر الحقيقة الحالية وقواعد المحل الواحد قبل التنفيذ.
---

# ERP-AlAgoouz: سياق العمل الحالي

## قبل التعديل

1. اقرأ `CONTEXT.md` من جذر المستودع لفهم المحل الواحد والمخازن وقنوات البيع.
2. اقرأ `.agents/AGENTS.md` لقواعد التشغيل المحلي والسحابي وعزل الاختبارات.
3. تحقق من حالة Git، ثم تتبع المسار المعني من الواجهة إلى الخدمة وقاعدة البيانات.
4. استخرج أوامر التشغيل وإصدارات الحزم من `package.json` في الجذر وفي مساحة العمل
   المعنية، وإصدار التطوير من `.nvmrc`. لا تعتمد على أعداد اختبارات أو إصدارات في تقارير سابقة.

## مصادر الحقيقة حسب المهمة

كل المسارات التالية نسبية إلى جذر المستودع.

- الواجهة: `frontend/src/router/`، `frontend/src/views/`، `frontend/src/composables/`،
  `frontend/src/stores/`، `frontend/src/api/`؛ البناء في `frontend/vite.config.js`.
- الخادم: `backend/src/index.ts` للتشغيل المستمر و`backend/src/app.ts` لتجميع التطبيق؛
  تتبع `routes/` ثم `controllers/` ثم `services/` داخل `backend/src/`.
- البيانات: `backend/migrations/` لبناء المخطط، و`backend/src/database/` للاتصال
  والتهيئة. افحص الاستعلامات والقيود الفعلية قبل وصف علاقة أو ضمان محاسبي.
- الأمان: `backend/src/middleware/` و`backend/src/config/`؛ تشفير النسخ الاحتياطية
  في `backend/src/utils/crypto.ts`. افحص صلاحيات الخادم، لا ظهور الزر فقط.
- الاختبارات: `backend/vitest.config.ts` و`backend/tests/` وملفات اختبار الواجهة؛
  شغّل اختبارات قاعدة البيانات عبر `npm run test:local -w backend` على قاعدة محلية معزولة.
- النشر: `vercel.json` و`frontend/vercel.json` و`api/` للنشر السحابي؛
  `Dockerfile` و`docker-compose.yml` و`config/pm2/` للتشغيل المستمر.
  افحص إعداد البيئة المستهدفة؛ نجاح مسار لا يثبت باقي المسارات.
- النسخ والاستعادة: `backend/src/services/backupService.ts` والخدمات المرتبطة؛
  اقرأ `docs/audits/BACKUP_RELIABILITY_STATUS.md` لمعرفة حدود التحقق المسجلة.

## إزالة القديم بدون فقد البيانات

- المرجع التجاري هو `CONTEXT.md`: محل واحد، وقد توجد مخازن متعددة؛ المخزن ليس فرعًا تجاريًا.
- عند إزالة ملف، تحقق من الاستيرادات والمسارات والسكربتات والتوثيق الذي يشير إليه،
  ثم اختبر المستهلكين المتأثرين. احتفظ بتاريخ التغيير في Git، وليس بنسخة تشغيل موازية.
- احتفظ بترحيلات قاعدة البيانات اللازمة للتثبيت والترقية. استبدال أسماء محفوظة في
  البيانات يحتاج ترحيلًا واختبار توافق؛ إعادة تسمية واجهة المستخدم وحدها لا تكفي.
- تقارير التدقيق تسجل حالة وقت الفحص وليست دليل تشغيل أو إثبات جاهزية دائمة.
  اذكر الاختبارات المنفذة وحدودها بدل إعلان جاهزية شاملة غير مثبتة.
