← Radar

Konu: Kodlama3 dk okuma

Worktrunk: Git worktree'lerini dal adıyla yöneten komut satırı aracı

Bu neden önemli?

Claude Code worktree açmayı zaten kolaylaştırdı. Ama paralel çalışmanın yorucu kısmı başka yerde: Hangi ajan nerede, ne durumda, biten iş nasıl geri birleşecek, her yeni klasörde bağımlılıklar baştan mı kurulacak? Worktrunk bu eksik yarıyı tek bir araçta topluyor.

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-ozellik dalı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. --full ile 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 merge rebase’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

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (8, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Kodlama4 dkVideo: Syntax

GitHub Universe 2026: Ajan trafiğine göre yeniden kurulan Git, Copilot Fusion ve zamanlanmış ajanlar

GitHub'da bir yılda push sayısı neredeyse üç katına çıktı, Eylül'de açılan pull request'lerin %40'tan fazlası bir ajanın taslağıyla başladı. Universe'te GitHub bu yükü taşımak için Git altyapısını nasıl değiştirdiğini anlattı, birden fazla modeli birlikte çalıştıran Copilot Fusion'ı ve kendi kendine çalışan ajanlar için Automations'ı gösterdi.

Konu: Kodlama3 dkVideo: Syntax

tsrs: Cloudflare, TypeScript derleyicisini yapay zekâyla Rust'a taşıdı

Microsoft TypeScript derleyicisini Temmuz'da Go'ya taşımıştı. Şimdi Cloudflare, VoidZero ile birlikte aynı derleyicinin Rust'a taşınmış hâlini, tsrs'i deneysel olarak yayınladı. Kendi ölçümlerine göre TypeScript 7.0'dan 8 kata kadar hızlı ve yaklaşık %70 daha az bellek kullanıyor. İşin büyük kısmını yapay zekâ ajanları yaptı.