Error Recovery Skill
Bu skill, Anthropic'in tool use best practices'lerine göre hata durumlarından kurtarma stratejileri sağlar.
Yaygın Hatalar ve Çözümleri
1. NPM/Node Hataları
ENOENT: no such file or directory, package.json
bash
# Çözüm: Doğru dizinde misin? pwd ls -la package.json # Yoksa proje kökünü bul find . -name "package.json" -type f 2>/dev/null | head -5
npm ERR! ERESOLVE
bash
# Çözüm: Dependency conflict npm install --legacy-peer-deps # veya rm -rf node_modules package-lock.json && npm install
MODULE_NOT_FOUND
bash
# Çözüm npm install # veya spesifik modül npm install <modül-adı>
2. Git Hataları
fatal: not a git repository
bash
# Çözüm: Git repo değil veya yanlış dizin git init # veya doğru dizine git cd <proje-kökü>
error: Your local changes would be overwritten
bash
# Çözüm: Değişiklikleri sakla git stash git pull git stash pop
CONFLICT (content): Merge conflict
bash
# Çözüm: Conflict'leri göster git diff --name-only --diff-filter=U # Manuel çözüm gerekli - kullanıcıya sor
3. TypeScript/Build Hataları
Cannot find module (import)
bash
# Çözüm: Path kontrolü # 1. Dosya var mı? ls -la <dosya-yolu> # 2. tsconfig paths doğru mu? cat tsconfig.json | grep -A5 "paths" # 3. Index export var mı? cat <modül>/index.ts
Property does not exist on type
bash
# Çözüm: Type tanımını bul grep -rn "interface\|type" --include="*.ts" src/ | grep <TypeAdı>
4. Database Hataları
Connection refused (PostgreSQL/MySQL)
bash
# Çözüm: Service çalışıyor mu? # macOS brew services list | grep postgres # Linux systemctl status postgresql # Docker docker ps | grep postgres
relation does not exist
bash
# Çözüm: Migration çalıştır npm run db:migrate # veya npx prisma migrate dev
5. Docker Hataları
Cannot connect to Docker daemon
bash
# Çözüm: Docker çalışıyor mu? docker info # macOS: Docker Desktop açık mı? open -a Docker
port is already allocated
bash
# Çözüm: Portu kullanan process'i bul ve durdur lsof -i :3000 kill -9 <PID>
6. Permission Hataları
EACCES: permission denied
bash
# Çözüm: Dosya izinlerini kontrol et ls -la <dosya> # Düzelt (dikkatli ol!) chmod 644 <dosya> # Dosya için chmod 755 <dizin> # Dizin için
sudo required
code
⚠️ DİKKAT: sudo kullanmak tehlikeli olabilir. Kullanıcıya danış ve alternatif ara. Alternatifler: - nvm/pyenv kullan (global yerine local) - Docker container içinde çalış - .local dizinine yükle
Error Recovery Süreci
code
1. HATA TESPİT ↓ 2. HATA TİPİNİ BELİRLE - Build error? - Runtime error? - Permission error? - Network error? ↓ 3. CONTEXT TOPLA - Hangi komut çalıştı? - Hangi dizindeyiz? - Son ne değişti? ↓ 4. ÇÖZÜM UYGULA - Basit fix dene - Başarısızsa alternatif dene - Hala başarısızsa kullanıcıya sor ↓ 5. DOĞRULA - Aynı komutu tekrar çalıştır - Hata devam ediyor mu?
Error Logging
Hatalar otomatik olarak loglanır:
code
~/.claude/error-log.txt
Log formatı:
code
[2025-01-26 10:30:45] TOOL FAILURE: Bash - npm test failed Context: /Users/x/project Last command: npm test Error: Jest has detected the following 1 open handle Resolution: Added --forceExit flag
Kullanıcıya Ne Zaman Danış
Aşağıdaki durumlarda kullanıcıya sor:
- •Veri kaybı riski:
rm,DROP,TRUNCATE - •Credential gerekli: API key, password
- •Belirsiz çözüm: Birden fazla olası fix var
- •Tekrarlayan hata: 3+ denemede başarısız
- •Production etkisi: Deploy, migration
Recovery Rapor Formatı
markdown
## 🔧 Error Recovery Report **Hata:** [error message] **Komut:** [failed command] **Dizin:** [working directory] ### Analiz [Hatanın nedeni] ### Denenen Çözümler 1. ❌ [çözüm 1] - [neden başarısız] 2. ✅ [çözüm 2] - Başarılı ### Önlem [Bu hatanın tekrarını önlemek için öneri]
Anti-Patterns
❌ Yapma:
- •Hatayı ignore etme
- •sudo ile zorla çöz
- •Rastgele komut dene
- •Kullanıcıya sormadan kritik değişiklik yap
✅ Yap:
- •Hatayı anla, sonra çöz
- •En az invaziv çözümü dene
- •Değişiklikleri logla
- •Belirsizlikte sor