أمثلة
خطّاف أدنى
مثال خطّاف <bdi>Apothem</bdi> أدنى — إطلاق فحص عند كل كتابة ملف.
يُظهِر هذا المثال أصغر خطّاف Apothem ممكن: خطّاف PreToolUse
يُطلَق قبل كل استدعاء لأداة Write ويُسجِّل المسار الهدف.
نص الخطّاف
# src/apothem/hooks/log_writes.py
import json, sys
data = json.load(sys.stdin)
path = data.get("tool_input", {}).get("file_path", "unknown")
print(f"[apothem] Writing to: {path}", file=sys.stderr)
sys.exit(0) # always exit 0; block with the deny envelope belowالتسجيل في settings.json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "python src/apothem/hooks/log_writes.py"
}
]
}
]
}
}اختبار الخطّاف
أجرِ أي كتابة ملف في Claude Code وراقب خرج stderr في لوحة تتبّع الخطّاف.
حجب الكتابات
لحجب عملية الكتابة، اطبع غلاف الرفض إلى stdout وأبقِ رمز الخروج 0، كما تفعل خطّافات Apothem نفسها:
print(json.dumps({"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "blocked by log_writes"}}))
sys.exit(0)