Yapay zekâ kodlama ajanları
Kodlama ajanları neredeyse her değişiklikten sonra testleri çalıştırır ve tam bir dotnet test, döngülerinin en yavaş kısmıdır. TestDetta ile yalnızca bir değişikliğin etkileyebileceği testleri çalıştırırlar ve işi size bırakmadan önce bunları kontrol ederler.
Her ajanın, çalıştığı makinede td aracına ihtiyacı vardır:
dotnet tool install --global TestDetta
TestDetta, geliştiricinin makinesinde de CI'da olduğu gibi karar verir: td record ile kaydedilmiş bir kapsam haritası varsa hangi test sınıfının hangi metodu çalıştırdığını izler, yoksa adları kaynak kod içinde takip eder; bu daha fazla test seçer ama güvenli kalır.
Claude Code
TestDetta plugin'i bir skill ve bir Stop hook ekler. Claude Code'dan (2.1.275 veya sonrası) tek adımda kurun:
/plugin install testdetta --marketplace selcukgural/TestDetta
Daha eski sürümlerde önce marketplace'i ekleyin:
/plugin marketplace add selcukgural/TestDetta
/plugin install testdetta@testdetta
- Skill, ajana
dotnet testçalıştıracağı yerdetd testçalıştırmasını, değiştirmek üzere olduğu kodu kapsayan testleri bulmak içintd affectedçıktısını okumasını ve o uzun çalıştırmayı kendisi başlatmak yerinetd record'u size önermesini söyler. - Stop hook, ajan çalışma ağacını değiştirmiş olarak bir turu bitirdiğinde etkilenen testleri çalıştırır. Kırılan bir test ya da bozuk bir derleme, ajanı kısa bir özetle (her hatanın mesajı, her derleyici hatası bir kez) ve tam logun yoluyla geri gönderir. Geçen testler size tek bir satır gösterir. Kodu değiştirmeyen bir tur birkaç milisaniye sürer ve ajan bir turda en fazla üç kez geri gönderilir.
Plugin'i bir depoyu açan herkese önermek için marketplace'i ve plugin'i deponun .claude/settings.json dosyasına ekleyin (extraKnownMarketplaces ve enabledPlugins). Hook'un ayarları ortam değişkenleridir:
| Değişken | Etkisi |
|---|---|
TESTDETTA_AGENT_HOOK=off | Stop hook'u kapatır; skill kalır. |
TESTDETTA_AGENT_BASE=<ref> | origin/main yerine bu ref ile karşılaştırır. |
TESTDETTA_AGENT_MAX_BLOCKS=<n> | Bir turun, kırılan testler yüzünden en fazla kaç kez geri gönderilebileceği (varsayılan 3). |
Hook bir bash script'idir. macOS ve Linux'ta test edildi, Windows'ta henüz edilmedi.
Codex ve diğer ajanlar
Skill, açık Agent Skills biçimine uyar; bu yüzden SKILL.md klasörlerini okuyan ajanlar onu kullanabilir. Stop hook ise Claude Code'a özgüdür. Codex için kaynak deposundaki dist/claude-plugin/skills/testdetta klasörünü ~/.codex/skills/testdetta (ya da $CODEX_HOME/skills) altına kopyalayın ve Codex'i yeniden başlatın.
Ajan ne gönderir
Hiçbir şey. td kendi adına hiçbir ağ çağrısı yapmaz ve plugin yalnızca makinenizde td ve git çalıştırır. Ajanınızın kendi sağlayıcısına ne gönderdiği sizinle o sağlayıcı arasındadır.