الخريطة بنظرة وحدة
ثلاث مراحل بتتداخل ببعض، وإنت بتقدر توقفه وتوجّهه بأي لحظة.
بيجمع السياق
قبل ما يكتب ولا سطر، بيفهم وين هو: بيقرأ تعليماتك بـ CLAUDE.md، بيدوّر بالمشروع على الملفات اللي إلها علاقة بطلبك، وبيقرأها. ما في داعي تلصقله الكود.
شو الأدوات اللي بيستخدمها؟ التوثيق بقسمها لخمس أنواع:
| النوع | شو بيعمل فيها |
|---|---|
| الملفات | بيقرأ، بيعدّل، وبيعمل ملفات جديدة |
| البحث | بيدوّر على الملفات بالاسم، وعلى الكود بالمحتوى |
| التنفيذ | بيشغّل أوامر بالـ terminal: tests، build، git |
| الويب | بيبحث وبيقرأ صفحات (توثيق، رسالة خطأ) |
| ذكاء الكود | تعريفات ومراجع الدوال (بدها plugins خاصة) |
كيف بتساعده بهالمرحلة:
- دلّه على البداية: اكتب
@وبعدها مسار الملف، وبيضيف الملف للمحادثة. - شو ماكل السياق هلأ؟
/contextبيوريك التقسيمة. - خلّي CLAUDE.md مفيد: أوامر التشغيل والاختبار وقواعد المشروع (القسم 5).
بيشتغل
بيقسم المهمة لخطوات، وبيعدّل الملفات، وبيشغّل الأوامر. وشو بيسألك عنه قبل ما يعمله بيعتمد على وضع الصلاحيات اللي إنت فيه (القسم 6).
/plan بدي صفحة «تواصل معنا» بفورم بيوصل على إيميلي. اقرأ المشروع واقترح خطة، وما تعدّل شي قبل ما أوافق.
بدك تكتب الطلب بشكل يخلّيه ينجح من أول مرة؟ قالب السؤال الصح.
بيتأكد
بيقدر يشغّل الاختبارات والـ build ليتأكد من شغله: بيقرأ الخطأ، وبيرجع يصلّح، وبيشغّل مرة ثانية. بس هاد بصير إذا عنده طريقة يتأكد فيها، فما تفترض إنه بيعمله دايمًا.
اعطيه الفحص بطلبك:
بعد التعديل شغّل npm test وصلّح أي فشل.
ورجّيني الدليل: الأمر اللي شغّلته وشو طلع.
- حطّ أمر الاختبار بـ CLAUDE.md مرة وحدة، وبيعرفه بكل جلسة.
- ما عندك tests؟ اعطيه شي ثاني يقارن فيه: صورة للنتيجة المتوقعة، أو مثال للمخرج الصح.
- توثيق Claude Code بيسمّي هالفحص الفرق بين جلسة بتراقبها، وجلسة بتتركها تشتغل.
بيعيدها… لحد ما تخلص أو يحتاجك
المراحل الثلاث بتتكرر وبتتداخل: بيقرأ، بيعدّل، بيفحص، بيقرأ الخطأ… لحد ما تخلص المهمة، أو يوصل لإشي بده موافقتك أو جوابك.
- بيوقف ويسألك لما يحتاج صلاحية لإشي ما بيسمحله فيه وضعك الحالي. إنت
- بيسألك سؤال لما الطلب فيه أكثر من طريقة ومش واضح شو بدك. إنت
- بيخلص وبيعطيك ملخص شو عمل. اقرأه وراجع التعديلات. Claude
الدورة بتمشي لحالها. هدول بيحددوا كيف.
ملف CLAUDE.md: تعليماتك للمشروع
ملف نصي بينقرأ أول كل جلسة. فيه اللي بدك يعرفه دايمًا بدون ما تعيده: كيف يشغّل ويختبر، وقواعد المشروع. أسهل طريقة تبلّش فيها:
/init
مثال قصير ومفيد (عدّل الأوامر حسب مشروعك):
# Project
Next.js + TypeScript. Package manager: pnpm.
## Commands
- dev: pnpm dev
- test: pnpm test
- lint: pnpm lint
## Rules
- Run pnpm test after every change and fix failures.
- No new dependencies without asking me first.
- Never edit files under migrations/.
| وين | لمين |
|---|---|
| ./CLAUDE.md | المشروع، وبتشاركه مع فريقك بـ git (أو ./.claude/CLAUDE.md) |
| ./CLAUDE.local.md | إلك إنت بس بهالمشروع (حطّه بـ .gitignore) |
| ~/.claude/CLAUDE.md | إلك بكل مشاريعك |
- الحجم: التوثيق بينصح بأقل من 200 سطر لكل ملف. كل سطر بينقرأ بكل جلسة.
- المجلدات الفرعية: CLAUDE.md جوّا مجلد فرعي بينقرأ لما يشتغل على ملفات هالمجلد، مش من الأول.
- الذاكرة التلقائية: Claude كمان بيحفظ ملاحظات لحاله بين الجلسات. بتشوفها وبتطفّيها من
/memory. - هو سياق مش قفل: Claude بيتّبعه بس ما في ضمان. بدك تمنع إشي بالقوة؟ قواعد deny (القسم 6) أو hook من نوع PreToolUse.
أوضاع الصلاحيات (Shift+Tab)
الوضع بيحدد شو بيعمل لحاله وشو بيسألك عنه. بتشوفه بشريط الحالة تحت، وShift+Tab بيبدّل بينهم.
| الوضع | شو بيعمل بدون ما يسألك | إمتى |
|---|---|---|
| Manualdefault | القراءة بس. أي تعديل أو أمر بيسألك عليه. | شغل حساس، أو مشروع جديد عليك |
| acceptEdits | القراءة، وتعديل الملفات، وأوامر الملفات البسيطة (mkdir، mv، cp…) جوّا مجلد المشروع.باقي الأوامر بيسأل عليها. | بتراجع التعديلات بعدين بـ git |
| plan | بيستكشف وبيقترح خطة، وما بيعدّل ملفاتك. | مهمة كبيرة، أو قبل ما تغيّر إشي مهم |
| auto | أغلب الأفعال، ومصنّف منفصل بيراجعها بالخلفية وبيوقف الخطير بدل ما يسألك.بيطلع بالقائمة لما يكون متاح، وبالنسخ الحديثة هو الوضع اللي بتبلّش فيه الجلسة. | مهام طويلة بأقل مقاطعة |
| bypassPermissions | كل شي، بدون أي سؤال.ما بيطلع بالقائمة إلا إذا فعّلته إنت. | بس بـ container أو جهاز وهمي معزول |
الترتيب الافتراضي لـ Shift+Tab: Manual ← acceptEdits ← plan، ومن auto أول كبسة بترجّعك لـ Manual. والتوثيق واضح: auto بيقلّل الأسئلة، بس ما بيضمن الأمان.
بدك تبلّش دايمًا بوضع معيّن؟ لهالتشغيلة:
claude --permission-mode plan
أو اسمحله بأوامر معيّنة وامنعه من غيرها بـ .claude/settings.json (وبتشوف كل القواعد بـ /permissions):
{
"permissions": {
"allow": ["Bash(npm run test *)", "Bash(npm run lint)"],
"deny": ["Read(./.env)", "Bash(git push *)"]
}
}
الترتيب: deny أول، بعدها ask، بعدها allow. يعني المنع دايمًا بيغلب.
أوامر لازم تعرفها
باقي الأوامر اليومية بـ دليل الـ 12 أمر، وكلها بـ دليل الأوامر الكامل.
Esc مرة… وEsc مرتين
إذا خانة الكتابة فيها نص، Esc مرتين بتمسح النص بس. ونقاط الرجوع بتنحفظ مع المحادثة، فبتقدر ترجع حتى بعد ما تكمّل جلسة قديمة.