انتقل إلى المحتوى الرئيسي

إدارة السياق عبر أدوات الترميز بالذكاء الاصطناعي وجلسات Cursor

Cursor Context Management

من أكبر التحديات عند العمل مع مساعدي الترميز بالذكاء الاصطناعي هو الحفاظ على السياق عبر الجلسات والأدوات. يوفر Cursor العديد من الآليات للحفاظ على ومشاركة سياق المشروع، مما يضمن أن مساعد الذكاء الاصطناعي لديك يمتلك دائمًا المعلومات التي يحتاجها. يغطي هذا الدليل أفضل الممارسات لإدارة السياق.

مشكلة السياق

عند العمل مع أدوات الذكاء الاصطناعي، غالبًا ما تواجه هذه التحديات:

  • فقدان ذاكرة الجلسة: كل محادثة جديدة تبدأ من جديد بدون ذاكرة للعمل السابق
  • تبديل الأدوات: الانتقال بين Cursor وClaude وChatGPT أو أدوات أخرى يفقد السياق
  • مشاركة الفريق: يحتاج أعضاء الفريق إلى الوصول إلى نفس سياق المشروع
  • انحراف السياق: على مدى جلسات طويلة، يفقد الذكاء الاصطناعي تتبع الأهداف الأصلية

الحل 1: AGENTS.md - دستور المشروع

أنشئ ملف AGENTS.md في جذر مستودعك. هذا هو المصدر الوحيد للحقيقة لجميع أدوات الذكاء الاصطناعي.

هيكل AGENTS.md

# المشروع: MyApp

## نظرة عامة
وصف موجز لما يفعله هذا المشروع ومكدس التقنيات الخاص به.

## مكدس التقنيات
- الواجهة الأمامية: React 18 + TypeScript + Tailwind CSS
- الواجهة الخلفية: Node.js + Express + PostgreSQL
- الاختبار: Jest + React Testing Library
- البناء: Vite

## هيكل المشروع

src/ components/ # مكونات واجهة المستخدم القابلة لإعادة الاستخدام pages/ # الصفحات على مستوى المسار hooks/ # خطافات React المخصصة utils/ # الوظائف المساعدة types/ # أنواع TypeScript api/ # وظائف عميل API


## أوامر البناء والاختبار
```bash
npm run dev # بدء خادم التطوير
npm run build # بناء الإنتاج
npm run test # تشغيل الاختبارات
npm run lint # تشغيل ESLint

معايير الترميز

  • استخدام المكونات الوظيفية مع الخطافات
  • اتباع تنظيم الملفات الموجود
  • كتابة اختبارات لجميع الميزات الجديدة
  • استخدام وضع TypeScript الصارم

القرارات الرئيسية

  • استخدام React Query لإدارة حالة الخادم
  • تخزين رموز JWT في ملفات تعريف الارتباط httpOnly
  • هيكل monorepo مع حزمة أنواع مشتركة

### الإشارة إلى AGENTS.md في Cursor

في بداية كل محادثة جديدة:

اقرأ AGENTS.md وساعدني في تنفيذ [الميزة]. اتبع جميع معايير الترميز واستخدم الأنماط الموجودة.


## الحل 2: قواعد خاصة بـ Cursor

أنشئ `.cursor/rules/` للإرشادات الخاصة بـ Cursor:

```markdown
---
description: 'سلوك Cursor الخاص بالمشروع'
globs: ['**/*.ts', '**/*.tsx']
alwaysApply: true
---

# إرشادات Cursor

## قبل إجراء التغييرات
1. قراءة AGENTS.md للحصول على سياق المشروع
2. التحقق من التنفيذات المشابهة الموجودة
3. اتباع الأنماط المتبعة

## تفضيلات إنشاء الكود
- إنشاء TypeScript مع أنواع صريحة
- تضمين تعليقات JSDoc لواجهات برمجة التطبيقات العامة
- استخدام نمط معالجة الأخطاء الموجود

## متطلبات الاختبار
- دائمًا اقتراح اختبارات للميزات الجديدة
- استخدام React Testing Library للمكونات
- محاكاة مكالمات API باستخدام MSW

الحل 3: ذاكرة الجلسة باستخدام MCP

استخدم خوادم MCP (بروتوكول سياق النموذج) للذاكرة الدائمة:

إعداد ذاكرة MCP

أضف إلى إعدادات MCP الخاصة بـ Cursor:

{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@cursor-memory/server"]
}
}
}

استخدام الذاكرة

تخزين الحقائق المهمة:

