CLAUDE.md في ثلاثة أماكن
ملف CLAUDE.md الذي كتبته في الدرس السابق يقع في المجلّد الأعلى من مشروعك. ذلك هو الموضع الأكثر شيوعًا، لكنه ليس الوحيد. الملف نفسه يمكن أن يعيش في ثلاثة أماكن مختلفة، والفرق بينها هو لمن ومتى ينطبق.
المشروع، والشخصي، والمتداخل — ثلاثة مواقع، وثلاثة scopes. يقرأ Claude كلّ ما ينطبق منها ويراكمها معًا.
الأماكن الثلاثة
1. المشروع — CLAUDE.md في أعلى الـ repo.
هذا هو الذي صنعته بالفعل. يتعلّق بـهذا المشروع: كيف تشغّله، وأعرافه، وما يجب تجنّبه. ولأنه يعيش في الـ repo، يُودَع في git — فيحصل كلّ زميل (و Claude الخاص به) على الملاحظات نفسها تمامًا. هذا هو المشترك.
2. الشخصي — CLAUDE.md في الـ home folder لديك، عند ~/.claude/CLAUDE.md.
هذا غير مرتبط بأيّ مشروع. ينطبق على كل مشروع تفتحه، على جهازك أنت فقط. إنه المكان المخصّص لـالطريقة التي تحبّ أنت شخصيًّا أن تعمل بها — «اشرح تفكيرك قبل إجراء تغييرات كبيرة»، «أفضّل الإجابات الموجزة»، «ما زلت أتعلّم، فعرّف المصطلحات التقنية حين تستخدمها». لا يراه أحد غيرك. إنه افتراضك في كل مكان.
3. المتداخل — CLAUDE.md في عمق مشروع كبير.
في repo كبير مقسّم إلى أجزاء (مثل frontend/ وbackend/)، يمكنك وضع CLAUDE.md داخل مجلّد فرعي. يلتقطه Claude حين يعمل على ملفات في ذلك الجزء من الشجرة. معظم الناس لا يحتاجون إليه أبدًا — فهو للـ codebase الكبير المختلط. يكفي أن تعرف أنه موجود.
إنها تتراكم — لا تتصارع
هذا هو الجزء المفيد فعلًا: هذه الملفات لا يلغي بعضها بعضًا. بل تتكامل.
حين تعمل في مشروع، يقرأ Claude ملف
CLAUDE.mdالشخصي الخاص بك وملفCLAUDE.mdالخاص بالمشروع وأيّ ملف متداخل ينطبق — كلّها دفعة واحدة.
وهكذا يرافق «أبقِ الإجابات موجزة» الشخصي تعليمات المشروع «استخدم pnpm، ولا تلمس legacy/». التفضيلات العامة في الـ home folder لديك؛ والحقائق الخاصة بالمشروع في الـ repo. تتطبّق فوق بعضها بسلاسة، كأنك ترتدي سترة فوق قميص — كلاهما لا يزال موجودًا.
أيّها تختار؟
قاعدة سريعة:
- هل سيرغب فيه كل زميل؟ ←
CLAUDE.mdعلى مستوى المشروع (في الـ repo). - هل يتعلّق فقط بالطريقة التي تحبّ أنت أن تعمل بها، عبر كل مشاريعك؟ ←
~/.claude/CLAUDE.mdالشخصي. - هل لا يهمّ إلا داخل ركن واحد من repo ضخم؟ ←
CLAUDE.mdالمتداخل.
عند الشكّ، يكون مستوى المشروع هو الافتراض الآمن. يمكنك دائمًا نقل سطر إلى ملفّك الشخصي لاحقًا.
شاهد اثنين منها يتراكمان
«ثلاثة أماكن تتراكم» أسهل تصديقًا بعد أن تشاهد اثنين منها يجلسان في المشروع نفسه دفعة واحدة. يضعك الـ terminal التدريبي في مشروع اسمه taskly. اصنع ملف مستوى المشروع أولًا:
echo "Use pnpm. Don't touch legacy/." > CLAUDE.md
الآن تخيّل أن taskly نما له frontend بقواعده الخاصة. امنح ذلك الركن ملفه الخاص:
mkdir -p frontend
echo "This folder is React — prefer function components." > frontend/CLAUDE.md
اطلب من الـ terminal أن يظهر كل CLAUDE.md في المشروع:
find . -name CLAUDE.md
ملفان، وscope لكلّ منهما — واحد للمشروع كلّه، وواحد للـ frontend فقط — ويقرأ Claude كليهما حين يلمس ملفًّا في الـ frontend. أمر find هو أمر القراءة الذي يمشي في الشجرة باحثًا عن اسم بدلاً من المحتوى؛ هنا يجعل التراكم مرئيًّا.
أما المكان الثالث — ~/.claude/CLAUDE.md الشخصي — فيعيش في الـ home folder لديك، لا في المشروع، فلا يظهر في هذه القائمة. لكنه يتطبّق فوق هذين الاثنين بالطريقة نفسها تمامًا، في كل مشروع تفتحه.
ما التالي
CLAUDE.md هو شيء تدوّنه أنت عن قصد. لكن Claude يستطيع أيضًا الاحتفاظ بملاحظات خاصة به — أشياء يتذكّرها عنك وعن عملك من محادثة إلى أخرى، دون أن تكتب أنت شيئًا. ذلك هو الـ memory، وهو التالي.