Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

استخدام PRECC مع Cursor

تم بناء PRECC باعتباره خطاف PreToolUse من أجل Claude Code، غير أن مكتبة المهارات الكامنة وراءه — cargo-wrong-dir وgit-wrong-dir وnpm-wrong-dir وjj-translate ورفاقها — مستقلة عن المحرر. باستخدام مقتطف صَدَفة صغير يمكنك توجيه كل أمر تكتبه في الطرفية المدمجة لـ Cursor عبر precc-hook كي تستفيد نفس عمليات إعادة الكتابة التي توفّر الرموز (tokens) على Claude Code من توفيرها أيضاً على Cursor.

Requires precc ≥ 0.3.45. Earlier versions don’t plant the integration scripts under <data_dir>/integrations/cursor/. Run precc update to upgrade if you have an older release.

ما الذي يشمله

يلتقط التكامل الأوامر التي تكتبها في طرفية Cursor. في zsh يعيد كتابة سطر الأوامر تلقائياً قبل الضغط على Enter؛ أما في bash فلا يستطيع سوى التحذير (إذ يُطلَق فخّ DEBUG بعد اكتمال الأمر). أما الأوامر التي يُطلقها وكيل Cursor باعتبارها عمليات فرعية من نوع bash -c فلا تُحمَّل ضمنها تهيئة الصَدَفة التفاعلية لديك، ولذلك لا يراها الخطاف؛ ويستلزم سدّ هذه الثغرة وسيطاً (shim) عبر PATH، وهو ليس موجوداً في هذا الدليل بعد. كما أن استدعاءات الأدوات غير الصَدَفية في Cursor (تعديلات الملفات والبحث في الشيفرة) تقع خارج النطاق أيضاً.

التثبيت

zsh (إعادة كتابة تلقائية)

source ~/.local/share/precc/integrations/cursor/precc-preexec.zsh

شغّل precc init مرة واحدة — سيقوم بزرع السكربت في المسار أعلاه (يستخدم <data_dir> من تخزين precc، لذا يُحترم CLAUDE_CONFIG_DIR وعزل الملفات الشخصية الأخرى). ثم أضف سطر source إلى ~/.zshrc. يجب أن يكون كل من precc-hook وjq ضمن PATH؛ ويتوقف السكربت بصمت دون أي تأثير إذا كان أحدهما مفقودًا.

bash (تحذير فقط)

source ~/.local/share/precc/integrations/cursor/precc-preexec.bash

شغّل precc init مرة واحدة — سيقوم بزرع السكربت في المسار أعلاه. ثم أضف سطر source إلى ~/.bashrc. يقوم مصيدة DEBUG بطباعة إعادة الكتابة المقترحة إلى stderr دون تطبيقها؛ يمكنك نسخ الاقتراح يدويًا.

التحقق

في طرفية Cursor، نفّذ cd /tmp (في أي مكان خارج مشروع Rust) ثم اكتب أمر بناء بلغة Rust واضغط Enter. في zsh ينبغي أن يتغيّر المخزن المؤقت موضعياً إلى الصورة المعاد كتابتها بواسطة PRECC (وعادةً ما تكون إضافة بادئة على شاكلة cd PATH && …). أما في bash فيُفترض أن ترى في stderr سطراً بصيغة [precc] suggested rewrite: ….

ملاحظات تحفّظية

  • يضيف زمن استجابة precc-hook لكل ضغطة مفتاح. يستهدف الخطاف ما دون 5 ms عند p50، لكن قيمة p99 تكون أعلى عند برودة المخابئ (cold caches)؛ راجع ملاحظات زمن استجابة الخطاف في هذا الكتاب.
  • لا توجد بيانات قياسية (telemetry) من هذا المسار. سيُبلِّغ الخطاف تحت أيٍّ كان agent_class الذي يكتشفه، والذي لن يكون claude-code — لذا فإن توفيراتك على Cursor لن تظهر في صفحة الإحصاءات العامة.
  • يومض سبب إعادة الكتابة عبر zle -M لمدة ضغطة مفتاح واحدة. هادئ، وغير حصري (modal).
  • لتغطية الوكيل، تكون وسائط (shim) عبر PATH (أغلفة في ~/.precc/bin/cargo و~/.precc/bin/git و…) هي الخطوة التالية المخطط لها.