الرئيسية Claude AI مركز التعلم القطاعات تواصل معنا
واتساب اتصل بنا

إتقان ملف CLAUDE.md — اجعل كلود يفهم مشروعك بالكامل

إتقان ملف CLAUDE.md لمشاريع البرمجة

هناك فرق كبير بين مطور يستخدم Claude Code ويحصل على نتائج جيدة، ومطور يحصل على نتائج مذهلة. الفرق في معظم الأحيان: ملف CLAUDE.md.

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

لماذا CLAUDE.md هو الملف الأهم في مشروعك؟

كلود ذكي جداً لكنه لا يعرف تفاصيل مشروعك تحديداً. هل تستخدم Sanctum أم Passport للـ authentication؟ هل الـ migrations تذهب لمجلد خاص؟ هل لديك naming convention مختلف؟ هل هناك packages معينة يجب استخدامها دون غيرها؟

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

CLAUDE.md يحل هذه المشكلة مرة واحدة وللأبد. اكتبه مرة، كلود يقرأه في كل جلسة.

بنية CLAUDE.md المثالية

الملف يتكون من 5 أقسام أساسية:

# CLAUDE.md

## نظرة عامة على المشروع
[وصف مختصر: ما هو المشروع، من يستخدمه، ما التقنيات الأساسية]

## الهيكل والتنظيم
[شرح المجلدات الرئيسية وما يوجد في كل واحد]

## أسلوب الكود والاتفاقيات
[naming conventions، indentation، patterns المستخدمة]

## تعليمات مهمة
[ما يجب فعله وما لا يجب، قواعد خاصة بالمشروع]

## أنماط محظورة
[أشياء بعينها لا يجوز استخدامها في هذا المشروع]

مثال كامل: مشروع Laravel

# CLAUDE.md — مشروع منصة التجارة الإلكترونية

## نظرة عامة
منصة تجارة إلكترونية للسوق السعودي. Laravel 11، MySQL، Redis، Livewire للـ frontend.
الجمهور: تجار التجزئة الصغار والمتوسطين.

## الهيكل
- app/Services/ — كل منطق الأعمال يجب أن يكون هنا
- app/Repositories/ — للتعامل مع قاعدة البيانات
- app/Http/Controllers/ — فقط للـ HTTP request/response، لا منطق أعمال
- resources/views/livewire/ — مكونات Livewire
- database/migrations/ — migrations فقط، لا seeders هنا

## الاتفاقيات
- أسماء الـ Services تنتهي بـ Service: OrderService, PaymentService
- أسماء الـ Repositories تنتهي بـ Repository
- العربية للـ validation messages دائماً
- استخدم Form Requests للـ validation — لا تضعه في Controller
- Eloquent Scopes للاستعلامات المتكررة

## Authentication
- نستخدم Laravel Sanctum للـ API
- نستخدم Breeze للـ web authentication
- لا تستخدم Passport — غير مثبت في المشروع

## تعليمات مهمة
- دائماً استخدم Transactions للعمليات المركبة
- كل Model يجب أن يحتوي $fillable محدداً
- لا تستخدم $guarded = [] أبداً
- استخدم Carbon للتعامل مع التواريخ
- الـ API responses دائماً عبر Resources
- كل الأسعار بالهللة (Integer) — لا Decimals

## أنماط محظورة
- لا var_dump أو dd() في الكود المُوجَّه للـ production
- لا raw SQL إلا في حالات الضرورة القصوى
- لا business logic في Blade views
- لا N+1 queries — استخدم eager loading دائماً

مثال كامل: مشروع Next.js

# CLAUDE.md — منصة تعليمية Next.js

## نظرة عامة
منصة تعليمية تفاعلية. Next.js 15، TypeScript، Prisma ORM، PostgreSQL، Tailwind CSS.
مستخدمو الـ backend: Prisma فقط — لا Drizzle ولا TypeORM.

## هيكل المشروع
- /app — App Router (Next.js 13+)
- /app/api — API Routes
- /components/ui — مكونات shadcn/ui، لا تُعدّلها مباشرة
- /components/features — مكونات خاصة بالمنصة
- /lib — utilities وhelpers
- /prisma — schema وmigrations

## قواعد TypeScript
- لا any مطلقاً — استخدم unknown إذا احتجت
- كل props تحتاج interface محددة
- استخدم zod للـ validation في API routes
- تسمية الـ types: PascalCase، الـ interfaces تبدأ بـ I مثل IUser

## State Management
- نستخدم Zustand للـ global state
- لا Redux في هذا المشروع
- Server State بـ TanStack Query (React Query)

