AI Ajanları için Git Worktree Yönetimi: Worktrunk ile Paralel Geliştirme

AI Ajanları için Git Worktree Yönetimi: Worktrunk ile Paralel Geliştirme
audio-thumbnail
AI Ajanları için Git Worktree Yönetimi: Worktrunk ile Paralel Geliştirme
0:00
/0

AI Ajanları için Git Worktree Yönetimi: Worktrunk ile Paralel Geliştirme

Geliştirme süreçlerinde artık AI ajanları, yazılım geliştiricilerin işini kolaylaştırıyor ve bazı görevlerde onlara eşlik ediyor. Ancak bu ajanların birden fazla görevi aynı anda yönetmesi, geliştiriciler için bir zorluk olabiliyor. Özellikle paralel geliştirme ortamlarında, her bir ajanın kendi çalışma dizinini paylaşmadan bağımsız çalışması gerekiyor. İşte bu durumda Worktrunk, AI ajanlarının paralel görevleri daha kolay yönetmesini sağlayan bir CLI aracı olarak öne çıkıyor.

AI Ajanları ve Git Worktree: Bir İlişki

AI ajanları, örneğin Claude Code veya Codex gibi, uzun süren ve uzun süreli görevleri (örneğin bir özellik eklemek veya bir hata düzeltmek gibi) otomatik olarak tamamlayabiliyor. Bu tür görevlerin birden fazla ajan tarafından aynı projede yürütülmesi, geliştirme sürecini hızlandırıyor. Ancak bu paralel çalışmayı yönetmek, geliştiriciler için karmaşık hale gelebilir.

Git'in worktree özelliği, her bir ajanın kendi çalışma dizinini kullanmasına olanak tanır. Bu sayede bir ajanın değişiklikleri diğerlerinin çalışmalarını etkilemez. Ancak Git'in doğal işleyişi, bu işlemi oldukça zorlaştırıyor. Mesela bir yeni worktree oluşturmak için üç kez dal adını yazmak gerekiyor:

git worktree add -b feat ../repo.feat && cd ../repo.feat

Bu işlemi basitleştirmek için Worktrunk geliştirildi.

Worktrunk: AI Ajanlarının Paralel Çalışmasını Kolaylaştırıyor

Worktrunk, geliştiricilerin AI ajanlarıyla çalışırken daha verimli bir çalışma ortamı kurmasına yardımcı olacak şekilde tasarlanmış, sadece üç temel komutla çalışan bir CLI aracıdır. Worktrunk, Git worktree yönetimini git dalını kullanmak kadar kolaylaştırıyor.

Temel Komutlar

Worktrunk’un üç temel komutu, geliştiricilere esneklik ve hız sağlıyor:

  1. wt switch <branch>
    Belirtilen dalın worktree'ine geçiş yapar. Örneğin:
    bash wt switch feat

  2. wt switch -c -x <agent> <branch>
    Yeni bir dal ve worktree oluşturur, ardından belirtilen ajanı çalıştırır. Örneğin:
    bash wt switch -x claude -c feature-auth -- 'Add user authentication'

  3. wt remove <branch>
    Belirtilen dalın worktree'ini ve dalını siler.
    bash wt remove feature-auth

  4. wt list
    Tüm worktree'leri durumlarıyla birlikte gösterir. CI durumu, değişiklikler, commit özetleri gibi bilgileri içerir.

Gelişmiş Özellikler

Worktrunk, geliştirme akışını daha da kolaylaştırmak için birkaç önemli özellik sunar:

  • Hook'lar: Worktree oluşturulurken, önceden belirlenen komutlar otomatik olarak çalıştırılabilir. Örneğin, bağımlılıkları yüklemek veya geliştirme sunucusunu başlatmak gibi işlemler.
  • LLM ile commit mesajları: Değişiklikleri otomatik olarak analiz eden AI, komut mesajlarını üretir.
  • Merge iş akışı: Birleşik bir komutla, kilitlenmeleri önleyerek, squash, rebase, merge ve temizlik işlemleri tek seferde yapılır.
  • Paylaşılan derleme önbellekleri: 10 adet worktree’de target/, node_modules/ gibi klasörler, kopyalanmadan paylaşılır. Bu, büyük projelerde derleme süresini önemli ölçüde azaltır.
  • CI durumu ve PR önizlemeleri: Worktree'ler arasında akıcı geçiş yaparken, CI durumu, diff, log ve PR bağlantıları anlık olarak görüntülenebilir.
  • Ağ geliştirme sunucusu: Her worktree için otomatik olarak eşsiz bir port atanır, böylece birden fazla geliştirme sunucusu aynı anda çalıştırılabilir.

Paralel AI Ajanları ile Çalışma Örneği

Bir geliştirme projesinde birden fazla AI ajanı çalıştırıyorsanız, Worktrunk ile bu süreç çok daha kolay hale gelir. Örneğin:

wt switch -x claude -c feature-a -- 'Add user authentication'
wt switch -x claude -c feature-b -- 'Fix the pagination bug'
wt switch -x claude -c feature-c -- 'Write tests for the API'

Bu komutlar, her bir ajanın kendi worktree'sinde çalışmasına ve görevlerini paralel olarak tamamlamasına olanak sağlar. Worktrunk, tüm bu işlemler sırasında geliştiriciye bir akış sunar.

Kurulum ve İlk Adımlar

Worktrunk, macOS, Linux ve Windows sistemlerinde kolayca kurulabilir:

  • macOS / Linux:
    bash brew install worktrunk && wt config shell install

  • Windows:
    bash winget install max-sixty.worktrunk git-wt config shell install

  • Arch Linux:
    bash sudo pacman -S worktrunk && wt config shell install

  • Conda / Pixi:
    bash conda install -c conda-forge worktrunk && wt config shell install

Worktrunk ile Geliştirme: Sonuçlar

Worktrunk, AI ajanlarının paralel görevleri yönetmesini kolaylaştırırken, geliştiricilerin çalışma akışını da hızlandırıyor. Git worktree'lerini yönetmekten ziyade, geliştiricilerin yalnızca kendi işlerini yapmasına odaklanmasını sağlıyor. Özellikle AI destekli geliştirme ortamlarında, Worktrunk bir çığır açıyor.

Ne Yapmalısınız?

  1. Worktrunk’u kurun.
  2. Temel komutları öğrenin: wt switch, wt list, wt merge, wt remove.
  3. Hook ve LLM commit mesajları gibi gelişmiş özellikleri keşfedin.
  4. AI ajanlarıyla birlikte paralel geliştirme deneyimi yapın.

Worktrunk, sadece bir araç değil, geliştirme dünyasında AI ile birlikte çalışmanın yeni bir boyutunu sunuyor. Geliştiriciler, bu araç sayesinde daha hızlı, daha az hata ile ve daha az zorlanarak kod yazabiliyor.


Worktrunk’u deneyip geri bildirimlerinizi paylaşırsanız, geliştirme süreci bir adım daha ileriye taşıyabiliriz. Herhangi bir zorlukla karşılaşırsanız, GitHub sayfasından bir issue açmaktan çekinmeyin. Çünkü Worktrunk, geliştiricilerin ihtiyaçlarına göre sürekli gelişiyor.