تذكر أننا نستخدم PostgreSQL مع جدول users يحتوي على:
- id (UUID، المفتاح الأساسي)
- email (فريد، مفهرس)
- created_at (الطابع الزمني)
- preferences (JSONB)

الاسترجاع في الجلسات المستقبلية:

ماذا تتذكر عن مخطط قاعدة البيانات لدينا؟

الحل 4: نمط CONTRACT.md

للمشاريع المعقدة، استخدم ملف عقد يحدد الثوابت:

# عقد المشروع

## الثوابت (لا تنتهك أبدًا)
1. يجب أن تتضمن جميع استجابات API قيمة منطقية `success`
2. معرفات المستخدم هي دائمًا UUIDs، وليست أعدادًا صحيحة
3. كلمات المرور لا يتم تسجيلها أبدًا أو إرجاعها في الاستجابات

## قواعد البنية
1. منطق المجال يقع في `src/domain/`
2. مسارات API تفوض فقط إلى الخدمات
3. الوصول إلى قاعدة البيانات فقط من خلال نمط المستودع

## أهداف السبرين الحالي
- تنفيذ مصادقة المستخدم
- إضافة تدفق إعادة تعيين كلمة المرور
- إعداد إشعارات البريد الإلكتروني

قم بتحديث هذا الملف بعد كل تغيير مهم.

الحل 5: ملخصات الجلسات

في نهاية كل جلسة، أنشئ ملخصًا:

# ملخص الجلسة: 2026-06-22

## مكتمل
- [x] إعداد وسيط مصادقة JWT
- [x] إنشاء نقاط نهاية تسجيل الدخول والتسجيل
- [x] إضافة تجزئة كلمات المرور باستخدام bcrypt

## قيد التقدم
- [ ] تدفق التحقق من البريد الإلكتروني (بدأ، يحتاج إلى اختبار)

## الخطوات التالية
1. تنفيذ إعادة تعيين كلمة المرور مع انتهاء صلاحية الرمز
2. إضافة تقييد المعدل لنقاط نهاية المصادقة
3. كتابة اختبارات التكامل

## الملفات الرئيسية المعدلة
- src/middleware/auth.ts (جديد)
- src/routes/auth.ts (جديد)
- src/services/auth.ts (جديد)
- src/models/user.ts (معدل)

## القرارات المتخذة
- استخدام انتهاء صلاحية JWT لمدة 15 دقيقة مع رموز التحديث
- تخزين رموز التحديث في Redis

احفظ هذا باسم docs/session-summaries/YYYY-MM-DD.md.

الحل 6: السياق عبر الأدوات باستخدام Markdown

عند التبديل بين الأدوات، استخدم تنسيق سياق موحد:

# نقل السياق

## المهمة الحالية
تنفيذ صفحة الملف الشخصي للمستخدم

## الملفات ذات الصلة
- src/pages/Profile.tsx
- src/components/UserForm.tsx
- src/api/users.ts

## الحالة الحالية
- تم إنشاء هيكل صفحة الملف الشخصي
- مكون UserForm يحتاج إلى التحقق
- نقطة نهاية API /api/users/me تُرجع البيانات الصحيحة

## العوائق
- الحاجة إلى تحديد نهج تحميل الصور

## الإجراء التالي
إضافة التحقق من النموذج ومعالج الإرسال

انسخ هذا في أي أداة ذكاء اصطناعي للمتابعة بسلاسة.

ملخص أفضل الممارسات

ما يجب فعله

  • إنشاء AGENTS.md عند بدء المشروع
  • تحديث AGENTS.md عند تغيير البنية
  • استخدام قواعد Cursor للإرشادات الخاصة بالأداة
  • تلخيص كل جلسة قبل الإغلاق
  • تخزين الحقائق الدائمة باستخدام ذاكرة MCP
  • استخدام التحكم في الإصدار لجميع ملفات السياق

ما لا يجب فعله

  • لا تعتمد فقط على ذاكرة جلسة الذكاء الاصطناعي
  • لا تحتفظ بالسياق في ملاحظات خارجية (Obsidian/Notion) بدون مزامنة
  • لا تدع ملفات السياق تصبح قديمة
  • لا تكرر المعلومات عبر ملفات متعددة

قائمة التحقق السريعة للبدء

لمشروع جديد:

  1. إنشاء AGENTS.md مع نظرة عامة على المشروع
  2. إعداد .cursor/rules/ لسلوك Cursor
  3. تكوين خادم ذاكرة MCP
  4. إنشاء CONTRACT.md لثوابت البنية
  5. إعداد دليل docs/session-summaries/
  6. إضافة جميع ملفات السياق إلى التحكم في الإصدار

الموارد ذات الصلة