## Styling
- Tailwind CSS فقط — لا inline styles ولا CSS modules إلا في حالات خاصة
- استخدم cn() من /lib/utils لدمج classes
- Dark mode مدعوم — دائماً أضف dark: classes

## تعليمات مهمة
- استخدم Server Components افتراضياً
- أضف 'use client' فقط حين تحتاج interactivity
- كل صورة عبر next/image
- كل link عبر next/link

مثال كامل: Python API

# CLAUDE.md — API تحليل البيانات

## نظرة عامة
FastAPI backend لتحليل بيانات التسويق. Python 3.11، FastAPI، SQLAlchemy، PostgreSQL، Redis.
يُستخدم كـ microservice ضمن نظام أكبر.

## الهيكل
- /api/routers — API endpoints، مجمّعة حسب الوظيفة
- /api/services — business logic
- /api/models — SQLAlchemy models
- /api/schemas — Pydantic schemas للـ validation
- /api/utils — helper functions
- /tests — pytest tests

## قواعد مهمة
- Pydantic V2 للـ validation — استخدم الـ syntax الجديد
- Dependency Injection عبر Depends() دائماً
- كل endpoint يحتاج response_model محدد
- Async functions للـ database operations
- استخدم Alembic للـ migrations — لا تُعدّل DB مباشرة

## Error Handling
- HTTPException للأخطاء المتوقعة
- custom exception handlers في main.py
- كل الأخطاء تُسجَّل في structured JSON format

## Testing
- pytest مع pytest-asyncio
- كل endpoint يحتاج test واحد على الأقل
- استخدم fixtures من conftest.py

مثال: موقع WordPress

# CLAUDE.md — موقع WordPress للعيادة

## نظرة عامة
موقع WordPress لعيادة طبية. Child Theme من Astra.
الـ plugins المُركّبة: ACF Pro، WooCommerce للمواعيد، Yoast SEO.

## قواعد التطوير
- كل الكود المخصص في Child Theme فقط — لا تُعدّل Parent Theme
- استخدم ACF للـ custom fields — لا تُضف fields لـ database مباشرة
- hooks في functions.php، الـ classes في /inc folder
- نسمي ملفات الـ templates: template-pagename.php

## تعليمات مهمة
- الموقع عربي الاتجاه (RTL) — تأكد من دعم RTL في أي CSS تكتبه
- لا تستخدم jQuery من CDN — WordPress يُحمّله تلقائياً
- كل script وstyle يُسجَّل في functions.php عبر wp_enqueue_script

## محظور
- لا تُعدّل ملفات plugin مباشرة
- لا تستخدم update_option لحفظ بيانات كثيرة — استخدم ACF
- لا hard-coded URLs — استخدم get_site_url()

كيف تكتب تعليمات فعّالة

التعليمات الفعّالة تكون محددة لا عامة. بدلاً من "اكتب كوداً نظيفاً" اكتب "كل function لا تتجاوز 20 سطراً". بدلاً من "تعامل مع الأخطاء" اكتب "كل API endpoint يجب أن يُرجع JSON مع مفتاح success وmessage في حالة الخطأ".

التعليمات السلبية تعمل بشكل ممتاز مع كلود. "لا تستخدم X" أوضح وأقوى من "استخدم Y بدلاً من X". الأنماط المحظورة من أهم أقسام الملف لأنها تمنع الأخطاء قبل حدوثها.

الأنماط المتقدمة في CLAUDE.md

يمكنك إضافة قسم للذاكرة — معلومات تريد من كلود تذكرها دائماً:

## معلومات مهمة للتذكر
- API الخارجي للدفع: Moyasar (لا Stripe — غير متاح في السعودية)
- السيرفر: Ubuntu 22.04 على AWS EC2 في منطقة me-south-1
- الـ deployment عبر GitHub Actions — لا تُنشئ scripts يدوية
- آخر upgrade لـ PHP كان في مارس 2026 — تأكد من compatibility

يمكنك أيضاً إضافة قواعد شرطية:

## قواعد حسب السياق
- للـ migrations الجديدة: دائماً اسأل قبل التنفيذ
- للملفات في /app/Core/: لا تُعدّلها إلا بعد موافقة صريحة
- للـ tests: استخدم factories وليس بيانات hardcoded
1
ابدأ بسيطاً ثم طوّر

لا تحاول كتابة CLAUDE.md كاملاً من أول مرة. ابدأ بـ 5 تعليمات أساسية وأضف تدريجياً كلما اكتشفت ما يحتاجه كلود لمشروعك.

2
حدّث الملف مع المشروع

كلما تغيرت قاعدة في مشروعك، حدّث CLAUDE.md. الملف القديم أسوأ من عدم وجود ملف لأنه يُعطي كلود معلومات خاطئة.

