خودکار سازی جریان کار خود را با کد کلود هوک
هوک ها به شما اجازه می دهند که دستورات سفارشی را اجرا کنید، زمانی که کد کلود اقدامات خاصی را انجام می دهد. Auto-format در Save، ویرایش های خطرناک را مسدود کنید یا به طور خودکار تزریق کنید.
کد کلود هوک ها دستورات پوسته ای هستند که به طور خودکار در پاسخ به رویدادها اجرا می شوند. هنگامی که کد کلود یک فایل را ویرایش می کند، یک دستور را اجرا می کند یا یک جلسه را شروع می کند، قلاب های شما آتش می گیرند. این به شما اجازه می دهد تا محافظان را بسازید، استانداردها را اجرا کنید و تنظیمات تکراری را بدون دخالت دستی خودکار کنید.
چه رویدادهای قلابی در دسترس هستند؟?
| Event | وقتی آتش می گیرد | مورد استفاده مشترک |
|---|---|---|
| استفاده از PreTool | قبل از اجرای کلود یک ابزار | عملیات خطرناک را مسدود کنید، ورودی ها را معتبر کنید |
| PostTool استفاده از | پس از اجرای کلود یک ابزار | فایل های ویرایش خودکار، اجرای linters |
| اعلان | هنگامی که کلود یک اعلان ارسال می کند | ورود به فایل، ارسال به Slack |
| نام بازی :Start | هنگامی که یک جلسه جدید شروع می شود | زمینه داخل، بررسی محیط |
| تغییرات | هنگام تغییر تنظیمات | پیکربندی معتبر |
چگونه یک قلاب ایجاد کنید؟?
از منوی تعاملی یا تنظیمات ویرایش استفاده کنید. به طور مستقیم:
# Interactive hook setup
claude /hooks
# Or edit settings.json directly
# Project: .claude/settings.json
# Global: ~/.claude/settings.jsonاینجا یک تنظیمات است. json with Hooks پیکربندی:
{
"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. Auto-format در ویرایش
Run Prettier، Black یا gofmt هر بار که کد کلود فایل را ویرایش می کند:
// PostToolUse hook
{
"matcher": "Edit|Write",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}2. فایل های حساس بلاک
جلوگیری از کلود کد از تغییر فایل های محیطی، اسرار یا پیکربندی های انتقادی:
// PreToolUse hook
{
"matcher": "Edit|Write",
"command": "echo $CLAUDE_FILE_PATH | grep -qE \"\.env|\.secret|credentials\" && exit 1 || exit 0"
}3. متن Re-inject پس از جمع آوری
هنگامی که کد کلود پنجره متن خود را جمع آوری می کند، جزئیات مهم را می توان از دست داد. یک قلاب می تواند اطلاعات انتقادی را دوباره بیان کند:
// PostToolUse hook for compaction
{
"matcher": "Compact",
"command": "cat .claude/critical-context.md"
}