الذاكرة في Claude Code معناها إن فيه context بيفضل موجود حتى بعد ما تقفل الجلسة وتفتح واحدة جديدة. يعني مش زي نافذة المحادثة العادية اللي بتتمسح — ملفات الذاكرة بتتحمّل تلقائيًا كل مرة تشغّل فيها Claude Code. الموديول ده بيشرح ترتيب ملفات الذاكرة، إزاي تعملها وتحدّثها، وإزاي الذاكرة التلقائية بتشتغل في الخلفية.
تسلسل الذاكرة
Claude Code عنده نظامين أساسيين للذاكرة: ملفات CLAUDE.md اللي بتكتبها انت، والذاكرة التلقائية اللي Claude بيكتبها لنفسه. المواقع الرسمية لملفات CLAUDE.md هي: سياسة المنظمة (managed policy على مستوى المؤسسة)، تعليمات المشروع (CLAUDE.md أو .claude/CLAUDE.md)، تعليمات المستخدم (~/.claude/CLAUDE.md)، والتعليمات المحلية (./CLAUDE.local.md — تفضيلات شخصية للمشروع، بتتناسى من git).
ذاكرة المشروع هي اللي هتستخدمها أكتر حاجة. دي ملف markdown بيتعمل له commit في git وبيتشارك مع الفريق. حط فيها الـ tech stack، الـ naming conventions، الأوامر الشائعة، والحاجات الغير واضحة اللي ممكن تلخبط حد جديد. ذاكرة المستخدم هي للتفضيلات الشخصية اللي بتنطبق على كل مشاريعك — الـ patterns اللي بتفضّلها، إزاي تحب الكود يتشرح، الأدوات اللي بتستخدمها دايمًا.
للمشاريع الكبيرة، قسّم التعليمات في ملفات .claude/rules/*.md. الـ rules ممكن تكون عامة على المشروع كله أو مخصصة لمسارات معينة باستخدام الـ frontmatter. rule بـ paths: src/api/**/*.ts بيتفعّل بس لما Claude يشتغل على ملفات مطابقة:
---
paths: src/api/**/*.ts
---
All API endpoints must validate input with Zod. Return 400 with field-level errors on validation failure.
إنشاء وتحديث الذاكرة
أسرع طريقة تبدأ بيها هي /init. شغّله في مجلد المشروع بتاعك وClaude هيحلل الكود ويولّد ملف CLAUDE.md كبداية. استخدم CLAUDE_CODE_NEW_INIT=1 claude لو عايز تجربة إعداد تفاعلية متعددة المراحل.
للتعديلات الأكبر، /memory بيفتح ملفات الذاكرة بتاعتك في الـ editor بتاعك. عدّل، احفظ، وClaude هيحمّلها تلقائيًا. لو عايز Claude يفتكر حاجة تلقائيًا، قوله بشكل طبيعي، زي “remember that the API tests require Redis”. لو عايز الحاجة تتكتب في CLAUDE.md، قول لـ Claude صراحة يضيفها هناك. الـ syntax بتاع @path/to/file بيخلّيك تشير لملفات documentation موجودة بدل ما تنسخها:
# Project Standards
@README.md
@docs/architecture.md
@package.json
الـ imports بتدعم لغاية خمس مستويات من الـ nesting. أول مرة تستورد ملف من مسار خارجي، هيظهر لك dialog للموافقة.
الذاكرة التلقائية
الذاكرة التلقائية هي مجلد Claude بيكتب فيه ملاحظاته خلال الجلسات — patterns اكتشفها، سلوكيات خاصة بالمشروع، insights من الـ debugging. أول 200 سطر أو 25KB من ~/.claude/projects/<project>/memory/MEMORY.md، أيهما أقل، بيتحمّلوا تلقائيًا في بداية كل جلسة. ملفات المواضيع الإضافية (debugging.md، api-conventions.md) بتتحمّل عند الطلب.
مش محتاج تدير الذاكرة التلقائية يدويًا — Claude بيتولّى الكتابة بنفسه. تقدر تقرأ الملفات وتعدّلها لو حبيت تصحّح أو تضيف على ملاحظات Claude. تقدر تتحكم فيها من /memory، أو تعطّلها لجلسة واحدة بـ CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude، أو تظبط autoMemoryEnabled في الإعدادات. لو عايز تنقل المجلد لمكان متزامن أو مسار مخصص، اظبط autoMemoryDirectory في إعدادات المستخدم أو المحلية:
{
"autoMemoryEnabled": true,
"autoMemoryDirectory": "/path/to/shared/memory"
}
في الـ monorepos الكبيرة اللي فيها ملفات CLAUDE.md كتير، استخدم claudeMdExcludes في الإعدادات عشان تتخطّى الملفات اللي مش محتاجها:
{
"claudeMdExcludes": ["packages/legacy-app/CLAUDE.md", "vendors/**/CLAUDE.md"]
}
Claude كمان بيحمّل ملفات CLAUDE.md اللي يلاقيها فوق مجلد العمل الحالي، وبيحمّل ملفات CLAUDE.md اللي في المجلدات الفرعية عند الطلب لما تشتغل في المناطق دي. في الـ monorepos، claudeMdExcludes بيساعدك تبعد التعليمات اللي مش ليها علاقة من الـ context.