الإعداد

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

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

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

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

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

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

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

يدعم Bob Shell نطاقَي قواعد يحددان أين تنطبق قواعدك:

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

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

طرق الإعداد

يستخدم Bob Shell نفس نظام القواعد المخصصة في IBM Bob IDE.

الإعداد القائم على الملفات

أبسط الطرق تستخدم ملفات فردية في جذر مساحة عملك:

  • .bobrules - قواعد عامة لمساحة العمل
  • .bobrules-code - قواعد لوضع Code
  • .bobrules-{modeSlug} - قواعد لأي وضع

أنشئ ملف .bobrules:

# In your project root
echo "Use 4 spaces for indentation" > .bobrules

الإعداد القائم على المجلدات

لتنظيم أفضل، استخدم المجلدات:

بنية مساحة العمل:

.bob/
├── rules/              # General rules
│   └── coding-style.md
└── rules-code/         # Code mode rules
    └── typescript.md

البنية العامة:

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 Shell القواعد من مصادر متعددة بهذا الترتيب:

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

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

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

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

جيد: "استخدم دائمًا المسارات النسبية عند اقتراح عمليات الملفات في الطرفية"

تجنب: "استخدم مسارات جيدة"

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

رتّب القواعد حسب الموضوع:

# Shell Commands
- Prefer using standard Unix commands over specialized tools when possible
- Include explanations of what each flag does

# Script Style
- Format shell script examples with proper error handling
- Use portable shell syntax that works across bash, zsh, and other common shells

# File Operations
- Always check for file existence before operations in shell scripts
- Always use relative paths when suggesting file operations

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

  • "استخدم دائمًا المسارات النسبية عند اقتراح عمليات الملفات في الطرفية"
  • "فضّل استخدام أوامر Unix القياسية على الأدوات المتخصصة قدر الإمكان"
  • "نسّق أمثلة سكريبتات الشل مع معالجة أخطاء مناسبة"
  • "عند اقتراح أوامر، أدرج شرحًا لما تفعله كل علامة"
  • "تحقق دائمًا من وجود الملف قبل العمليات في سكريبتات الشل"
  • "استخدم صيغة شل متوافقة تعمل عبر bash وzsh والأصداف الشائعة الأخرى"

الإعداد المتقدم

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

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

المجلدالغرض
rules/قواعد عامة لجميع الأوضاع
rules-code/وضع Code فقط
rules-plan/وضع Plan فقط
rules-{mode}/أي وضع مخصص

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

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

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

تفاصيل مهمة:

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

سلوك الملفات

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

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

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

استخدم مجلدات .bob/rules/ الخاصة بمساحة العمل تحت نظام التحكم في الإصدار:

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

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

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

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

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

النهج الهجين

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

  • قواعد عامة لمعايير المؤسسة
  • قواعد مساحة العمل للمتطلبات الخاصة بالمشروع
  • قواعد مساحة العمل تتجاوز القواعد العامة عند الحاجة
ما رأيك في هذا الموضوع؟