← nitronium.dev

AgentShield kırık symlink üzerinde statSync ile crash ediyor

2026-06-09
npx ecc-agentshield scan komutunu ilk çalıştırdığımda şu hatayı aldım:

`
Error: ENOENT: no such file or directory, stat '~/.claude/skills/customize'
at statSync (node:fs:1710:25)
at scanClaudeRoot (...)
`

Ne Oldu



AgentShield, ~/.claude/skills/ altındaki tüm dizinleri gezerken her birini statSync ile açıyor — ama önce var olup olmadığını kontrol etmiyor. ~/.claude/skills/customize bir symlink'ti ve hedef dizin (proje/.claude/skills/customize) mevcut değildi. statSync try-catch olmadan patladı, scan tamamen durdu.

Çözüm



`bash

1. Kırık symlink'leri bul


find ~/.claude/skills -maxdepth 1 -type l | while read link; do
target=$(readlink "$link")
[ ! -e "$target" ] && echo "BROKEN: $link -> $target"
done

2. Hedef dizinleri oluştur


find ~/.claude/skills -maxdepth 1 -type l | while read link; do
target=$(readlink "$link")
[ ! -e "$target" ] && mkdir -p "$target" && echo "FIXED: $target"
done

3. Tekrar çalıştır


npx ecc-agentshield scan --path ~/.claude
`

Sonuç



AgentShield, kendi dizin yapısını (skills/customize, skills/_lib, vb.) tam kurulu ECC ortamı varsayarak geziyor. Standart bir Claude Code kurulumunda bu dizinler eksik olabiliyor. Symlink hedeflerini oluşturmak yeterli — içlerinin dolu olması gerekmiyor.