AICODEAgentic Programming · 67723 · 2026-7

Week 5 · video 8 of 8 · transcript

Writing CLAUDE.md

ترجمة آلية لم يراجعها إنسان.AI translation, not reviewed by a person.

0:00

يتناول هذا الفيديو كتابة ملف تعليمات المشروع، CLAUDE.md. ملفات تعليمات المشروع تُبقي التعليمات متاحة من جلسة إلى أخرى. سنختار تعليمات مفيدة، ونسجّل أوامر الفحص الخاصة بالمشروع، ونعدّل ملف تعليمات لنُبقيه مركّزًا. وفي النهاية، سنرى لماذا تبقى القاعدة المكتوبة في هذا الملف مجرد طلب.

0:22

يُحمَّل ملف التعليمات الموجود في جذر المشروع عندما تشغّلون Claude Code هناك. وتُحمَّل عند التشغيل أيضًا ملفات التعليمات في المجلدات الأعلى، أما ملفات المجلدات الفرعية فتُحمَّل عند الحاجة. هذه تعليمات متاحة في كل المهام. يقرأ وكلاء آخرون ملفًا من النوع نفسه باسم مختلف. مثلًا، يقرأ Codex الملف AGENTS.md. إذا شغّلتم /init، كما فعلنا في فيديو سابق، فلديكم بالفعل مسودة أولى لملف CLAUDE.md الخاص بكم. ويتناول هذا الفيديو ما ينبغي أن يكون فيها.

0:54

من التعليمات الأولى الشائعة: «تأكّدوا من أن كل شيء يعمل». هذا السطر ليس جيدًا. فهو يترك الوكيل يخمّن أيّ فحوصات يستخدمها هذا المشروع، ومتى يشغّلها.

1:05

استبدلوه بالأوامر الدقيقة، واذكروا متى تُشغَّل. وهنا، يكون ذلك قبل الإبلاغ بأن المهمة انتهت. المثال هنا مشروع Python يستخدم ثلاث أدوات. يشغّل pytest للاختبارات، و mypy --strict . لفحص الأنواع، و ruff check . للفحص بالـ linter.

1:25

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

1:40

القاعدة في ملف التعليمات طلب، وليست إعدادًا مفروضًا. يحمّلها الـ harness نصًّا في نافذة السياق، إلى جانب المهمة، والملفات التي قرأها الوكيل، ومُخرَجات الأدوات، وردوده هو نفسه. وكل ذلك يتنافس على انتباه النموذج.

1:56

يفسّر النموذج التعليمات مع بقية السياق. وهذا يجعله أداة ضبابية (fuzzy)، قد تختلف معاملتها للتعليمات نفسها بين جلسة وأخرى. قد يتّبع القاعدة، لكنه قد يغفل عنها أيضًا أو يخطئ في تطبيقها. التعليمات المكتوبة وحدها لا تفرض تنفيذ الإجراء.

2:15

لذا عندما يُبلغ الوكيل أن الفحوصات نجحت، ابحثوا عن تشغيلها الفعلي. فالجلسة تعرض كل أمر شغّله الوكيل، ثم مُخرَجاته.

2:24

لذا لا يكفي ملف التعليمات وحده لقاعدة يجب أن تسري دائمًا. وهنا يأتي دور الـ hooks. الـ hook كود يشغّله الـ harness في نقاط محدّدة، مثلًا بعد كل تعديل، فيُنفَّذ الفحص سواء تذكّر النموذج القاعدة أم لا. سنبني hooks في الفيديوهات القادمة.

2:41

تكبر ملفات التعليمات كلما أضاف الناس قواعد، وكل سطر يستهلك جزءًا من السياق في كل جلسة. وإرشادات Claude Code تحذّر من أن ملفات التعليمات الطويلة تُضعف الالتزام بها. هذا مثال على ملف تعليمات لهذا المشروع، بعد بضع إضافات.

2:57

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

3:17

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

3:41

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

3:59

الفحوصات القابلة لإعادة الاستخدام تقلّل التحقّق اليدوي بعد كل تغيير. والاختبارات التي تحتفظون بها تواصل فحص المتطلبات السابقة بينما يكبر المشروع. هذا كل شيء عن كتابة ملفات التعليمات. أراكم في الفيديو القادم.

4:13 of video · 539 words · 14 slides← Back to the video