English · Türkçe

Ajanlar için Forgelore

Bu sayfayı okuyan bir kodlama ajanıysan, Forgelore'u kullanmak için gereken her şey aşağıda. llms.txt aynı içeriğin işaretlemesiz hali.

Tek paragrafta ne olduğu

Forgelore, bir komutun neden patladığını ve neyin düzelttiğini hatırlayan bir komut satırı programı. Bir hatayı, hata metninden ve onu üreten araçtan türetilen bir parmak iziyle tanır — dosyadan, satırdan ya da alt komuttan değil — böylece başka bir komutla karşılaşılan aynı hata yine eşleşir. Kayıtları deponun içinde markdown dosyaları olarak tutar ve milisaniyeler içinde cevap verir. Hiçbir ağ çağrısı yapmaz.

Asgari hal: tek satır

Kabuk komutu çalıştırabiliyorsan Forgelore'u hiçbir yapılandırma olmadan kullanabilirsin. forgelore init'in AGENTS.md için yazdırdığı satır bu:

When a shell command fails, run
`forgelore recall --command "<the command>" --error-file -` with the
command's output on stdin before trying a fix.

Bir şey bilmiyorsa hiçbir şey yazmıyor, yani çalıştırmanın bedeli bir süreç ve sıfır token.

Bilmeye değer komutlar

KomutNe işe yarar
forgelore recall --command "…" --error-file - Bir başarısızlığı ara. Çıktı stdin'den. Bilmiyorsa sessiz.
forgelore search <sorgu> Yalnızca kimlikler ve başlıklar; bağlamda ucuz.
forgelore show <id> Bir kaydın tamamı. Yalnızca search'ten gelen kimlikle.
forgelore record --type fix --title "…" --command "…" --error-file - Öğrendiğini yaz. Başlık cevabı söyler, soruyu değil.
forgelore review Bir oturumun önerdikleri. Öneriyi kayda bir insan çevirir, sen değil.
forgelore doctor Depo, indeks ve ajan bağlantısı sağlam mı.

Her komut makine okunur çıktı için --json, başka bir projede çalışmak için --dir alır.

Hook'lar: ipucunun kendiliğinden gelmesi

Hook'larla bağlandığında hiçbir şey çağırmıyorsun — ipucu, patlayan komutun sonucuna sen görmeden ekleniyor. Destek ajana göre değişiyor ve kademe çalışan bir ajana karşı denetlendi demek, belgelendi değil.

Claude Code — kademe A

Eklentiyi kur, hook'lar onunla geliyor:

claude plugin marketplace add forgeprint/forgeprint
claude plugin install forgelore@forgeprint

Eklenti bilerek ikili taşımıyor, bu yüzden Forgelore'u da kur; yoksa hook'lar hiçbir şey yapmaz.

Copilot CLI — kademe B

Olay başına bir girdi, her biri kendi adını geçiriyor — çünkü Copilot'un payload'ı hangi olay olduğunu söylemiyor:

{
  "version": 1,
  "hooks": {
    "sessionStart":       [{ "type": "command", "bash": "forgelore hook --adapter copilot-cli --event sessionStart",       "timeoutSec": 10 }],
    "postToolUse":        [{ "type": "command", "bash": "forgelore hook --adapter copilot-cli --event postToolUse",        "timeoutSec": 10 }],
    "postToolUseFailure": [{ "type": "command", "bash": "forgelore hook --adapter copilot-cli --event postToolUseFailure", "timeoutSec": 10 }],
    "sessionEnd":         [{ "type": "command", "bash": "forgelore hook --adapter copilot-cli --event sessionEnd",         "timeoutSec": 1 }]
  }
}

Gemini CLI — kademe B

settings.json içinde. Dikkat: burada timeout milisaniye, Claude Code'daki saniye değil:

{
  "hooks": {
    "SessionStart": [{ "hooks": [{ "type": "command", "command": "forgelore hook --adapter gemini-cli", "timeout": 10000 }] }],
    "AfterTool":    [{ "hooks": [{ "type": "command", "command": "forgelore hook --adapter gemini-cli", "timeout": 10000 }] }],
    "SessionEnd":   [{ "hooks": [{ "type": "command", "command": "forgelore hook --adapter gemini-cli", "timeout": 10000 }] }]
  }
}

Cursor — kademe B

.cursor/hooks.json ya da ~/.cursor/hooks.json içinde:

{
  "version": 1,
  "hooks": {
    "sessionStart":       [{ "type": "command", "command": "forgelore hook --adapter cursor", "timeout": 10 }],
    "postToolUse":        [{ "type": "command", "command": "forgelore hook --adapter cursor", "timeout": 10 }],
    "postToolUseFailure": [{ "type": "command", "command": "forgelore hook --adapter cursor", "timeout": 10 }],
    "sessionEnd":         [{ "type": "command", "command": "forgelore hook --adapter cursor", "timeout": 10 }]
  }
}

Codex CLI — doğrulanmamış

Bir eşleme var, 0.160.0 ikilisinin içindeki JSON şemalarından türetildi — çünkü yayımlanmış bir hook dokümanı yok. Ondan hiç payload yakalanmadı, yani biri yakalanana kadar yanlış olduğunu varsay.

MCP

forgelore mcp --dir .

Dört araç, bilerek kademeli — arama ucuz olsun, ayrıntı istenerek gelsin: search, get, recall_error, propose. İki protokol revizyonu birden sunuluyor, 2026-07-28 ve 2025-11-25; çünkü gerçek bir istemci, bir özellik bayrağına göre ikisinden birini konuşuyor.

recall_error'a session geçir. Geçirmezsen arama yine cevap verir ama bir koşuya bağlanamaz ve ölçümün dışında kalır. Hook'larda oturum kimliğini ajan kendisi veriyor; MCP'de geçirmek sana kalıyor.

Uyman beklenen kurallar

Seni yanıltacak iki şey

Boruya sokulmuş komut başarısızlığını gizler. go build ./... 2>&1 | head -40, head'in çıkış koduyla biter, o da sıfırdır; çoğu ajan bunu başarı diye bildirir ve hata hiç aranmaz. Hatırlanmasını istiyorsan komutu düz çalıştır.

Zincirlenmiş komut son halkasına aittir. cd web && npm run build, cd'ye değil npm'e yazılır — ki doğrusu bu, ama bir zincirde kaydedilen çözüm başka bir zincirde yalnızca son komut aynıysa bulunur.