الإعداد

القواعد المخصصة

تؤثر القواعد المخصصة على كيفية استجابة Bob لطلباتك، مما يوافق المخرجات مع تفضيلاتك المحددة ومتطلبات مشروعك.

ما هي القواعد المخصصة؟

القواعد المخصصة تُوسّع السلوك الافتراضي لـ Bob بتحديد التفضيلات والقيود والإرشادات التي توجّه كيفية تعامل Bob مع المهام.

الاستخدامات الشائعة:

  • تفضيلات أسلوب البرمجة (المسافة البادئة وأعراف التسمية)
  • تنسيقات ومعايير التوثيق
  • منهجيات ومتطلبات الاختبار
  • سير عمل وعمليات المشروع
  • الأعراف الخاصة بالفريق

إضافة قواعد مخصصة لوضع

يمكنك إضافة قواعد مخصصة للأوضاع بطريقتين:

عبر واجهة المستخدم

هيّئ القواعد التي تنطبق على جميع مشاريعك:

  1. انقر على النقاط الثلاث في الزاوية العلوية اليمنى من الشريط الجانبي لـ Bob.
  2. انقر على Modes.
  3. اختر الوضع الذي تريد تعديل قواعده.
  4. انقر على Edit.
  5. مرّر للأسفل إلى Mode-specific custom instructions (optional).
  6. اكتب قواعدك.
  7. انقر على Save.

عبر ملفات قواعد خاصة بالوضع

يمكن للأوضاع أيضاً امتلاك ملفات قواعد إضافية مخزنة في مجلدات ضمن .bob/rules-{mode-slug}/:

01-style-guide.md
02-formatting.txt

تُحمَّل الملفات في المجلد أبجدياً وتُدمج مع خاصية customInstructions من تهيئة وضعك. للمزيد من التفاصيل، راجع الأوضاع المخصصة.

نطاقات القواعد

يدعم Bob نطاقين للقواعد:

  • القواعد العامة: تنطبق تلقائياً على جميع مشاريعك
  • قواعد مساحة العمل: تنطبق فقط داخل مشروعك الحالي

استخدم القواعد العامة للمعايير الشخصية أو على مستوى المؤسسة. استخدم قواعد مساحة العمل للمتطلبات الخاصة بالمشروع.

طرق التهيئة

التهيئة القائمة على المجلدات

استخدم مجلدات ضمن .bob/ في جذر مساحة العمل:

هيكل مساحة العمل:

coding-style.md
typescript.md
  • rules/ - قواعد عامة لجميع الأوضاع
  • rules-agent/ - قواعد خاصة بوضع Agent

الهيكل العام:

Linux/macOS: ~/.bob/rules/ Windows: %USERPROFILE%\.bob\rules\

أنشئ قواعد مساحة العمل:

mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.md

أنشئ قواعد عامة:

# Linux/macOS
mkdir -p ~/.bob/rules
echo "# Global standards" > ~/.bob/rules/coding-standards.md

# Windows
mkdir %USERPROFILE%\.bob\rules
echo # Global standards > %USERPROFILE%\.bob\rules\coding-standards.md

أولوية القواعد

يدمج Bob القواعد من مصادر متعددة بالترتيب التالي:

  1. القواعد العامة (~/.bob/rules/)
  2. قواعد مساحة العمل (.bob/rules/)

ضمن كل مستوى، تُحمّل القواعد الخاصة بالوضع قبل القواعد العامة. ويمكن لقواعد مساحة العمل تجاوز القواعد العامة.

كتابة قواعد فعّالة

كن محددًا وقابلًا للتنفيذ

جيد: "Use 4 spaces for indentation in JavaScript files"

تجنّب: "Format code nicely"

استخدم بنية واضحة

نظّم القواعد حسب الموضوع:

# Code Style
- Use camelCase for variables
- Use PascalCase for classes

# Testing
- Write unit tests for all public functions
- Use Jest for testing framework

# Documentation
- Add JSDoc comments for public APIs

أمثلة على قواعد فعّالة

  • "Always use spaces for indentation, with a width of 4 spaces"
  • "Use camelCase for variable names"
  • "Write unit tests for all new functions"
  • "Explain your reasoning before providing code"
  • "When adding features to websites, ensure they are responsive and accessible"

تهيئة متقدمة

قواعد خاصة بالوضع

استهدف أوضاعًا محددة عبر مجلدات مخصصة:

الدليلالغرض
rules/قواعد عامة لكل الأوضاع
rules-agent/وضع Agent فقط
rules-plan/وضع Plan فقط
rules-ask/وضع Ask فقط
rules-{mode}/أي وضع مخصص

استخدام ملفات AGENTS.md

لتوحيد العمل داخل الفريق، يمكنك استخدام ملف AGENTS.md في جذر مساحة العمل:

# Team Standards
- Follow company coding guidelines
- Use approved libraries only
- Document all API changes

تفاصيل مهمة:

  • يُحمّل تلقائيًا بشكل افتراضي.
  • ضعه تحت version control مع مشروعك.
  • عطّل تحميله بواسطة "bob-code.useAgentRules": false في الإعدادات.
  • يُحمّل بعد القواعد الخاصة بالوضع وقبل قواعد مساحة العمل العامة.

سلوك الملفات

  • القراءة المتكررة: يقرأ Bob جميع الملفات في أدلة القواعد، بما فيها الأدلة الفرعية.
  • الترتيب الأبجدي: تُعالج الملفات بالترتيب الأبجدي لاسم الملف.
  • التصفية التلقائية: يستبعد ملفات cache (.DS_Store و*.bak و*.cache و*.log و*.tmp وThumbs.db).
  • الروابط الرمزية: مدعومة حتى عمق أقصى قدره 5.
  • الملفات الفارغة: تُتخطى بصمت.

توحيد العمل داخل الفريق

معايير على مستوى المشروع

استخدم أدلة .bob/rules/ في مساحة العمل تحت version control:

# Add to version control
git add .bob/rules/
git commit -m "Add Bob custom rules"

يضمن ذلك سلوكًا متسقًا لأعضاء الفريق في المشاريع المحددة.

معايير على مستوى المؤسسة

وزّع القواعد العامة على أعضاء الفريق:

  1. أنشئ repository مشتركًا للقواعد.
  2. يستنسخ أعضاء الفريقه إلى ~/.bob/rules/.
  3. حدّثه دوريًا للحفاظ على الاتساق.

نهج مختلط

يمكنك جمع النهجين:

  • القواعد العامة لمعايير المؤسسة.
  • قواعد مساحة العمل لمتطلبات المشروع المحددة.
  • تتجاوز قواعد مساحة العمل القواعد العامة عند الحاجة.

مثال على القواعد المخصصة

## أسلوب البرمجة
- استخدم مسافتين للمسافة البادئة في ملفات TypeScript
- استخدم أسماء متغيرات وصفية
- أضف تعليقات لجميع الدوال العامة

## التوثيق
- اكتب التوثيق باللغة الإنجليزية
- أضف تعليقات JSDoc لجميع الوظائف العامة

## الاختبار
- اكتب اختبارات وحدة لجميع الوظائف الجديدة
- حقق من نسبة تغطية اختبار 80% على الأقل
ما رأيك في هذا الموضوع؟