PR'dan önce ajan ne yapıyor

Ajan branch'i göndermeden önce pnpm test, pnpm typecheck, pnpm lint ve pnpm build koşuyor. Sonra git diff main...HEAD ile değişen her dosyayı okuyor. Testi yazılmamış bir kabul kriteri ya da SPEC.md'de olmayan bir değişiklik arıyor.

Hiç dokunulmamış bir dosyada kalan şablon metni bu diff'te görünmez. Ajan bu yüzden repo'nun tamamında My App, Added this week ya da lang="en" gibi metinleri ayrıca arıyor.

Bulduğunu düzeltip commit atıyor ve kontrolleri yeniden koşuyor. Push bu okumadan sonra geliyor.

Merge kararı senin

Merge'e basmadan önce bakacağın ilk yer değişen dosyalar. Şablonda bir özellik çoğunlukla aşağıdaki dosyalara dokunur.

  • lib/store.ts, veri tipi ve kayıt
  • lib/compute.ts, hesaplanan özellik
  • components/items.tsx, sayfanın içeriği
  • app/page.tsx, sayfa başlığı
  • app/layout.tsx, sekme başlığı ve sayfanın dili
  • bu dosyaların yanındaki test dosyaları
  • README.md'nin ilk satırları
  • ilk PR'da SPEC.md

Bu liste açıkken sırayla aşağıdakilere bak.

  • PR sayfasında Files changed sekmesini aç ve değişen dosyaları bu listeyle karşılaştır.
  • Listede olmayan bir dosya varsa ajana neden değiştiğini sor.
  • package.json değiştiyse yeni bir paket eklenip eklenmediğini sor. Ajanın paket eklemeden önce sana sorması gerekiyor.
  • PR açıklamasındaki test çıktısında failed geçmediğine ve üçüncü derste eşlediğin test adlarının orada durduğuna bak.
  • Preview'da tarayıcı sekmesindeki başlığa ve boş liste mesajına bak.

İstersen ajana "Bu PR'ı review et" yazıp kısa bir özet de alabilirsin. Özet işine yarar ama kararı yukarıdaki yerlere bakarak ver.

Merge butonu

  • PR sayfasının altındaki Merge pull request butonuna bas.
  • Ardından Confirm merge'e bas.
  • Bir iki dakika bekleyip canlı adresini yenile.
  • Merge ettiğini ajana yaz. main'e dönüp son hali bilgisayarına o çekiyor.

Yöntem merge'i her zaman sana bırakıyor. Şablonun ayar dosyasında da gh pr merge ajana yasaklı komutlar arasında yazılı.

Kolay yapılan hata

Files changed sekmesi temiz görünse de bir şey eksik kalmış olabilir. O sekme yalnız değişen dosyaları gösterir, değişmesi gerekip değişmeyen bir dosyayı göstermez.

Liste özelliği app/layout.tsx'e dokunmadan da çalışabildiği için sekme başlığında hala My App yazabilir. Ajan bu metni ayrıca arıyor ama preview'da sekme başlığına bir kere de sen bak ve orada My App görürsen ajana söyle.

Küçük görev

Merge'den önce Files changed sekmesini aç ve değişen dosyaları yukarıdaki listeyle karşılaştır. Listede olmayan bir dosya varsa merge etmeden önce ajana nedenini sor.