يدعم Cursor IDE ثلاثة مستويات من القواعد:
- قواعد
Rules for AIداخل إعدادات Cursor IDE، وهي القواعد الأساسية العامة التي تنطبق على جميع المشاريع - ملف
.cursor/index.mdcمع نوع القاعدةAlways، وهو ملف خاص بالمشروع على مستوى المستودع ويحل محل نهج.cursorrulesالقديم - ملفات
.cursor/rules/*.mdc، وهي قواعد ديناميكية لا تُفعَّل إلا عندما يتعامل الذكاء الاصطناعي مع مهام يطابقها وصف تلك القواعد
أشارك هنا القواعد الأساسية التي أضعها في إعداداتي العامة داخل Cursor IDE. هذه القواعد هي نقطة البداية في جميع أعمالي البرمجية. وعندما تجتمع مع قواعد المستودع والقواعد الديناميكية، تتشكل منظومة قوية تحافظ على جودة الشفرة وتبقي ممارسات التطوير متسقة بين المشاريع.
تفضّل الشرح بالفيديو؟ أعددت شرحًا مرئيًا شاملًا لهذا النظام بالكامل. يمكنك مشاهدة الشرح الكامل لقواعد Cursor IDE للذكاء الاصطناعي: المستويات الخمسة وملف .cursorrules (2025) لترى هذه الأفكار مطبقة خطوة بخطوة.
كيف تضبط قواعد Cursor للحصول على أفضل أداء في البرمجة بمساعدة الذكاء الاصطناعي
Cursor -> Settings -> Cursor Settings -> Rules for AI:
# Global Rules
## Code Style
- Comments in English only
- Prefer functional programming over OOP
- Use OOP classes only for connectors and interfaces to external systems
- Write pure functions - only modify return values, never input parameters or global state
- Follow DRY, KISS, and YAGNI principles
- Prefer simple, native, vendor-recommended solutions and avoid premature abstractions
- Use strict typing for returns, variables, collections, and complex data; validate external/API data at runtime; require needed fields, ignore unrelated extra fields, prefer structured models over loose dictionaries, and avoid weak generic types like `Any`, `unknown`, or `List[Dict[str, Any]]`
- Check if logic already exists before writing new code
- Never use default parameter values - make all parameters explicit
- Write simple single-purpose functions - no multi-mode behavior, no flag parameters that switch logic. If the user needs multiple modes, they will ask explicitly
## Error Handling
- Always raise errors explicitly, never silently ignore them
- Use specific error types that clearly indicate what went wrong
- Avoid catch-all exception handlers that hide the root cause
- No fallbacks, symptom-masking guards, or silent recovery unless I explicitly ask for them; fix root causes and make code either succeed or fail with a clear error
- External API or service calls: use retries with warnings, then raise the last error
- Error messages must be clear, actionable, and specific: explain what failed and why, include request params, response body, status codes, and avoid generic "something went wrong"
- Logging should use structured fields instead of interpolating dynamic values into message strings
## Libraries and Dependencies
- Use modern stable, project-compatible package management, libraries, and language standards; prefer vendor-recommended patterns such as ESM when supported
- Install dependencies in project environments, not globally
- Add or update dependencies in project config files, not as one-off manual installs
- If a dependency is installed locally, read its source code when needed instead of guessing, even if it is gitignored
## Testing
- Respect the repository test strategy and add only the minimum useful tests for the requested change
- Prefer smoke, integration, and end-to-end tests over narrow unit or regression tests; do not test static text, prompts, or config unless behavior depends on them
- Do not create fake/mock-based tests by default; use real integrations when practical, even if they cost a little money
- UI tests and automations must use stable IDs, test IDs, or accessibility IDs instead of visible text, and fail fast without fallback clicks
## Terminal Usage
- Prefer non-interactive commands with flags over interactive ones
- Always use non-interactive git diff: `git --no-pager diff` or `git diff | cat`
## Workflow
- Read the existing code and relevant project instructions before editing
- Keep changes minimal and tightly scoped to the current request: make the smallest useful diff, change only the lines needed to solve the problem, and avoid unrelated improvements unless the user asks for them
- Match the existing style of the repository even if it differs from my personal preference; new code must look like it was written by the same author
- Keep files small and cohesive; split by feature or responsibility when the project has no established structure
- Do not revert unrelated changes
- If you are unsure, inspect the codebase instead of inventing patterns
- When project instructions include test or lint commands, run them before finishing if the task changed code
## Documentation
- Code is the primary documentation - use clear naming, types, and docstrings
- Keep documentation in docstrings of the functions, classes, or modules they describe, not in separate files
- Separate docs files only when a concept cannot be expressed clearly in code, and only one file per topic
- Never duplicate documentation across files; reference other sources instead
- Store knowledge as current state, not as a changelog of modifications
## Commits
- Never create a git commit unless the user explicitly asks for one
- Prefer `git merge` over `git squash` whenever possible, unless the user explicitly asks for squash.
- Uncommitted changes are the user's review state - they read the diff before deciding what to commit
- Keep changes uncommitted until asked, so the diff stays clean and reviewable

كيف تعظّم الكفاءة عبر استراتيجية متعددة المستويات لقواعد مشروع Cursor
عند العمل مع ميزات الذكاء الاصطناعي في Cursor IDE، وجدت أن تحسين القواعد عبر المستويات الثلاثة أمر حاسم. والفكرة الأساسية بسيطة: قلّل عدد التوكنات (tokens) التي تُرسل إلى نموذج اللغة في كل محادثة. فكلما قلّت التوكنات المخصصة للسياق، ازدادت المساحة المتاحة لإنتاج استجابات أفضل.
ولمعرفة المزيد عن آلية عمل قواعد المشروع في Cursor، يمكنك الرجوع إلى الوثائق الرسمية لـ Cursor حول Rules for AI.
تدفق التنفيذ في ثلاث خطوات لقواعد مشروع Cursor
-
ابدأ بإعدادات IDE فقط
أبدأ بإعدادات Cursor العامة لتثبيت التفضيلات الأساسية. يتيح لي ذلك تجربة صيغ مختلفة للقواعد من دون إثقال المستودعات. وأحصر هذا المستوى في القواعد العامة التي تنطبق على جميع أعمالي البرمجية. -
انقل القواعد الخاصة بالمشروع إلى مستوى المستودع
عندما ألاحظ أنماطًا تخص قاعدة شيفرة بعينها أو أرغب في مشاركة هذه التوجيهات مع زملائي، أنقلها إلى ملف.cursor/index.mdcمع نوع القاعدةAlways. وهكذا أحصل على مرجعية مشتركة داخل الفريق مع الحفاظ على خفة إعداداتي العامة. وتجدر الإشارة إلى أن ملف.cursorrulesالقديم لا يزال يعمل، لكنه لم يعد الخيار الموصى به. -
قسّم القواعد إلى ملفات مرتبطة بالسياق عند الحاجة
إذا أصبحت قواعد المشروع على مستوى المستودع متضخمة، أقسمها إلى ملفات.cursor/rules/*.mdc. وهذا يقلّل استهلاك التوكنات، لأن القواعد ذات الصلة فقط هي التي تُفعَّل عند الحاجة. والنتيجة أن نموذج اللغة يمتلك مساحة ذهنية أكبر للتركيز على المهمة الحالية بدلًا من الانشغال بإرشادات لا ترتبط بها.
هدفي بسيط: في كل محادثة مع المساعد الذكي، أزوّده بالقدر الكافي من السياق ليكون مفيدًا، من دون أن أستهلك قدرته في معلومات لا يحتاج إليها في تلك اللحظة.
أمثلة عملية من مستودعات إنتاج حقيقية تستخدم قواعد مشروع Cursor
لإظهار كيف أطبّق قواعد Cursor في مستودعات مختلفة، إليك بعض الأمثلة الواقعية:
ملفات .cursor/index.mdc على مستوى المستودع: البنية وطريقة التطبيق
ملفات .cursor/index.mdc ذات النوع Always تؤدي دورًا مشابهًا لملف README.md، لكنها مكتوبة خصيصًا لمساعدي الذكاء الاصطناعي. فهي توفّر سياقًا عن هدف المشروع وبنيته وأنماط البرمجة المتوقعة. أما ملفات .cursorrules القديمة فما تزال مدعومة، لكنها ليست الخيار المفضل للمشاريع الجديدة.

أمثلة من مستودعات إنتاج تستخدم قواعد مشروع Cursor
-
repo-to-text: أداة لتحويل المستودعات إلى نص، وتتضمن قواعد تشرح هدف المشروع وقراراته المعمارية وأنماط الشفرة التي ينبغي اتباعها.
-
chatgpt-telegram-bot-telegraf: في هذا البوت الخاص بـ Telegram، تركز القواعد على معمارية البوت وأنماط استخدام API واتفاقيات التعامل مع الرسائل والأوامر.
ملفات قواعد مشروع Cursor: متى تستخدمها وكيف تستفيد منها
عندما تصبح القواعد على مستوى المستودع أوسع من اللازم، أقسّمها إلى ملفات .cursor/rules/*.mdc مرتبطة بسياق محدد، ولا تُفعَّل إلا عندما يكون ذلك السياق حاضرًا فعلًا.

مثال على تنفيذ قواعد مخصصة للمهام
من أفضل الأمثلة على ذلك مستودع موقعي الشخصي: website-next-js/.cursor/rules/
في هذا المستودع أنشأت ملفات قواعد منفصلة من أجل:
- سير عمل إدارة المحتوى
- متطلبات تحسين الصور
- أفضل ممارسات تحسين محركات البحث
- أنماط بنية المكوّنات
- إجراءات النشر
هذا النهج يبقي الذكاء الاصطناعي مركزًا على ما يهم فعلًا، ويمنعه من الغرق في معلومات لا علاقة لها بالمهمة الحالية.
إدراج القواعد في منتصف الحوار: القيود وأفضل الممارسات
هناك قيد مهم ينبغي الانتباه إليه: تعمل قواعد .mdc المرتبطة بالسياق بأفضل صورة عندما تُطبَّق منذ بداية محادثة جديدة. فإذا كنت في منتصف حوار قائم داخل Cursor IDE ثم احتجت فجأة إلى قاعدة متخصصة، مثل إرشادات الاستعلام من قاعدة البيانات، فقد لا يحمّل الذكاء الاصطناعي ملف القاعدة المناسب تلقائيًا. ويحدث ذلك لأن Cursor يكون قد بنى سياق المحادثة بالفعل، ولا يعيد دائمًا تقييم القواعد الواجب تطبيقها أثناء الحوار.
في مثل هذه الحالات، أذكر القاعدة صراحةً، مثل: "يرجى اتباع إرشاداتنا الخاصة بالاستعلام من قاعدة البيانات في هذه المهمة". عندها يبحث Cursor عن القاعدة المناسبة ويطبقها. أما في المهام الحساسة التي تعتمد على إرشادات محددة، فأجد أن بدء حوار جديد أكثر فاعلية، لأن Cursor سيتعرّف تلقائيًا على جميع القواعد المرتبطة بالسياق ويطبقها منذ البداية.
تطور قواعد مشروع Cursor: من الإعدادات العامة إلى الأنظمة المرتبطة بالسياق
مرّت تجربتي مع قواعد Cursor بعدة مراحل:
المرحلة الأولى: إعدادات Cursor IDE العامة للقواعد الشاملة
بدأت بوضع كل شيء داخل إعدادات Cursor IDE. كان ذلك بسيطًا وفعّالًا في البداية. لكن مع اكتشافي لأنماط جديدة في أسلوبي العملي، تضخمت هذه القواعد العامة. صحيح أن كل مشروع جديد كان يستفيد منها، لكن الإعدادات صارت في النهاية مرهقة لأنها تضم عددًا كبيرًا من القواعد التي لا تنطبق في كل مكان.
المرحلة الثانية: قواعد خاصة بالمستودع لفرض معايير المشروع
عندما امتلأت الإعدادات العامة بمعلومات لا تخص جميع المشاريع، انتقلت إلى القواعد على مستوى المستودع. وكان هذا يعني في البداية استخدام ملفات .cursorrules في جذر المستودعات، وهي الآن صيغة قديمة. وأصبح هذا النهج هو الأساس بالنسبة إلي، لأنه سمح لي بتخصيص القواعد لكل مشروع مع الحفاظ على معايير متسقة. أما اليوم، فالنهج الموصى به هو استخدام ملفات .cursor/index.mdc مع النوع Always.
المرحلة الثالثة: قواعد ديناميكية مرتبطة بالسياق للمهام المتخصصة
عندما أضاف Cursor IDE القواعد الديناميكية .cursor/rules/*.mdc، أعدت تنظيم كل شيء. فهذه القواعد لا تُفعَّل إلا عندما يكون الذكاء الاصطناعي يعمل على مهمة مرتبطة بها، وهذا سمح لي بما يلي:
- إبقاء الإعدادات العامة خفيفة وقابلة للتطبيق على نطاق واسع
- استخدام
.cursor/index.mdcمع النوعAlwaysللمعايير العامة الخاصة بالمشروع بدلًا من.cursorrulesالقديم - إنشاء ملفات
.cursor/rules/*.mdcمركزة للمهام المتخصصة
هذا النهج المتدرج يزوّد الذكاء الاصطناعي بتوجيه مناسب في اللحظة المناسبة بحسب ما أعمل عليه فعليًا، ويقلل الضجيج ويحسن مدى صلة المساعدة بالمهمة.
وهذا التطور يعكس فهمًا أعمق لكيفية التعاون بفاعلية مع مساعدي الذكاء الاصطناعي: البداية تكون واسعة، ثم يأتي التنقيح التدريجي إلى أن تصبح القواعد مرتبطة بالسياق وبالمهام بطريقة ترفع فعالية المساعد إلى أقصى حد.
مقارنة كاملة بين مستويات قواعد مشروع Cursor: العامة وعلى مستوى المستودع والمرتبطة بالسياق
فيما يلي مقارنة سريعة بين المستويات الثلاثة لقواعد Cursor داخل Cursor IDE:
| الميزة | إعدادات IDE العامة | قواعد المستودع (.cursor/index.mdc مع Always) | القواعد المرتبطة بالسياق (.cursor/rules/*.mdc) |
|---|---|---|---|
| النطاق | جميع المشاريع | مستودع محدد | مهام أو سياقات محددة |
| إمكانية الاطلاع | أنت فقط عبر الإعدادات المحلية | الفريق كله عبر المستودع | الفريق كله عبر المستودع |
| الاستمرارية | تبقى بين المشاريع | مرتبطة بالمستودع | مرتبطة بالمستودع |
| التفعيل | فعالة دائمًا | فعالة دائمًا داخل هذا المستودع | تُفعَّل فقط عند ارتباطها بالمهمة الحالية |
| الأفضل من أجل | القواعد العامة المشتركة | أنماط بنية المشروع | المعرفة المتخصصة بالمجال |
| كفاءة استهلاك التوكنات | منخفضة لأنها موجودة دائمًا | متوسطة لأنها ثابتة داخل المشروع | عالية لأنها تُحمَّل عند الحاجة فقط |
| مكان الإعداد | واجهة إعدادات Cursor | ملف .cursor/index.mdc | المجلد .cursor/rules/ |
| قابلية النقل | تتطلب إعدادًا يدويًا على كل جهاز | تنتقل تلقائيًا مع استنساخ المستودع | تنتقل تلقائيًا مع استنساخ المستودع |
| دعم الصيغة القديمة | غير منطبق | ما يزال .cursorrules يعمل لكن بوصفه صيغة قديمة | غير منطبق |
يتيح لك هذا النهج متعدد المستويات تحسين استهلاك التوكنات مع الحفاظ على توجيه ثابت وفعّال في سيناريوهات العمل المختلفة.
دليل عملي خطوة بخطوة لتطبيق قواعد مشروع Cursor في سير عملك
بعد أن شرحت الفكرة النظرية وراء هذا النهج، لننتقل إلى كيفية بناء نظام مشابه في عملك اليومي.
إعداد القواعد العامة في Cursor لمساعدة الذكاء الاصطناعي
لإعداد قواعدك العامة في Cursor IDE:
- افتح Cursor IDE وانتقل إلى الإعدادات من الزر الموجود في أعلى اليمين
- اذهب إلى
Cursor Settings > Rules for AI - أضف إرشاداتك الأساسية ضمن بنية واضحة مثل التي عرضتها أعلاه
- أبقِ القواعد العامة محصورة في معايير الترميز التي تنطبق على جميع المشاريع
- اختبرها باستخدام طلبات بسيطة لترى كيف يستجيب الذكاء الاصطناعي لتعليماتك
إدارة الإعدادات المحلية في Cursor IDE بكفاءة
المفتاح هنا هو التوازن: إذا كانت القواعد قليلة جدًا فلن يفهم الذكاء الاصطناعي تفضيلاتك، وإذا كانت كثيرة جدًا فستهدر التوكنات على سياق لا حاجة إليه.
ومن المهم أيضًا أن تعرف أن هذه الإعدادات محفوظة محليًا داخل نسخة Cursor IDE الموجودة على جهازك. لن يراها زملاؤك ما لم يضبطوها هم أيضًا على أجهزتهم. وإذا كنت تستخدم Cursor IDE على أكثر من جهاز، مثل جهاز شخصي وآخر للعمل، فستحتاج إلى إعداد هذه القواعد يدويًا في كل نسخة.
إنشاء ملفات .cursor/index.mdc على مستوى المستودع لفرق المشروع
فيما يخص الإعداد على مستوى المشروع:
- أنشئ ملف
.cursor/index.mdcداخل المستودع - اضبط نوع القاعدة على
Alwaysمن داخل واجهة Cursor، أو حدده يدويًا في الملف - ابدأ بملخص سريع عن المشروع، مثل وظيفة المشروع والمكدس التقني
- وثّق الأنماط المعمارية التي ينبغي أن يفهمها الذكاء الاصطناعي
- أضف اتفاقيات الشفرة الخاصة بهذا المشروع
- حاول أن يبقى الملف تحت 100 سطر لتحسين استهلاك التوكنات
ملاحظة: ملفات .cursorrules القديمة ما تزال تعمل، لكنها لم تعد الخيار الموصى به.
قالب مختصر لقواعد مشروع Cursor على مستوى المستودع
إليك قالبًا بسيطًا للبداية:
# Project: [Project Name]
## Overview
- Purpose: [Brief description]
- Stack: [Key technologies]
- Architecture: [Key pattern - MVC, microservices, etc.]
## Code Patterns
- [List project-specific patterns]
## Style Requirements
- [Project-specific style guidelines]
بناء ملفات قواعد .mdc مرتبطة بالسياق للمهام المتخصصة
إذا أردت مستوى أكثر تقدمًا من الإعداد:
- أنشئ المجلد
.cursor/rules/داخل المستودع - أضف ملفات
.mdcمخصصة لسياقات مختلفة - سمِّ الملفات بطريقة وصفية تعبّر عن الغرض منها
- احرص على أن يركّز كل ملف على جانب واحد فقط
- أضف وصفًا موجزًا في أعلى كل ملف ليساعد الذكاء الاصطناعي على فهم متى ينبغي تطبيق هذه القواعد
إنشاء القواعد يدويًا أم عبر واجهة Cursor IDE؟
يمكنك إنشاء هذه الملفات يدويًا، أو عبر واجهة Cursor IDE:
- اذهب إلى
Settings > Rules - انقر على
Add Rule - أدخل اسمًا ووصفًا للقاعدة
- أضف محتوى القاعدة المخصص
- احفظ القاعدة، وسيقوم Cursor بإنشاء ملف
.mdcالمناسب داخل المستودع
كلتا الطريقتين فعالتان. يمنحك الإنشاء اليدوي تحكمًا أكبر في بنية الملف، بينما توفّر واجهة Cursor تجربة أكثر توجيهًا.
مثال على ملف قواعد Cursor خاص بتطوير React
على سبيل المثال، قد يبدو ملف قواعد مكونات React على هذا النحو:
# React Component Guidelines
These rules apply when working with React components in this project.
## Component Structure
- Functional components with TypeScript interfaces for props
- Custom hooks for complex state management
- Styled components for styling
## Naming Conventions
- Component files: PascalCase.tsx
- Hook files: use[Name].ts
- Style files: [name].styles.ts
فوائد ملموسة لاستخدام قواعد مشروع Cursor في البرمجة بمساعدة الذكاء الاصطناعي
بعد تطبيق هذا النظام متعدد المستويات، لاحظت تحسينات عملية وواضحة في أكثر من جانب.
تحسن جودة الشفرة من خلال قواعد Cursor المتسقة
أول فائدة شعرت بها كانت اتساق جودة الشفرة. فعندما أضمّن تفضيلاتي داخل قواعد المشروع، ينتج الذكاء الاصطناعي شفرة:
- تلتزم بمبادئ البرمجة الوظيفية باستمرار
- تطبق معالجة مناسبة للأخطاء من دون حاجة إلى تذكير متكرر
- تضيف تعريفات أنواع مناسبة من دون تذكير دائم
- تحافظ على اتفاقيات تسمية متسقة في جميع أجزاء المشروع
ويترجم هذا إلى عدد أقل من ملاحظات المراجعة ووقت أقل يُهدر في إصلاحات الأسلوب. ففي أحد المشاريع انخفض عدد تعليقات المراجعة المرتبطة بالأسلوب في طلبات السحب بنسبة 50% بعد تطبيق هذه القواعد.
تحسين تعاون الفريق عبر قواعد مشتركة لمشروع Cursor
عند العمل ضمن فريق، تخلق هذه القواعد فهمًا مشتركًا:
- يفهم أعضاء الفريق الجدد التوقعات بسرعة من خلال ملف القواعد الموجود في المستودع
- يتحسن التعاون بين التخصصات لأن المهندسين وغير المهندسين يستطيعون الرجوع إلى المرجعية نفسها
- يحدث نقل المعرفة تلقائيًا لأن الذكاء الاصطناعي يطبّق أفضل الممارسات بشكل متسق
وقد وجدت هذا مفيدًا جدًا عند تأهيل المطورين المبتدئين، لأنهم يحصلون على ملاحظات فورية حول أفضل الممارسات بدلًا من انتظار مراجعة الشفرة.
مكاسب إنتاجية من تحسين التفاعل مع الذكاء الاصطناعي في Cursor IDE
الأرقام هنا معبّرة بوضوح:
- انخفاض بنحو 60% في الوقت الذي يُصرف على شرح معايير الشفرة لأعضاء الفريق الجدد
- تسريع أولي لطلبات السحب بنحو 35% مع عدد أقل من دورات المراجعة
- انخفاض بنحو 40% في
commitsالمخصصة فقط لإصلاحات الأسلوب داخل سجل git
لكن المقياس الأهم بالنسبة إلي كان الطاقة الذهنية المتاحة. فعندما يتولى الذكاء الاصطناعي الاهتمام بمسائل الأسلوب، يستطيع المطور التركيز على حل المشكلة نفسها بدلًا من استنزاف انتباهه في قواعد التنسيق.
تقنيات متقدمة لقواعد مشروع Cursor للمطورين المحترفين
بعد أن تصبح مرتاحًا مع البنية الأساسية للقواعد، يمكنك استخدام تقنيات أكثر تقدمًا لتحسين تجربة العمل مع الذكاء الاصطناعي.
قواعد متخصصة لمهام شائعة في التطوير
وجدت أن ملفات القواعد المتخصصة فعالة جدًا في سيناريوهات مثل:
قواعد الاختبار (test-guidelines.mdc)
- احترم استراتيجية الاختبار الحالية في المستودع ومجموعة الاختبارات الموجودة
- فضّل اختبارات التكامل والاختبارات الشاملة من البداية إلى النهاية واختبارات التحقق السريعة على إضافة اختبارات وحدات جديدة
- استخدم اختبارات الوحدات نادرًا، وبالدرجة الأولى مع مجموعات البيانات المستقرة أو تحويلات البيانات النقية
- لا تضف اختبارات وحدات فقط لرفع أرقام التغطية
- تجنّب استخدام
mocksعندما تكون الاستدعاءات الحقيقية عملية - غالبًا ما يكون من الأفضل إنفاق قدر بسيط على الاستدعاءات الحقيقية بدلًا من بناء اختبارات هشة قائمة على
mocks - حدّد الحد الأدنى فقط من التغطية المطلوبة للمهمة الحالية
قواعد تكامل API (api-standards.mdc)
- متطلبات معالجة الأخطاء
- أنماط إعادة المحاولة
- معايير تدفق المصادقة
قواعد إدارة الحالة (state-patterns.mdc)
- اتفاقيات تسمية إجراءات
Redux - إرشادات تطبيع الحالة
- أنماط التعامل مع الآثار الجانبية
وعند فصل هذه الجوانب في ملفات مستقلة، يبقى كل ملف مركزًا، ولا يُفعَّل إلا حين يكون ملائمًا للمهمة الحالية.
تحسين استهلاك التوكنات داخل قواعد مشروع Cursor
لتحقيق أفضل استفادة من نافذة السياق:
- أعطِ الأولوية للأهم: ضع القواعد الأكثر أهمية في بداية الملف أو نهايته
- استخدم بنية هرمية: ابدأ بالمبادئ العامة ثم انتقل إلى التفاصيل
- أزل التكرار: لا تكرر القاعدة نفسها في أكثر من موضع
- اكتب بإيجاز: استخدم نقاطًا مختصرة بدل الفقرات الطويلة
- استفد من تنسيق Markdown: استخدم العناوين لتقسيم فئات القواعد بوضوح
وكقاعدة تقريبية، إذا تجاوز ملف القواعد 100 سطر، فغالبًا أنه يحاول أن يفعل أكثر من اللازم، ومن الأفضل تقسيمه إلى ملفات أكثر تركيزًا.
معالجة المشكلات الشائعة في قواعد مشروع Cursor
إذا لم تعطِ القواعد النتائج التي تتوقعها:
- تعارض القواعد: تأكد من عدم وجود تعليمات متناقضة بين المستويات المختلفة
- عمومية مفرطة: اجعل القواعد أكثر تحديدًا بإضافة أمثلة ملموسة
- تخصيص مفرط: القواعد الضيقة جدًا قد لا تصلح لسيناريوهات مشابهة
- قيود التوكنات: إذا كانت القواعد تُقتطع، فرتّبها حسب الأولوية واختصرها
- نقص السياق: قد يحتاج الذكاء الاصطناعي إلى سياق إضافي من الملفات ليطبّق القواعد بشكل صحيح
- تكدّس القواعد: عندما تظهر قواعد كثيرة جدًا في الحوار نفسه، يجد النموذج صعوبة في تذكّرها واتباعها كلها في وقت واحد، لذا أعطِ الأولوية للأهم
ومن واقع التجربة، فإن مراجعة الشفرة الناتجة على ضوء هذه القواعد ثم تحسينها تدريجيًا تؤدي إلى تحسن مستمر في جودة المساعدة التي يقدمها الذكاء الاصطناعي.
Cursor IDE مقارنةً بمساعدي البرمجة الآخرين المعتمدين على الذكاء الاصطناعي
مع أن Cursor يقدّم نظامًا مصممًا بعناية لإدارة القواعد، فإن أدوات أخرى توفر أيضًا وسائل مشابهة للتخصيص:
- يوفّر GitHub Copilot ملف
.github/copilot/settings.ymlللإعداد على مستوى المشروع - يوفّر JetBrains AI Assistant مقتطفات وقوالب على مستوى المشروع
- يدعم VS Code مع إضافات الذكاء الاصطناعي المختلفة إعدادات مساحة العمل وملفات التخصيص
ملاحظة: يوضّح انتقال Cursor من .cursorrules بوصفها صيغة قديمة إلى .cursor/index.mdc مع النوع Always كيف تستمر هذه الأنظمة في التطور نحو مرونة وتنظيم أفضل.
اقتصاد التوكنات: كيف تعظّم أداء الذكاء الاصطناعي عبر مختلف الأدوات
ما يجمع كل هذه الأساليب هو مبدأ أساسي واحد: تقليل استهلاك التوكنات ضروري للحصول على أفضل النتائج. وبغض النظر عن أداة البرمجة بالذكاء الاصطناعي التي تستخدمها، فإن تقديم مقدار كافٍ من السياق من دون إغراق النموذج هو مفتاح النجاح.
اقتصاد التوكنات يعمل بالطريقة نفسها عبر جميع الأدوات المعتمدة على نماذج اللغة:
- كل كلمة تضيفها إلى التعليمات تستهلك توكنات
- التوكنات المستخدمة في التعليمات تقلل من المساحة المتاحة لفهم الشفرة
- الإرشادات المفرطة في الطول تؤدي إلى عوائد متناقصة
لذلك، سواء كنت تستخدم نظام Cursor ثلاثي المستويات أو خيارات التخصيص في أداة أخرى، حاول دائمًا أن تكون دقيقًا وموجزًا. ركّز على الأنماط والتفضيلات التي تهم فعلًا، واترك للذكاء الاصطناعي مهمة التعامل مع الباقي.
الميزة الحقيقية ليست في الأداة التي تقدم عددًا أكبر من خيارات التخصيص، بل في مدى حسن استخدامك لهذه الخيارات للتعبير عن توقعاتك من دون إهدار التوكنات على تفاصيل غير لازمة.
شرح فيديو: شاهد التطبيق الكامل لقواعد Cursor IDE
إذا كنت تفضّل التعلم بصريًا، فقد أعددت شرحًا مرئيًا شاملًا يعرض التطبيق الكامل لهذا النظام ثلاثي المستويات:
يغطي الفيديو ما يلي:
- إعداد القواعد العامة في إعدادات Cursor IDE
- إنشاء ملفات
.cursorrulesعلى مستوى المستودع مع أمثلة عملية - تطبيق ملفات
.cursor/rules/*.mdcالمرتبطة بالسياق للمهام المتخصصة - شرح كيفية تكامل كل مستوى مع الآخر لتحسين أداء المساعد الذكي
- استعراض المشكلات الشائعة وكيفية تحسين استهلاك التوكنات
سترى سير العمل كاملًا أثناء التطبيق، من الإعداد الأولي حتى البنية متعددة المستويات الأكثر تقدمًا التي تغيّر طريقة تعاونك مع مساعدي الذكاء الاصطناعي.
إذا أردت أيضًا مقالات مماثلة عن مساعدين برمجيين آخرين، فستجدها هنا:
- قواعد Claude Code للذكاء الاصطناعي: https://kirill-markin.com/articles/claude-code-rules-for-ai/
- قواعد Codex للذكاء الاصطناعي: https://kirill-markin.com/articles/codex-rules-for-ai/






