تجاهل الملفات (.bobignore)
تحكم في الملفات التي يمكن لـ Bob الوصول إليها عبر إنشاء ملف `.bobignore` في مشروعك.
ما هو .bobignore؟
- الغرض: حماية المعلومات الحساسة ومنع التغييرات العرضية على artifacts البناء أو الأصول الكبيرة، وتحديد النطاق التشغيلي لـ Bob داخل مساحة العمل.
- كيفية الاستخدام: أنشئ ملفاً باسم
.bobignoreفي مجلد مساحة العمل. اسرد الأنماط في هذا الملف لإخبار Bob بالملفات والمجلدات التي يجب تجاهلها.
يراقب Bob بنشاط ملف .bobignore. أي تغييرات تجريها تُعاد الآن تلقائياً، مما يضمن أن Bob يستخدم دائماً أحدث القواعد. يُتجاهل ملف .bobignore نفسه دائماً ضمنياً، لذا لا يمكن لـ Bob تغيير قواعد وصوله الخاصة.
صياغة الأنماط
صياغة .bobignore مطابقة لـ .gitignore. إليك أمثلة شائعة:
| مثال | الوصف |
|---|---|
node_modules/ | تجاهل مجلد node_modules بأكمله |
*.log | تجاهل جميع الملفات المنتهية بـ .log |
config/secrets.json | تجاهل ملف محدد |
!important.log | استثناء؛ Bob لن يتجاهل هذا الملف المحدد حتى لو كان نمط أوسع مثل *.log موجوداً |
build/ | تجاهل مجلد build |
docs/**/*.md | تجاهل جميع ملفات Markdown في مجلد docs وأدلته الفرعية |
للاطلاع على الصياغة، راجع توثيق Git الرسمي حول .gitignore.
كيف تتفاعل أدوات Bob مع .bobignore
تُطبَّق قواعد .bobignore عبر أدوات Bob المختلفة:
التطبيق الصارم (القراءة والكتابة)
تتحقق هذه الأدوات مباشرةً من .bobignore قبل أي عملية على الملف. إذا كان الملف متجاهلاً، تُحظر العملية:
read_file: لن يقرأ الملفات المتجاهلة.write_file: لن يكتب في الملفات المتجاهلة أو ينشئ ملفات جديدة متجاهلة.apply_diff: لن يطبق diffs على الملفات المتجاهلة.GetSymbolsOverview: لن يُحلّل الملفات المتجاهلة للرموز البرمجية.
أدوات تحرير الملفات (تجاوز كتابة محتمل)
تستخدم أدوات insert_content وsearch_and_replace مكوّناً داخلياً لإدارة التغييرات.
مهم: حالياً، عملية الكتابة النهائية التي تؤديها هذه الأدوات قد تتجاوز قواعد .bobignore. بينما قد تُحظر محاولات القراءة الأولية، إجراء الحفظ نفسه ليس له فحص صريح.
اكتشاف الملفات وسردها
- أداة
list_files: عند سرد Bob للملفات، تُحذف الملفات المتجاهلة عادةً أو تُعلَّم برمز 🔒. - تفاصيل البيئة: المعلومات حول مساحة العمل المُقدَّمة لـ Bob تُصفَّى لاستثناء العناصر المتجاهلة أو تعليمها.
تنفيذ الأوامر
- أداة
execute_command: تتحقق هذه الأداة مما إذا كان أمر (من قائمة محددة مسبقاً مثلcatأوgrep) يستهدف ملفاً متجاهلاً. إذا كان كذلك، يُحظر تشغيل الأمر.
القيود الرئيسية والنطاق
- مركزي على مساحة العمل: تنطبق قواعد
.bobignoreفقط على الملفات والمجلدات داخل جذر مساحة عمل Bob الحالية. الملفات خارج هذا النطاق غير متأثرة. - خصوصية
execute_command: الحماية لـexecute_commandمحدودة بقائمة محددة مسبقاً من أوامر قراءة الملفات. - عمليات الكتابة عبر
insert_contentوsearch_and_replace: كما هو مذكور، هذه الأدوات قد تكون قادرة على الكتابة في الملفات المتجاهلة. - ليست sandbox كاملاً:
.bobignoreأداة قوية للتحكم في وصول Bob إلى الملفات عبر أدواته، لكنها لا تنشئ sandbox على مستوى النظام.
تجربة المستخدم والإشعارات
- تلميح بصري (🔒): في سرد الملفات، قد تُعلَّم الملفات المتجاهلة برمز قفل (🔒).
- رسائل الخطأ: إذا حُظرت عملية أداة، يتلقى Bob خطأً:
"الوصول إلى [file_path] محظور بإعدادات ملف .bobignore. يجب المحاولة للمتابعة في المهمة دون استخدام هذا الملف، أو طلب من المستخدم تحديث ملف .bobignore." - إشعارات المحادثة: ستتلقى عادةً إشعاراً في واجهة محادثة Bob عندما يُحظر إجراء بسبب
.bobignore.