المفاجآت المعروفة
يتتبع هذا الملف نقاط الارتباك الخاصة بالمستودع والتي تسببت في أخطاء الوكيل.
معايير الدخول
أضف إدخالاً فقط إذا كانت جميعها صحيحة:
- إنها خاصة بهذا المستودع (وليست نصيحة عامة).
- من المحتمل أن يتكرر بالنسبة للوكلاء المستقبليين.
- لديها تخفيف ملموس يمكن اتباعه.
إذا كنت غير متأكد، اسأل المطور قبل إضافة إدخال.
قالب الإدخال
### [Short title]
- **Date:** YYYY-MM-DD
- **Observed by:** agent name or contributor
- **Context:** where/when it happened
- **What was surprising:** concrete unexpected behavior
- **Impact:** what went wrong or could go wrong
- **Mitigation:** exact step future agents should take
- **Status:** confirmed | superseded
إدخالات
يقوم Portless بتغيير عنوان URL للتطبيق المحلي الأساسي
- التاريخ: 18-03-2026
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: التحقق من المتصفح وتدفق الدخان
- ما كان مفاجئًا: عنوان URL المحلي الافتراضي ليس هو منفذ Vite المعتاد. يتوقع الريبو
https://bitsocial.localhostمن خلال Portless، لذا فإن التحقق منlocalhost:3000أوlocalhost:5173يمكن أن يؤدي إلى التطبيق الخاطئ أو لا شيء على الإطلاق. - التأثير: يمكن أن تفشل عمليات فحص المتصفح أو تتحقق من صحة الهدف الخاطئ حتى عندما يكون خادم التطوير سليمًا.
- التخفيف: استخدم
https://bitsocial.localhostأولاً. يمكنك تجاوزه فقط باستخدامPORTLESS=0 corepack yarn startعندما تحتاج بشكل صريح إلى منفذ Vite مباشر. - الحالة: مؤكد
تعمل خطافات الالتزام على حظر الالتزامات غير التفاعلية
- التاريخ: 18-03-2026
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: سير عمل الالتزام الذي يحركه الوكيل
- ما كان مفاجئًا: يقوم
git commitبتشغيل Commitizen من خلال Husky وينتظر إدخال TTY التفاعلي، الذي يعلق أصداف الوكيل غير التفاعلية. - التأثير: يمكن للوكلاء المماطلة إلى أجل غير مسمى خلال ما ينبغي أن يكون التزامًا عاديًا.
- التخفيف: استخدم
git commit --no-verify -m "message"للالتزامات التي أنشأها الوكيل. لا يزال بإمكان البشر استخدامcorepack yarn commitأوcorepack yarn exec cz. - الحالة: مؤكد
مطلوب Corepack لتجنب الغزل الكلاسيكي
- التاريخ: 2026-03-19
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: ترحيل مدير الحزم إلى Yarn 4
- ما كان مفاجئًا: لا يزال الجهاز يحتوي على تثبيت عالمي لـ Yarn Classic على
PATH، لذلك يمكن أن يؤدي تشغيلyarnالعادي إلى الإصدار v1 بدلاً من إصدار Yarn 4 المثبت. - التأثير: يمكن للمطورين تجاوز تثبيت مدير الحزم الخاص بمستودع الريبو عن طريق الخطأ والحصول على سلوك تثبيت مختلف أو إخراج ملف قفل.
- التخفيف: استخدم
corepack yarn ...لأوامر shell، أو قم بتشغيلcorepack enableأولاً بحيث يتم حلyarnبشكل عادي مع إصدار Yarn 4 المثبت. - الحالة: مؤكد
تتعارض أسماء التطبيقات التي لا تحتوي على منفذ والتي تم إصلاحها عبر أشجار عمل Bitsocial Web
- التاريخ: 2026-03-30
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: بدء
yarn startفي شجرة عمل Bitsocial Web بينما كانت شجرة عمل أخرى تخدم بالفعل من خلال Portless - ما كان مفاجئًا: استخدام اسم التطبيق الحرفي
bitsocialفي كل شجرة عمل يجعل المسار نفسه يتعارض، حتى عندما تكون منافذ الدعم مختلفة، لذلك تفشل العملية الثانية لأنbitsocial.localhostمسجل بالفعل. - التأثير: يمكن لفروع ويب Bitsocial المتوازية أن تحظر بعضها البعض على الرغم من أن Portless يهدف إلى السماح لها بالتعايش بأمان.
- التخفيف: حافظ على بدء التشغيل بدون منفذ خلف
scripts/start-dev.mjs، والذي يستخدم الآن مسار*.bitsocial.localhostعلى نطاق فرعي خارج الحالة الأساسية ويعود إلى مسار على نطاق فرعي عندما يكون اسمbitsocial.localhostالمجرد مشغولًا بالفعل. - الحالة: مؤكد
يتم استخدام معاينة المستندات للمنفذ الثابت رقم 3001
- التاريخ: 2026-03-30
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- ** السياق: ** تشغيل
yarn startجنبًا إلى جنب مع اتفاقيات إعادة الشراء والوكلاء المحليين الآخرين - ما كان مفاجئًا: قام أمر root dev بتشغيل مساحة عمل المستندات باستخدام
docusaurus start --port 3001، لذلك فشلت جلسة التطوير بأكملها عندما كانت عملية أخرى مملوكة بالفعل لـ3001، على الرغم من أن التطبيق الرئيسي يستخدم Portless بالفعل. - التأثير: قد يؤدي
yarn startإلى إيقاف عملية الويب فورًا بعد تشغيلها، مما يؤدي إلى مقاطعة العمل المحلي غير ذي الصلة عبر تصادم منفذ المستندات. - التخفيف: حافظ على بدء تشغيل المستندات خلف
yarn start:docs، والذي يستخدم الآن Portless بالإضافة إلىscripts/start-docs.mjsلاحترام منفذ مجاني تم حقنه أو الرجوع إلى المنفذ التالي المتاح عند التشغيل مباشرة. - الحالة: مؤكد
كان اسم المضيف الذي تم إصلاحه في المستندات غير المحمولة مشفرًا بشكل ثابت
- التاريخ: 2026-04-03
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: تشغيل
yarn startفي شجرة عمل Bitsocial Web الثانوية بينما كانت شجرة عمل أخرى تقدم المستندات بالفعل من خلال Portless - ما كان مفاجئًا: لا يزال
start:docsيسجل اسم المضيفdocs.bitsocial.localhostالحرفي، لذا قد يفشلyarn startعلى الرغم من أن التطبيق about يعرف بالفعل كيفية تجنب تصادمات المسار غير المنفذ لاسم المضيف الخاص به. - التأثير: لم تتمكن أشجار العمل المتوازية من استخدام أمر root dev بشكل موثوق لأن عملية المستندات خرجت أولاً ثم قام
concurrentlyبإنهاء بقية الجلسة. - التخفيف: حافظ على بدء تشغيل المستندات خلف
scripts/start-docs.mjs، والذي يستمد الآن نفس اسم المضيف Portless على نطاق الفرع مثل التطبيق about ويدخل عنوان URL العام المشترك هذا في هدف وكيل التطوير/docs. - الحالة: مؤكد
يمكن أن تفوت قذائف Worktree إصدار العقدة المثبتة في الريبو
- التاريخ: 2026-04-03
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: تشغيل
yarn startفي أشجار عمل Git مثل.claude/worktrees/*أو عمليات سحب شجرة العمل الشقيقة - ما كان مفاجئًا: قامت بعض أغلفة شجرة العمل بحل
nodeوyarn nodeإلى Homebrew Node25.2.1على الرغم من أن دبابيس الريبو22.12.0في.nvmrc، لذلك يمكن لـyarn startتشغيل مشغلات التطوير بصمت في وقت التشغيل الخاطئ. - التأثير: يمكن أن ينجرف سلوك خادم المطورين بين منطقة الدفع الرئيسية وأشجار العمل، مما يجعل من الصعب إعادة إنتاج الأخطاء وانتهاك سلسلة أدوات Node 22 المتوقعة من الريبو.
- التخفيف: احتفظ بمشغلات التطوير خلف
scripts/start-dev.mjsوscripts/start-docs.mjs، والتي يتم الآن إعادة تنفيذها ضمن العقدة الثنائية.nvmrcعندما يكون Shell الحالي على الإصدار الخاطئ. يجب أن يظل إعداد Shell يفضلnvm use. - الحالة: مؤكد
يمكن لبقايا docs-site/ إخفاء مصدر المستندات المفقود بعد إعادة البناء
- التاريخ: 2026-04-01
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: تنظيف monorepo بعد الدمج بعد نقل مشروع Docusaurus من
docs-site/إلىdocs/ - ما كان مفاجئًا: يمكن أن يظل مجلد
docs-site/القديم على القرص بملفات قديمة ولكن مهمة مثلi18n/، حتى بعد نقل الريبو المتعقب إلىdocs/. وهذا يجعل عملية إعادة البناء تبدو مكررة محليًا ويمكن أن تخفي حقيقة أن ترجمات المستندات المتعقبة لم يتم نقلها فعليًا إلىdocs/. - التأثير: يمكن للوكلاء حذف المجلد القديم باعتباره "غير هام" وفقدان النسخة المحلية الوحيدة من ترجمات المستندات عن طريق الخطأ، أو الاستمرار في تحرير البرامج النصية التي لا تزال تشير إلى مسار
docs-site/الميت. - التخفيف: تعامل مع
docs/باعتباره مشروع المستندات الأساسي الوحيد. قبل حذف أي بقاياdocs-site/المحلية، قم باستعادة المصدر المتعقب مثلdocs/i18n/وقم بتحديث البرامج النصية والخطافات لإيقاف الإشارة إلىdocs-site. - الحالة: مؤكد
يمكن أن تؤدي معاينة المستندات متعددة اللغات إلى زيادة ذاكرة الوصول العشوائي (RAM) أثناء التحقق
- التاريخ: 2026-04-01
- ** تمت مراقبته بواسطة: ** الدستور الغذائي
- السياق: إصلاح المستندات i18n والتوجيه المحلي وسلوك البحث عن الصفحات باستخدام
yarn start:docsبالإضافة إلى Playwright - ما كان مفاجئًا: يعمل وضع معاينة المستندات الافتراضي الآن على إنشاء مستندات كاملة متعددة اللغات بالإضافة إلى فهرسة Pagefind قبل العرض، ويمكن أن يستهلك الحفاظ على هذه العملية إلى جانب جلسات Playwright أو Chrome المتعددة ذاكرة الوصول العشوائي (RAM) أكثر بكثير من حلقة Vite العادية أو حلقة تطوير Docusaurus ذات لغة واحدة.
- التأثير: يمكن أن يصبح الجهاز مقيدًا بالذاكرة، ويمكن أن تتعطل جلسات المتصفح، ويمكن أن تؤدي عمليات التشغيل المتقطعة إلى ترك خوادم مستندات قديمة أو متصفحات مقطوعة الرأس مما يؤدي إلى استهلاك الذاكرة.
- التخفيف: بالنسبة إلى عمل المستندات الذي لا يحتاج إلى التحقق من المسار المحلي أو البحث عن صفحة، يفضل
DOCS_START_MODE=live yarn start:docs. استخدم المعاينة الافتراضية متعددة اللغات فقط عندما تحتاج إلى التحقق من صحة المسارات المترجمة أو Pagefind. احتفظ بجلسة Playwright واحدة، وأغلق جلسات المتصفح القديمة قبل فتح جلسات جديدة، وأوقف خادم المستندات بعد التحقق إذا لم تعد بحاجة إليها. - الحالة: مؤكد