Claude Code: نظام الذاكرة

آخر تحديث: 2026-08-31

نظام الذاكرة يضمن أن Claude Code لا يبدأ من الصفر كل مرة — فهو يتذكر تفضيلاتك واتفاقيات مشروعك والقرارات السابقة.

💡 نصيحة: ذاكرة Claude Code ثلاث طبقات: جلسة (المحادثة الحالية)، مشروع (CLAUDE.md)، وشخصية (التفضيلات العامة). الذاكرة بين الجلسات تعتمد بشكل أساسي على CLAUDE.md.

📋 المتطلبات السابقة: الفصل 14 - نظام الإضافات

1. ما ستتعلمه


2. نموذج الذاكرة ثلاثية الطبقات

الطبقة الاستمرارية النطاق موقع التخزين
الذاكرة الشخصية دائمة جميع المشاريع ~/.claude/CLAUDE.md
ذاكرة المشروع دائمة المشروع الحالي project/CLAUDE.md
ذاكرة الجلسة مؤقتة الجلسة الحالية الذاكرة (غير محفوظة)

(1) أولوية الذاكرة

TEXT 📖 للعرض فقط
ذاكرة المشروع > الذاكرة الشخصية > ذاكرة الجلسة
عند تعارض CLAUDE.md الخاص بالمشروع مع العام، يتفوق المشروع.

▶ مثال 1: تعاون الطبقات الثلاث للذاكرة

TEXT 📖 للعرض فقط
# الذاكرة العامة (~/.claude/CLAUDE.md)
"أفضّل الوضع الصارم لـ TypeScript، الدوال أقل من 20 سطراً"

# ذاكرة المشروع (project/CLAUDE.md)
"هذا المشروع يستخدم JavaScript (وليس TypeScript)، الدوال حتى 50 سطراً"

# النتيجة: Claude Code يُولّد كود JavaScript، دوال أقل من 50 سطراً
# ذاكرة المشروع تتجاوز الذاكرة الشخصية

3. ذاكرة الجلسة

(1) إدارة سجل المحادثات

العملية الأمر الوصف
عرض السجل /history عرض سجل محادثة الجلسة الحالية
ضغط السجل /compact ضغط المحادثة لتقليل Tokens
مسح السجل /clear مسح المحادثة، البدء من جديد
استئناف الجلسة claude --resume استئناف آخر جلسة

(2) ميزات الذاكرة داخل الجلسة

TEXT 📖 للعرض فقط
# Claude Code يتذكر المحادثة السابقة خلال الجلسة

> أنشئ UserService
[تم الإنشاء]

> أضف وظيفة إعادة تعيين كلمة المرور إليه
[Claude Code يتذكر أين UserService، يعدّل مباشرة]

> أضف التحقق من البريد الإلكتروني أيضاً
[لا يزال يتذكر سياق UserService]

(3) قيود ذاكرة الجلسة

TEXT 📖 للعرض فقط
# بعد انتهاء الجلسة، لا يُحفظ سجل المحادثات

# الجلسة 1: "أفضّل أسلوب البرمجة الوظيفية"
# الجلسة 2: قد يُولّد كوداً غير وظيفي — لا يتذكر التفضيل

# الحل: اكتب التفضيلات في CLAUDE.md

4. ذاكرة المشروع (CLAUDE.md)

(1) CLAUDE.md كحامل للذاكرة

MARKDOWN
# CLAUDE.md

## اتفاقيات المشروع (ذاكرة مستمرة)
- استخدام الوضع الصارم لـ TypeScript
- تنسيق استجابة API: { code, data, message }
- الأخطاء تستخدم صنف AppError
- إطار الاختبار: Vitest

## العمل المنجز (ذاكرة التقدم)
- ✅ وحدة مصادقة المستخدم (JWT)
- ✅ نظام صلاحيات الأدوار (RBAC)
- 🔄 وحدة إدارة الطلبات (قيد التنفيذ)
- ❌ تكامل الدفع (لم يبدأ)

## سجلات القرارات التقنية (ذاكرة القرارات)
- 2026-08-15: اختيار ذاكرة التخزين المؤقت Redis بدلاً من الذاكرة المدمجة (حاجة لدعم العناقيد)
- 2026-08-20: استخدام Prisma بدلاً من TypeORM (أمان أنواع أفضل)
- 2026-08-25: المبالغ تستخدم أعداداً صحيحة بالسنت (تجنب أخطاء الفاصلة العائمة)

