إنتقل إلى المحتوى الرئيسي

الخطافات: أتمتة حتمية

متقدّم

الخطافات (hooks) هي أوامر صدفة (shell) يشغّلها Claude Code تلقائيًا عند نقاط محددة في دورة حياته. وحيث تقرر الأذونات ما إذا كان الإجراء مسموحًا، تتيح الخطافات لك تشغيل منطق حتمي حوله — تنسيق، وتحقق، وتسجيل، وبوابات. إنها الطريقة التي تجعل بها السلوك مضمونًا بدلًا من "أرجو أن تتذكر."

متى تلجأ إلى خطّاف

  • التنسيق / الفحص (lint) التلقائي بعد كل تحرير ملف (PostToolUse).
  • منع إجراء يخالف قاعدة قبل أن يعمل (PreToolUse).
  • الإشعار أو التسجيل عند انتهاء جلسة أو إنجاز مهمة (Stop).
  • حقن سياق عند بدء الجلسة.

كيف تعمل

تسجّل الخطافات في settings.json، مطابقًا لـحدث (وغالبًا مطابِق أداة matcher). عندما يُطلَق الحدث، يشغّل Claude أمرك ويقرأ نتيجته — يمكن لرمز خروج غير صفري أو مخرَج محدد أن يمنع الإجراء ويعيد رسالة إلى Claude.

{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "npx prettier --write \"$CLAUDE_FILE_PATH\"" }
]
}
]
}
}

يستقبل الخطّاف السياق (مثل مسار الملف، واسم الأداة) عبر البيئة/الإدخال القياسي (stdin) — راجع الوثائق للحمولة المحددة، التي تختلف حسب الحدث.

النموذج الذهني

ممارسات جيدة

  • أبقِ الخطافات سريعة وعديمة الأثر الجانبي (idempotent) — فهي تعمل كثيرًا.
  • أعلِن الفشل بصوت عالٍ عند المشكلات الحقيقية، لكن لا تمنع بسبب مشكلات تجميلية.
  • عامل مخرَج الخطّاف كتغذية راجعة لـ Claude — رسالة واضحة تساعده على التصحيح الذاتي.
  • تعمل الخطافات بصلاحيات صدفتك — راجع أي خطّاف لم تكتبه (مراجعة شيفرة الطرف الثالث).

نقاط البدء الجاهزة للنسخ واللصق في وصفات Hooks وsettings.json.

التالي