الميزات

أوامر Slash

أنشئ أوامر slash مخصصة لأتمتة سير العمل وتوحيد ممارسات الفريق.

للبدء، اكتب / في Bob Shell لرؤية جميع الأوامر المتاحة، أو أنشئ أوامرك الخاصة بإضافة ملف markdown إلى .bob/commands/ أو ~/.bob/commands/.

لماذا تستخدم أوامر slash؟

توفر أوامر slash عدة فوائد رئيسية:

  • أتمتة سير العمل: حوّل العمليات المعقدة متعددة الخطوات إلى أوامر منفردة
  • توحيد الفريق: شارك الأوامر عبر فريقك لممارسات متسقة
  • الحفاظ على السياق: أدرج سياق المشروع المحدد في كل أمر
  • الوصول السريع: بحث ضبابي وإكمال تلقائي لاكتشاف الأوامر فورًا

كيف تعمل أوامر slash

عندما تكتب / في Bob Shell، تظهر قائمة بجميع الأوامر المتاحة. تأتي هذه الأوامر من مصدرين:

نوع الأمرالمصدرالغرض
أوامر سير العمل المخصصة.bob/commands/ أو ~/.bob/commands/أتمتة ينشئها المستخدم لمهام محددة
أوامر الوضعالأوضاع المدمجة والمخصصةتبديل السياق التشغيلي لـ Bob

إنشاء أوامر مخصصة

تُوسّع الأوامر المخصصة وظائف Bob بإضافة ملفات markdown إلى مجلدات محددة:

الموقعالنطاقالمسار
خاص بالمشروعمتاح في المشروع الحالي فقط.bob/commands/ في جذر مساحة عملك
عاممتاح في جميع المشاريع~/.bob/commands/ في مجلدك الرئيسي

يصبح اسم الملف اسم الأمر. على سبيل المثال:

.bob/commands/
├── review.md         → /review
├── test-api.md       → /test-api
└── deploy-check.md   → /deploy-check

معالجة اسم الأمر

عند إنشاء الأوامر عبر واجهة المستخدم، يعالج Bob Shell أسماء الأوامر تلقائيًا:

  • التحويل إلى أحرف صغيرة
  • استبدال المسافات بشرطات
  • إزالة الأحرف الخاصة
  • إزالة الشرطات البادئة والخاتمة

مثال: "My Cool Command!" تصبح my-cool-command

تنسيق الأمر الأساسي

أنشئ أمرًا بسيطًا بإضافة ملف markdown:

Help me review this code for security issues and suggest improvements.

أمر متقدم مع frontmatter

أضف بيانات وصفية باستخدام frontmatter لوظائف محسّنة:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

حقول frontmatter

الحقلالغرضمثال
descriptionيظهر في قائمة الأوامر"Create a new API endpoint"
argument-hintيعرض الوسيطات المتوقعة"<endpoint-name> <http-method>"

إدارة الأوامر في Bob Shell

يدعم Bob Shell نفس أوامر slash الموجودة في Bob IDE. بينما لا يوفر Bob Shell واجهة مستخدم مخصصة لإدارة الأوامر، يمكنك:

  1. إنشاء ملفات الأوامر يدويًا في مجلد .bob/commands/ في مشروعك أو ~/.bob/commands/ في مجلدك الرئيسي
  2. تحرير ملفات الأوامر الموجودة بأي محرر نصوص

استخدام أوامر slash

اكتب / في Bob Shell لرؤية قائمة موحدة تحتوي على الأنواع التالية من الأوامر:

  1. القائمة الموحدة: تظهر الأوامر المخصصة وأوامر تبديل الوضع معًا
  2. الإكمال التلقائي: ابدأ الكتابة لتصفية الأوامر (مثل /sam تعرض sample-command-name)
  3. البحث الضبابي: ابحث عن الأوامر حتى بتطابقات جزئية
  4. معاينة الوصف: اطلع على أوصاف الأوامر في القائمة
  5. المؤشرات البصرية: تتميز أوامر الوضع عن الأوامر المخصصة بأيقونات خاصة
/mode code     Switch to Code mode
/mode ask      Switch to Ask mode
/review        Review code for security issues
/api-endpoint  <endpoint-name> <http-method>

تلميحات الوسيطات

توفر تلميحات الوسيطات مساعدة فورية لأوامر slash، تُظهر لك نوع المعلومات المطلوبة عندما يتوقع الأمر مدخلات إضافية.

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

