Eksik kalan yarı
Worktree, aynı deponun ayrı bir klasördeki ikinci kopyası. Her ajan kendi klasöründe, kendi dalında çalışınca birbirinin dosyalarını bozmuyor. Konuyu ve Claude Code’un --worktree seçeneğini worktree ve Portless yazımızda anlattık.
Claude Code bir worktree’yi açmayı tek komuta indirdi. Videoya göre iki şey hâlâ eksik: Bütün ajanların durumunu tek ekranda görmek ve biten işi ana dala geri almak. Bir de her yeni klasör sıfırdan başlıyor. Bağımlılıklar yok, derleme önbelleği yok. Beş ajan açarsan beş kez kurulum ve derleme bekliyorsun.
Worktrunk bu boşluğu dolduran açık kaynak bir komut satırı aracı. Rust ile yazılmış, MIT ya da Apache-2.0 lisanslı. Komutu wt.
Klasör değil, dal adı
Worktrunk’ın ana fikri, klasör yollarını unutmak. Worktree’lere dal adıyla ulaşıyorsun, klasörün nerede açılacağını bir şablon belirliyor.
wt switch -c -x claude yeni-ozellik:yeni-ozellikdalını ve onun worktree’sini açıyor, içine geçiyor ve Claude Code’u orada başlatıyor. Üç terminalde üç kez yazınca üç ajan üç ayrı dalda çalışıyor.wt list: Bütün worktree’leri tek tabloda gösteriyor. Dal, ana daldan ne kadar ileride olduğu, değişikliğin boyutu, son commit.--fullile CI durumu da geliyor.wt merge: Değişiklikleri commit’liyor, tek commit’e indiriyor (squash), ana dalın üstüne taşıyor (rebase), ana dala ekliyor ve worktree’yi siliyor. Elle yapınca altı ayrı git komutu.wt remove: İşi beğenmediysen worktree’yi ve dalını temizliyor.
Bir ayrıntı var: Bir program, onu çalıştıran terminalin klasörünü değiştiremez. Bunu ancak kabuk (shell) yapabilir. Bu yüzden kurulumdan sonra wt config shell install çalıştırman gerekiyor. Atlarsan her şey çalışıyor gibi görünür ama klasör değişmez.
Claude Code ile birlikte
Worktrunk, Claude Code’un yerine geçmiyor, ona bağlanıyor. Claude Code’un WorktreeCreate ve WorktreeRemove adlı kancaları (hook) var ve belgelere göre bu kancalar git’in varsayılan davranışının yerine geçiyor. wt config plugins claude install ile kurulan eklenti, Claude’un kendi açtığı worktree’leri de Worktrunk üzerinden açtırıyor. Böylece alt ajanların klasörleri de aynı isim düzenine ve aynı kurallara uyuyor.
Eklenti wt list tablosuna bir işaret de ekliyor: 🤖 ajan çalışıyor, 💬 senden cevap bekliyor. Depoda Codex ve Gemini CLI için de eklenti dosyaları var.
Ağır dosyalar neredeyse bedava
Yeni bir worktree, git’in izlediği dosyaları getiriyor. .gitignore’daki node_modules, target ya da .env gelmiyor. wt step copy-ignored bunları ana kopyadan yeni klasöre aktarıyor. İstersen .worktreeinclude dosyasıyla hangilerinin geleceğini daraltabiliyorsun.
Asıl hız, copy-on-write (yazınca kopyala) desteğinden geliyor. macOS’teki APFS, Linux’taki btrfs ve XFS gibi dosya sistemlerinde kopya aslında diskteki aynı bloklara işaret ediyor. İki taraftan biri dosyayı değiştirene kadar ek yer kaplamıyor. Belgelerdeki örnekte 14 GB’lık bir Rust target klasörünü normal kopyalamak 2 dakika ve 14 GB sürüyor, bu yolla yaklaşık 20 saniye ve neredeyse sıfır ek alan. Linux’ta yaygın olan ext4’te bu destek yok, orada dosyalar tam kopyalanıyor.
Kancalar (hook) kurulumu otomatikleştiriyor. Projedeki .config/wt.toml dosyasına pre-start = "npm install" yazarsan her yeni worktree’de bağımlılıklar kendiliğinden kuruluyor. Merge öncesi testleri çalıştıran bir kanca da ekleyebilirsin. Her worktree’ye ayrı geliştirme sunucusu portu veren bir şablon filtresi (hash_port) de var.
Nelere dikkat etmeli?
- Araç hızlı değişiyor. Ekim 2026’daki sürüm 0.81, yani hâlâ 1.0 öncesi. Değişiklik günlüğünde ayarları bozan değişiklikler sık. Güncellemeden sonra ayarlarını kontrol etmen gerekebilir.
- Worktree çakışmaları ortadan kaldırmıyor. İki ajan aynı dosyayı değiştirdiyse
wt mergerebase’i durdurup çakışmayı sana bırakıyor. - Projedeki kancalar bilgisayarında komut çalıştırıyor. Worktrunk ilk çalıştırmadan önce komutları gösterip onay istiyor. Başkasının deposunda onaylamadan önce oku.
- Aynı anda tek ajan çalıştırıyorsan videonun yorumu net: Claude Code’un kendi worktree desteği yeterli. Worktrunk üç beş ajanı birlikte yönetirken işe yarıyor.
Ajanları terminal yerine bir masaüstü uygulamasında yan yana izlemek istersen Orca yazısına bakabilirsin.
Düşün
- Paralel çalışan ajanlarında en çok zamanı ne alıyor: kurulum mu, takip mi, birleştirme mi?
- Bir projenin kancalarını onaylamadan önce neye bakarsın?
Videoyu izle
Kaynaklar (8, İngilizce)
- Better Stack: The Best Git Worktree Tool I've Used (Worktrunk) (video) (yeni sekmede açılır)
- GitHub: max-sixty/worktrunk (yeni sekmede açılır)
- Worktrunk (yeni sekmede açılır)
- Worktrunk Docs: Claude Code integration (yeni sekmede açılır)
- Worktrunk Docs: wt hook (yeni sekmede açılır)
- Worktrunk Docs: wt step (yeni sekmede açılır)
- Claude Code Docs: Hooks reference (yeni sekmede açılır)
- Worktrunk CHANGELOG (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.