← BLOG
Tutorial

أتمتة سير عمل التطوير لديك باستخدام Claude Code Hooks

تتيح لك الخطافات تشغيل أوامر shell مخصصة عندما يتخذ Claude Code إجراءات محددة. التنسيق التلقائي عند الحفظ، أو حظر التعديلات الخطيرة، أو إدخال السياق تلقائيًا.

Claude Code Hooks are shell commands that execute automatically in response to events. When Claude Code edits a file, runs a command, or starts a session, your hooks fire. This lets you build guardrails, enforce standards, and automate repetitive setup without manual intervention.

ما هي الأحداث هوك المتاحة؟

حدثعندما يشتعلحالة الاستخدام الشائع
PreToolUseقبل أن ينفذ كلود أداةمنع العمليات الخطيرة، والتحقق من صحة المدخلات
PostToolUseبعد أن ينفذ كلود أداةتنسيق تلقائي للملفات التي تم تحريرها، وتشغيل linters
إشعارعندما يرسل كلود إشعارًاقم بتسجيل الدخول إلى الملف، وأرسله إلى Slack
بداية الجلسةعندما تبدأ جلسة جديدةحقن السياق، والتحقق من البيئة
تغيير التكوينعندما تتغير الإعداداتالتحقق من صحة التكوين

كيف يمكنك إنشاء هوك؟

استخدم القائمة التفاعلية أو قم بتحرير settings.json مباشرةً:

# Interactive hook setup
claude /hooks

# Or edit settings.json directly
# Project: .claude/settings.json
# Global: ~/.claude/settings.json

إليك ملف settings.json مع ضبط الخطافات:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write "$CLAUDE_FILE_PATH"",
        "description": "Auto-format edited files with Prettier"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "echo $CLAUDE_FILE_PATH | grep -q \.env && echo 'BLOCKED: Cannot edit .env files' && exit 1 || exit 0",
        "description": "Block edits to .env files"
      }
    ],
    "SessionStart": [
      {
        "command": "cat .claude/context-injection.md",
        "description": "Inject additional context at session start"
      }
    ]
  }
}

ما هي السنانير الأكثر فائدة؟

1. التنسيق التلقائي عند التحرير

قم بتشغيل Prettier أو Black أو gofmt في كل مرة يقوم فيها Claude Code بتحرير ملف:

// PostToolUse hook
{
  "matcher": "Edit|Write",
  "command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}

2. حظر تعديلات الملفات الحساسة

Prevent Claude Code from modifying environment files, secrets, or critical configs:

// PreToolUse hook
{
  "matcher": "Edit|Write",
  "command": "echo $CLAUDE_FILE_PATH | grep -qE \"\.env|\.secret|credentials\" && exit 1 || exit 0"
}

3. إعادة إدخال السياق بعد الضغط

عندما يقوم Claude Code بضغط نافذة السياق الخاصة به، فقد يتم فقدان تفاصيل مهمة. يمكن للخطاف إعادة إدخال المعلومات المهمة:

// PostToolUse hook for compaction
{
  "matcher": "Compact",
  "command": "cat .claude/critical-context.md"
}

الأسئلة المتداولة

عودوا للكتابالبداية الحرة - الوحدة ١