على سبيل المثال:

  • /mode <mode_slug> - يشير التلميح <mode_slug> إلى أنك يجب أن تقدم اسم وضع مثل code أو debug
  • /api-endpoint <endpoint-name> <http-method> - يُظهر أنك تحتاج إلى اسم نقطة نهاية وطريقة HTTP

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

إضافة تلميحات وسيطات للأوامر المخصصة

يمكنك إضافة تلميحات وسيطات لأوامرك المخصصة باستخدام حقل argument-hint في frontmatter:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

سيظهر هذا كـ /api-endpoint <endpoint-name> <http-method> في قائمة الأوامر.

أفضل الممارسات لتلميحات الوسيطات

  • كن محددًا: استخدم عناصر نائبة وصفية مثل <file-path> بدلاً من عامة مثل <arg>
  • أظهر وسيطات متعددة: إذا كان أمرك يحتاج إلى مدخلات متعددة، أظهرها جميعًا: <source> <destination>
  • استخدم تنسيقًا متسقًا: أحط العناصر النائبة دائمًا بأقواس زاوية: <placeholder>
  • اجعله موجزًا: يجب أن تكون التلميحات موجزة وواضحة

أسئلة شائعة حول الوسيطات

السؤالالإجابة
ماذا يحدث إذا لم أقدم الوسيطة؟قد لا يعمل الأمر كما هو متوقع، أو قد يطلب منك المزيد من المعلومات. التلميح موجود لمساعدتك على الصواب من المرة الأولى.
هل لجميع الأوامر تلميحات؟لا، فقط الأوامر المصممة لقبول وسيطات ستمتلك تلميحات. الأوامر التي تعمل دون مدخلات إضافية لن تعرض تلميحات.
هل يمكنني استخدام أمر دون استبدال التلميح؟نص التلميح (مثل <mode_slug>) يجب استبداله بقيم فعلية. ترك نص التلميح سيتسبب على الأرجح في فشل الأمر أو سلوك غير متوقع.

أفضل الممارسات

تسمية الأوامر

  • استخدم أسماء وصفية موجّهة نحو الفعل
  • اجعل الأسماء موجزة لكن واضحة
  • استخدم الشرطات للأوامر متعددة الكلمات
  • تجنب الأسماء العامة مثل help أو test
  • ملاحظة: تُحوَّل الأسماء تلقائيًا (أحرف صغيرة، إزالة أحرف خاصة)
  • يُضاف/يُزال الامتداد .md تلقائيًا حسب الحاجة

محتوى الأمر

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

التنظيم

  • اجمع الأوامر ذات الصلة في مجلدات فرعية
  • استخدم أنماط تسمية متسقة
  • وثّق الأوامر المعقدة
  • ضع الأوامر تحت نظام التحكم في الإصدار
  • شارك أوامر الفريق في مستودع المشروع

استكشاف الأخطاء

الأوامر لا تظهر

إذا لم تظهر أوامرك في القائمة:

  • تحقق من موقع الملف: تأكد من أن ملفات الأوامر المخصصة موجودة في .bob/commands/ أو ~/.bob/commands/
  • تحقق من امتداد الملف: يجب أن تكون الأوامر المخصصة ملفات .md

الأمر غير موجود

عندما لا يُعثر على أمر slash، سيرى LLM:

The slash command '/unknown-command' was not found. Please check the command name and try again.

تعارض الأوامر

  • تتجاوز أوامر المشروع المخصصة الأوامر المخصصة العامة بنفس الاسم
  • استخدم أسماء فريدة لتجنب التعارضات
  • عند إنشاء أسماء مكررة عبر واجهة المستخدم، تُضاف أرقام (مثل new-command-1 وnew-command-2)

حول أوامر الوضع

تتضمن قائمة slash أوامر تبديل الوضع (مثل /mode code و/mode ask) التي تُغيّر بشكل جوهري الوضع التشغيلي للذكاء الاصطناعي — لا تُدرج نصًا فقط بل تبدّل سياق الذكاء الاصطناعي بالكامل. الأوضاع المخصصة التي تنشئها تظهر أيضًا كأوامر slash (مثلاً، وضع بـ slug reviewer يصبح /reviewer). لا يمكن تجاوز أوامر الوضع هذه بأوامر سير العمل المخصصة.

التوافق عبر المنصات

تعمل أوامر slash بنفس الطريقة في كل من Bob Shell وBob IDE. هذا يعني:

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