Skip to content
Apothem
أمثلة

خطّاف أدنى

مثال خطّاف <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)

On this page