▶ مثال 2: اجعل Claude Code يتذكر القرارات

TEXT 📖 للعرض فقط
> تذكر: وحدة الدفع تستخدم Stripe SDK، وليس استدعاءات REST API المباشرة

Claude Code:
  → تحديث CLAUDE.md...
  → أُضيف: "تكامل الدفع يستخدم Stripe SDK (وليس استدعاءات REST المباشرة)"

# في الجلسات اللاحقة:
> نفّذ وظيفة استرداد الدفع

Claude Code:
  → [القراءة من CLAUDE.md] استخدام Stripe SDK
  → إنشاء payment.service.ts باستخدام Stripe SDK ✅

5. الذاكرة الشخصية

(1) تهيئة التفضيلات العامة

MARKDOWN
<!-- ~/.claude/CLAUDE.md -->

## تفضيلات البرمجة
- الوضع الصارم لـ TypeScript
- تفضيل const، تجنب let و var
- الدوال لا تتجاوز 30 سطراً
- إضافة تعليقات JSDoc
- استخدام ES Module

## تفضيلات الاختبار
- أسلوب describe/it (وليس test())
- تسمية الاختبار: should + فعل + شرط
- محاكاة التبعيات الخارجية، وليس الوحدات الداخلية

## تفضيلات Git
- تنسيق الالتزام: conventional commits
- كل نقطة ميزة التزام منفصل

## ما لا يعجبني
- ❌ لا تستخدم any كنوع
- ❌ لا تستخدم console.log للتنقيح
- ❌ لا تتجاهل أخطاء TypeScript

6. استراتيجية إدارة الذاكرة

(1) قائمة صيانة الذاكرة

التكرار العملية الوصف
كل مرة اكتب القرارات المهمة في CLAUDE.md الخيارات التقنية، قرارات البنية
أسبوعياً حدّث ذاكرة التقدم مكتمل/قيد التنفيذ/لم يبدأ
شهرياً نظّف الذاكرة القديمة أزل الاتفاقيات التي لم تعد سارية
عند تبديل المشروع تحقّق من CLAUDE.md الخاص بالمشروع تأكد من توافق الاتفاقيات مع الواقع

❓ أسئلة شائعة

س هل يتذكر Claude Code ما أقوله تلقائياً؟
ج فقط ضمن الجلسة الحالية. بين الجلسات يتطلب الكتابة في CLAUDE.md. يمكنك قول "تذكر هذا التفضيل" وسيحاول Claude Code تحديث CLAUDE.md.
س هل CLAUDE.md الطويل يؤثر على الأداء؟
ج نعم. CLAUDE.md يُحمّل كل جلسة؛ أبقِه أقل من 150 سطراً. انقل المحتوى غير ذي الصلة إلى مستندات أخرى.
س كيف يتشارك عدة مطورين CLAUDE.md الخاص بالمشروع؟
ج أودع CLAUDE.md الخاص بالمشروع في git لمشاركة الفريق. التفضيلات الشخصية توضع في CLAUDE.md العام، ولا تُودع.
س هل يمكن أن تُفقد الذاكرة؟
ج ذاكرة الجلسة تختفي عند انتهائها. CLAUDE.md يستمر في نظام الملفات ما لم يُحذف.
س كيف أحدّد الحد الفاصل بين الذاكرة الشخصية وذاكرة المشروع؟
ج الذاكرة الشخصية: أسلوب البرمجة وتفضيلات الأدوات (عامة). ذاكرة المشروع: الحزمة التقنية وقواعد العمل (خاصة بالمشروع).

📖 ملخص


📝 تمارين

  1. أساسي (⭐): هيّئ CLAUDE.md العام بثلاث تفضيلات برمجية، وتحقق في مشروع جديد.
  2. متوسط (⭐⭐): حافظ على سجلات القرارات التقنية في CLAUDE.md الخاص بالمشروع، وقارن بين وجودها وغيابها.
  3. متقدم (⭐⭐⭐): صمّم استراتيجية إدارة ذاكرة تضمن عدم تعارض CLAUDE.md لخمسة أعضاء فريق وبقائهم متزامنين.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%