استخدام 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/. Runprecc updateto 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و…) هي الخطوة التالية المخطط لها.