3
ركّز على ما هو غير بديهي

لا تشرح لكلود ما هو Laravel أو Next.js — هو يعرفها. اشرح ما هو خاص بمشروعك تحديداً: الـ conventions غير المعتادة، الـ packages المخصصة، القرارات غير المتوقعة.

4
اجعله قابلاً للقراءة البشرية أيضاً

CLAUDE.md ممتاز كوثيقة onboarding للمطورين الجدد. احرص على أنه مفيد للبشر أيضاً وليس فقط لكلود.

5
أضفه لـ Git

CLAUDE.md يجب أن يكون في مستودع Git مع المشروع. هكذا يستفيد منه كل الفريق وتتتبع تغييراته مع الوقت.

6
اختبر الملف مع كلود

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

7
استخدم ملفات متعددة للمشاريع الكبيرة

في Monorepo يمكنك وضع CLAUDE.md في كل مجلد فرعي بالإضافة للجذر. كلود يقرأ الملف الأقرب للسياق الحالي.

8
أنماط محظورة أقوى من تعليمات إيجابية

"لا تفعل X" أكثر فعالية من "افعل Y". الأنماط المحظورة تمنع الأخطاء الشائعة التي تكتشفها فقط بعد التنفيذ.

الجواهر الخمسة — أفكار متقدمة

CLAUDE.md لفريق العمل

أنشئ CLAUDE.md يُوحّد أسلوب عمل كلود مع كل الفريق — نفس الاتفاقيات، نفس الأنماط، نفس القرارات المعمارية. مطور جديد يستخدم كلود مباشرة بنفس جودة المطور القديم.

CLAUDE.md كوثيقة معمارية حية

بدلاً من وثائق معمارية منفصلة تُصبح قديمة، حافظ على CLAUDE.md كمرجع حي يتحدث عن قرارات المشروع ويشرح لماذا تم اتخاذها.

قالب CLAUDE.md للشركة

إذا طوّرت مشاريع متعددة، أنشئ قالب CLAUDE.md يمثل معايير شركتك. كل مشروع جديد يبدأ من هذا القالب ويُخصَّص.

CLAUDE.md مع قواعد الأمان

أضف قسماً للأمان: لا تكتب secrets في الكود، استخدم environment variables دائماً، هذه الـ endpoints تحتاج authentication. كلود سيلتزم بها تلقائياً.

CLAUDE.md للـ Testing Strategy

وثّق استراتيجية الاختبار بالكامل في CLAUDE.md — ما يُختبر وما لا يُختبر، أي frameworks المستخدمة، نسبة التغطية المطلوبة. كلود سيكتب tests تتوافق مع استراتيجيتك.

الأسئلة الشائعة

أين يجب أن أضع ملف CLAUDE.md؟
في جذر المشروع مباشرة — نفس المكان الذي يوجد فيه ملف package.json أو composer.json. يمكنك أيضاً إضافة ملفات CLAUDE.md داخل مجلدات فرعية للتعليمات الخاصة بكل جزء من المشروع.
كم حجم CLAUDE.md المثالي؟
بين 200 و800 كلمة للمشاريع العادية. لا تجعله طويلاً جداً — ركّز على ما يختلف عن المعتاد في مشروعك تحديداً. كلود يعرف أساسيات البرمجة، اشرح له ما هو خاص بمشروعك.
هل يقرأ كلود CLAUDE.md تلقائياً؟
نعم، عند تشغيل Claude Code في مجلد يحتوي CLAUDE.md، يقرأه تلقائياً في بداية كل جلسة. لا تحتاج لتذكيره أو نسخ المحتوى يدوياً.
ماذا أضع في قسم الأنماط المحظورة؟
أي شيء تعلّمت بالتجربة أنه يسبب مشكلات في مشروعك. مثلاً: لا تستخدم var_dump للـ debugging، لا تُعدّل ملفات vendor مباشرة، لا تضع منطق الأعمال في controllers.
هل يمكن استخدام CLAUDE.md مع فريق عمل؟
نعم، هذا من أفضل استخداماته. أضف CLAUDE.md لـ Git وكل أعضاء الفريق الذين يستخدمون Claude Code سيحصلون على نفس السياق والتعليمات. الملف يوحّد أسلوب عمل كلود مع الجميع.

🧭 اكتشف المزيد

مواضيع مرتبطة من أقسام أخرى تُكمّل ما تعلمته

تريد مساعدة في إعداد مشروعك مع كلود؟

فريق A Plan يساعدك في بناء CLAUDE.md المثالي لمشروعك.

تواصل عبر واتساب