Yapay zeka ile çalışırken feature branch bazlı mı yoksa trunk based mi yani sadece develop ya da main branch içinde mi çalışılmalı?
Önce ben nasıl çalışıyorum, ona değineyim.
Ben trunk based calışıyorum. Birden fazla opus develop branch üzerinde değişik feature setleri üzerinde çalışıyorlar. Arada bir test ve derleme problemleri çıksada, birbirlerini bekleyip, devam edebiliyorlar.
Buna karşıllık her uygulama özelliği için bir feature branch oluşturmak mümkün. Bu şekilde işler birbirlerinden izole bir şekilde yürüyebilir.
Bu durumda şöyle bir sıkıntı oluşuyor. Uzun süre açık kalan feature branchların develop ile merge edilmeleri zorlaşabilir. Buradaki en büyük etken yapay zeka araçlarının çok kısa zamanda çok kod yazıyor olmaları. Sadece birgün sonra bile feature branchı merge etmek imkansız hale gelebilir.
Trunk based calışıldığında böyle bir sorun olmuyor. Ayrıca kod tek bir branch içinde olduğu için birbirinden bağımsız çalışan opus ve onun ajanları yeni gelen kodu bağlama (context) entegre edip, ona göre adapte olabiliyorlar.
Burada en sağlıklı gidişat bir proje için trunk üzerinde sadece bir opus çalıştırma şeklinde olacaktır. Bu şekilde hiçbir kolizyon oluşmaz.
Bu yüzden hızlı büyüyen bir projede yapay zeka araçlarının hızlı bir şekilde yeni koda adapte olmaları için trunk based calışmak en mantıklı seçenek gibi görünüyor.