Claude Code: دليل استخدام CLAUDE.md
آخر تحديث: 2026-08-31
CLAUDE.md هو "دليل مشروع" Claude Code — اكتبه جيداً، ويعمل Claude Code كعضو فريق خبير؛ اكتبه بشكل سيئ، ويعمل كقادم جديد مرتبك.
💡 نصيحة: المبدأ الأساسي لـ CLAUDE.md هو "الصريح أفضل من الضمني" — اكتب الاتفاقيات التي تعتبرها مسلّماً بها، لأن Claude Code لن يخمّن.
📋 المتطلبات المسبقة: الفصل 8 - الاستخدام الأساسي
1. ما ستتعلمه
- بناء جملة وهيكل CLAUDE.md الكامل
- استراتيجية الإعداد الطبقي (عالمي/مشروع/دليل)
- أفضل ممارسات الكتابة
- المزالق الشائعة وكيفية تجنبها
- أمثلة مقارنة عملية
2. بناء جملة وهيكل CLAUDE.md
(1) الهيكل الأساسي
MARKDOWN
# CLAUDE.md
## Project Overview
[One-line description of what the project is and does]
## Tech Stack
[Language, framework, database, toolchain]
## Common Commands
[Build, test, deploy, dev commands]
## Code Conventions
[Naming standards, file organization, style requirements]
## Constraints and Limitations
[What not to do, what must be done]
## Known Issues
[Technical debt and pitfalls requiring special attention]
(2) أنواع التعليمات
| النوع | مثال | الأولوية |
|---|---|---|
| يجب فعله | "جميع APIs يجب أن تعالج الأخطاء" | عالية |
| يجب عدم فعله | "لا تعدّل جداول قاعدة البيانات مباشرة" | عالية |
| ينبغي فعله | "يفضّل الأسلوب الوظيفي" | متوسطة |
| معلومات مرجعية | "المشروع يستخدم هيكل Monorepo" | منخفضة |
▶ مثال 1: CLAUDE.md عالي الجودة
MARKDOWN
# CLAUDE.md
## Project Overview
SaaS billing platform backend, handling subscription management, invoice generation, and payment integration.
## Tech Stack
- Node.js 20 + TypeScript 5.3
- Express 4.18 + middleware chain
- Prisma 5.x (PostgreSQL)
- Redis (cache + queue)
- Jest + Supertest (testing)
## Common Commands
- `npm run dev` — Start dev server (port 3000)
- `npm test` — Run all tests
- `npm run lint` — ESLint check
- `npx prisma migrate dev` — Database migration
## Code Conventions
- Service layer only handles business logic, no direct HTTP object access
- Controller layer handles request/response transformation
- All database operations via Repository pattern
- Errors use AppError class with statusCode and code
- API response format: `{ success: boolean, data: T, error?: string }`
## Constraints
- ❌ Never use pg client directly, must use Prisma
- ❌ Never access req/res in Service layer
- ❌ Never hardcode secrets and credentials
- ✅ Every API endpoint must have integration tests
- ✅ All amounts use cents (integer), avoid floating point errors
## Known Issues
- PaymentService.processRefund has concurrency issue (see ISSUE-342)
- InvoiceService.generatePDF performs poorly with many items (see ISSUE-156)
3. استراتيجية الإعداد الطبقي
(1) نظام الإعداد ثلاثي الطبقات
TEXT
📖 للعرض فقط
~/.claude/CLAUDE.md # Global: Personal preferences
project-root/CLAUDE.md # Project: Team conventions
project-root/src/api/CLAUDE.md # Directory: Local instructions
| الطبقة | النطاق | المحتوى النموذجي | الأولوية |
|---|---|---|---|
| عالمي | جميع المشاريع | تفضيلات أسلوب البرمجة الشخصية | الأدنى |
| المشروع | المشروع الحالي | الحزمة التقنية، الأوامر، القيود | المتوسطة |
| الدليل | دليل فرعي | تعليمات محلية محددة | الأعلى |
(2) CLAUDE.md العالمي
MARKDOWN
<!-- ~/.claude/CLAUDE.md -->
# Global Preferences
## Code Style
- Use TypeScript strict mode
- Prefer const, avoid let
- Functions no longer than 20 lines
- Add JSDoc comments
## Testing Preferences
- Use describe/it style
- Each test independent, no execution order dependency
- Mock external dependencies, not internal modules
(3) CLAUDE.md على مستوى الدليل
MARKDOWN
<!-- src/api/CLAUDE.md -->
# API Module Conventions
## Route Registration
- All routes registered centrally in index.ts
- Middleware order: auth → rateLimit → validate → handler
## Response Format
- Success: { success: true, data: T }
- Failure: { success: false, error: { code, message } }
## Prohibited
- ❌ Don't write business logic directly in handlers
- ❌ Don't skip parameter validation
4. أفضل ممارسات الكتابة
(1) تعليمات فعالة مقابل غير فعالة
| غير فعالة | فعالة | السبب |
|---|---|---|
| "اكتب كوداً جيداً" | "دوال أقل من 20 سطراً، تعقيد دوري < 10" | قابل للقياس |
| "انتبه للأمان" | "كل مدخلات المستخدم يجب تطهيرها، لا دمج SQL" | محدد وقابل للتنفيذ |
| "اتبع أفضل الممارسات" | "استخدم نمط مستودع، الخدمات لا تصل لقاعدة البيانات مباشرة" | نمط واضح |
| "اجعل الكود سريعاً" | "استعلامات قاعدة البيانات يجب أن تحتوي فهارس، استعلامات N+1 تستخدم DataLoader" | طريقة محددة |
(2) قائمة المزالق
| المزلق | مثال | النهج الصحيح |
|---|---|---|
| غامض جداً | "حافظ على نظافة الكود" | اكتب معايير محددة |
| مطوّل جداً | CLAUDE.md من 500 سطر | اختصر للاتفاقيات الأساسية |
| متضاد ذاتياً | "استخدم REST" و "استخدم GraphQL" | كُن متسقاً |
| قديم | لا يزال يكتب "استخدم Express 3.x" | حدّث مع المشروع |
| معلومات غير ذات صلة | كتابة الهيكل التنظيمي للفريق | اكتب فقط ما يؤثر على الكود |
5. تحديث CLAUDE.md ديناميكياً
▶ مثال 2: اجعل Claude Code يُصون CLAUDE.md
TEXT
📖 للعرض فقط
> Update CLAUDE.md based on recent code changes
Claude Code:
→ Reading recent commits
→ Changes detected: Express → Fastify, added Redis, Jest → Vitest
→ Updating CLAUDE.md with current tech stack and commands
CLAUDE.md updated ✓
❓ أسئلة شائعة
س كم يجب أن يكون طول CLAUDE.md؟
ج 50-150 سطراً هو الأمثل. قصير جداً ينقصه المعلومات؛ طويل جداً وقد يتخطى Claude Code أجزاءً. الاتفاقيات الأساسية أولاً، المعلومات المرجعية في الحد الأدنى.
س هل سيتبع Claude Code دائماً تعليمات CLAUDE.md؟
ج في الغالب نعم، لكن ليس 100%. التعليمات عالية الأولوية (❌ "أبداً"/✅ "يجب") لها امتثال أعلى. التعليمات الاقتراحية قد تُتجاهل.
س هل يمكن لملفات CLAUDE.md متعددة أن تتعارض؟
ج نعم. مستوى الدليل يتجاوز مستوى المشروع، الذي يتجاوز المستوى العالمي. الأكثر تحديداً يفوز.
س هل يمكنني وضع معلومات حساسة في CLAUDE.md؟
ج مطلقاً لا. CLAUDE.md يُلتزم في git. استخدم متغيرات البيئة لمفاتيح API وكلمات المرور وما شابه.
س هل يدعم CLAUDE.md منطقاً شرطياً؟
ج لا يُدعم منطق برمجي. تعليمات نصية ثابتة فقط. الحكم الشرطي هو قرار Claude Code.
س متى يجب تحديث CLAUDE.md؟
ج عند تغيير الحزمة التقنية أو إضافة اتفاقيات جديدة أو عندما يرتكب Claude Code أخطاء متكررة.
📖 ملخص
- CLAUDE.md هو دليل مشروع Claude Code؛ "الصريح أفضل من الضمني" هو المبدأ الأساسي
- إعداد ثلاثي الطبقات: عالمي (شخصي) ← مشروع (فريق) ← دليل (محلي)
- تعليمات فعالة: محددة، قابلة للتنفيذ، قابلة للقياس؛ تجنب الغموض والإطالة
- علامات ❌/✅ تحسّن امتثال التعليمات
- حدّث باستمرار مع تطور المشروع
📝 تمارين
- أساسي (⭐): اكتب CLAUDE.md من 50 سطراً لمشروعك مع نظرة عامة وحزمة تقنية وأوامر.
- متوسط (⭐⭐): نفّذ إعداد CLAUDE.md ثلاثي الطبقات، اختبر أولوية التعليمات.
- متقدم (⭐⭐⭐): اكتب تعليمات غامضة ودقيقة، قارن فروق تنفيذ Claude Code، لخّص القواعد الذهبية لكتابة CLAUDE.md.