# SentryFixer: Sentry hatasını koda karşı okuyup düzeltme planı çıkarmak

> Bir Sentry issue'sunu çalışan koda karşı analiz eden, düzeltmeyi diff ve regresyon testiyle sunan, onay almadan dosyaya dokunmayan Claude Code skill'i.

- Şu an ne yapıyor: Bir Sentry issue'sunu çalışan koda karşı okuyup kök neden analizi ve düzeltme planı çıkarıyor; onay alınmadan tek bir dosyaya dokunmuyor. Claude Code kullanan ve prodüksiyon hatasını triyaj etmek isteyen herkes skill'i kurabilir.
- Tür: Açık kaynak
- Olgunluk: Sürüm adayı
- Durum: Kararlı
- Odak: AI destekli geliştirme
- Başlangıç: 2026-07-01
- Teknolojiler: Python, Bash, Sentry API, sentry-cli, MCP, Claude Code
- Etiketler: #ai, #hata-ayiklama, #otomasyon
- Kaynak kodu: https://github.com/muhammetsafak/SentryFixer.Skill
- Kaynak: https://www.muhammetsafak.com.tr/labs/sentryfixer/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
Hata izleme ile düzeltme arasındaki boşluk hep aynı yerde: Sentry neyin
patladığını söylüyor, ama patlayan satırın bugünkü hâlini, o kod yolunun o
tarihten sonra değişip değişmediğini ve düzeltmenin neyi kırabileceğini yine
insan çıkarıyor. SentryFixer bu ara işi otomatikleştirmek için yazdığım bir
Claude Code skill'i.

## Event'ten düzeltme planına dört adım

Skill bir Sentry issue'sunu alıp sırasıyla şunları yapıyor:

1. 50–300 KB'lık event verisini redakte edilmiş bir özete indiriyor.
2. Stack trace çerçevelerini çalışma ağacındaki gerçek kaynak dosyalara eşliyor.
3. Hatanın oluştuğu tarihten bu yana kodun değişip değişmediğini — tazeliğini —
   kontrol ediyor.
4. Kök nedeni gerekçelendirip somut bir düzeltme ve test önerisi çıkarıyor.

Sözleşmenin sert kısmı sonda: **plan onaylanmadan hiçbir dosya değişmiyor.**
Otomatik commit yok; salt-okunur geçmiş dışında git işlemi yok. İkisi birlikte
duruyor, çünkü tek başına "dosya değiştirmem" yetmez: commit atan bir araç,
değiştirdiği şeyi geri almayı da zorlaştırır. Onay geldikten sonra diff
uygulanıyor, testler koşuyor ve sonuç olduğu gibi raporlanıyor.

## Dar bağımlılık, sert onay kapısı

Bağımlılık yüzeyi bilerek dar: Python 3.8+ ve yalnızca standart kütüphane, artı
`curl`/bash. Sentry tarafına üç yoldan bağlanılabiliyor — doğrudan Sentry API,
`sentry-cli` ya da Sentry MCP sunucusu; hangisi kuruluysa o kullanılıyor.
Lisans MIT, depo açık.

Bağımlılığın dar tutulması tercih değil koşuldu: skill başkasının makinesinde,
başkasının projesinde ve çoğu zaman bir hata anında koşuyor. `pip install`
gerektiren bir araç, tam da en çok ihtiyaç duyulan anda kurulum sorunu
çıkarır. Sentry'ye üç yoldan bağlanabilmesi de aynı sebepten:
kullanıcıdan yeni bir şey kurması istenmiyor.

Tasarımın merkezinde iki karar var. Birincisi **bağlam sıkıştırma**: ham event
verisi olduğu gibi modele verilmiyor, önce işe yarayan çerçevelere indirgeniyor
ve kişisel veri bu adımda redakte ediliyor. İkincisi **onay kapısı**: skill'in
yazma yetkisi, planı okuyup "uygula" diyene kadar hiç açılmıyor.

## Tazelik kontrolünün sınırı

Masadaki açık soru şu: tazelik kontrolü şu an dosyanın değişip değişmediğine
bakıyor; asıl istediğim, hatanın geldiği commit ile bugünkü kod arasındaki
farkın kök nedene ne kadar dokunduğunu söyleyebilmek. Bir sonraki tur orada.
