تجاوز إلى المحتوى
العربية
العودة إلى الـ Playbook

feature

Hooks

أوامر صغيرة تُطلَق تلقائيًا في لحظات محدّدة — مثل تشغيل أداة التنسيق في كل مرة يحفظ فيها Claude ملفًا.

الـ hook هو إجراء تشغّله الأداة *نيابةً* عنك عند نقطة محدّدة: قبل أمر، أو بعد تعديل، أو عند بدء session. استخدمها لفرض قاعدة ("لا تدعه يمسّ branch الـ main أبدًا")، أو لإبقاء الأمور مرتّبة ("نسّق كل ملف يعدّله Claude")، أو لتسجيل النشاط. أعدّها مرّة؛ فتحدث وحدها.

الـ hook هو أمر تشغّله الأداة نيابةً عنك، تلقائيًا، عند لحظة محدّدة في العمل. اللحظات لها أسماء: يُطلَق PreToolUse hook قبل أن يشغّل Claude أمرًا أو يعدّل ملفًا؛ ويُطلَق PostToolUse hook بعد ذلك؛ وتُطلَق أخرى عند بدء الـ session أو انتهائه. أنت تختار اللحظة، وتزوّد الأمر، ومن ثَمّ يحدث وحده.

هذا يمنحك ثلاث مهامّ مفيدة. فرض قاعدة — يمكن لـ PreToolUse hook أن يفحص ما هو على وشك الحدوث ويمنعه («لا تدعه يمسّ branch الـ main أبدًا»)، فيصبح الضابط آليًا، لا شيئًا عليك تذكّره. الترتيب — شغّل أداة التنسيق على كل ملف يعدّله Claude، فيبقى الـ diff نظيفًا دائمًا. التسجيل — سجّل ما حدث، لأثر تدقيق أو لمجرّد راحة البال.

قاعدة عامّة واحدة تُبقي الـ hooks لطيفة: أبقِ الأمر سريعًا. تعمل الـ hooks ضمن المسار، في تدفّق العمل، فيُبطئ hook بطيء كل إجراء مرتبط به. اطّلع على ما أعددته عبر /hooks. وحيث يعمل scheduled agent وفق الساعة، يعمل الـ hook عند حدث — عمل «افعل هذا دائمًا، فور حدوث X» الذي كنت ستنساه لولاه.

مولّد

ابنِ ملف settings.json

اختر قواعد الصلاحيات والـ hooks، ثم انسخ ملف settings.json لمجلّد .claude/ لديك.

Permissions

allow run without asking

ask always confirm first

deny never, full stop

Hooks

.claude/settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run test:*)"
    ],
    "deny": [
      "Read(./.env)",
      "Bash(rm -rf:*)"
    ]
  },
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write ."
          }
        ]
      }
    ]
  }
}

نقطة انطلاق — انسخه إلى مشروعك وعدّله حسب حاجتك.

لماذا يفيد أتمت أعمال 'افعل هذا دائمًا بعد' حتى لا تنساها أبدًا.

أمثلة

تنسيق كل ملف يعدّله Claude
After every edit, run `prettier --write` on the changed file.
اطّلع على الـ hooks المُعدّة لديك
/hooks

نصائح وأفضل الممارسات