Git Commit'lerde Session ID: Agent Kendi Bulur Neden Yaptığını
Commit'lere session ID gömüyorum. Agent git blame yapıyor, session'ı buluyor, neden yaptığımı kendisi anlıyor. Dokümantasyon yok, agent buluyor.
Değişiklik yaptım neden yaptığımı dokümante etmekten kaçınabileceğimi fark ettim. Git commit'lerine session ID gömüyorum. Agent'lar gerekçeyi kendileri buluyor. Bu, dokümantasyon yönetimini, bakım yükünü, binlerce dağınık dokümanı ortadan kaldırıyor. Şu anda test ediyorum. Denemek istersen, yaklaşım bu şekilde.
┌──────────────────┐
│ Agent commit atar│
│ (5:30 PM) │
└────────┬─────────┘
▼
◉ Kod bozulur (6:45 PM)
│
▼
┌──────────────┐
│Agent: │
│git blame │
└────┬─────────┘
▼
┌──────────────────┐
│Agent bulur: │
│Session: a4e34b0b │
└────────┬─────────┘
│
├─────────────────────────┐
▼ ▼
┌────────────────┐ ┌──────────────────┐
│User: │ │Agent: │
│claude --resume │ │Custom tool │
│a4e34b0b │ │(transcript okur) │
└────────┬───────┘ └────────┬─────────┘
▼ ▼
┌──────────┐ ┌───────────────┐
│Agent: │ │Agent: │
│User │ │User │
│mesajları │ │mesajlarını │
│görür │ │çıkarır │
└─────┬────┘ └─────┬─────────┘
└──────────┬───────────┘
▼
┌──────────┐
│Agent: │
│Neden │
│yaptığını │
│anlar │
└─────┬────┘
▼
┌──────────┐
│Agent: │
│Sana söyler│
└──────────┘Kurulum
.claude/hooks/UserPromptSubmit
#!/usr/bin/env bash
INPUT=$(cat)
SESSION_ID=$(echo "$INPUT" | jq -r '.session_id')
PROMPT=$(echo "$INPUT" | jq -r '.prompt')
if echo "$PROMPT" | grep -qi "commit"; then
cat << EOF
{
"hookSpecificOutput": {
"hookEventName": "UserPromptSubmit",
"additionalContext": "Commit mesajına session ID ekle:\n\ngit commit -m \"fix: auth\"\n\nSession: $SESSION_ID"
}
}
EOF
fiSonuç
git log
commit abc123
fix: auth update
Session: a4e34b0b-3418-492f-9c97-35474d7b07c5claude --resume a4e34b0b-3418-492f-9c97-35474d7b07c5
Last updated
Was this helpful?