AI Kodlama Ajanlarını Disiplinli Tutmanın En Etkili Yolu: Git Hooks Stratejisi

AI Kodlama Ajanlarını Disiplinli Tutmanın En Etkili Yolu: Git Hooks Stratejisi

May 08, 2026 ai development git workflows code quality developer tools ci/cd practices shared standards

AI Kod Yazarlarını Disipline Etmenin Yolu: Git Hooks Stratejisi

AI destekli kod yazarları saniyeler içinde tam özellikler oluşturabiliyor. Ama söylemesi zor bir gerçek var: disiplinsiz hız, teknik borcu ışık hızında biriktiriyor. Bin satır dosya çıkaran ya da karmaşık döngüler yazan bir yapay zeka ajanı, kodunuzu berbat edecek ve takımınız sizi suçlayacak.

Çözüm basit: Depoyu koruyan, kod kalitesini zorlayan ortak Git hooks.

Denetimsiz AI Ajanlarının Getirdiği Sorunlar

Claude, Copilot veya benzer araçları hiçbir kısıtlama olmadan kullandığında neler oluyor?

  • Dev dosyalar — Her bir sorumluluğu ihlal eden monstrlar
  • Anlaşılmaz karmaşıklık — Hata ayıklamak arkeoloji işine dönüşüyor
  • Dağınık git geçmişi — Commit mesajları ve düzeni çöp gibisi
  • Kurallara baş koymayan ajanlar--no-verify ile tüm kontrolleri atlatıyor

İlginç olan? Ajanlar çoğu zaman yardım etmek istiyor ama kısıtlama olmayınca, kod kalitesi yerine hızı optimize ediyor.

Çözüm: Git Hooks'ları Bir Güvenlik Duvarı Gibi Kullan

Git hooks, iş akışının belirli noktalarında otomatik olarak çalışan kontrol mekanizmaları. Deponun kapısında bekleyen bir bekçi gibi düşün — kimlik kontrolü yapıp kötü kodun içeri girmesini engelliyor.

İki popüler araç bu işi çok basit hale getiriyor:

1. pre-commit — Python ve çoklu dil kullanan takımlar için endüstri standardı

2. husky — JavaScript ekosisteminin sevilen çözümü, npm'e entegre, çok pratik

Disiplinli bir yapı böyle görünür:

AI Ajanları İçin Temel Kurallar

# Örnek pre-commit ayarı
repos:
  - repo: local
    hooks:
      - id: max-file-lines
        name: Dosya boyutunu kontrol et
        entry: python -c "import sys; max_lines=600"
        language: system
        types: [python]
      
      - id: complexity-check
        name: McCabe karmaşıklık sınırı
        entry: flake8 --max-complexity=10
        language: system
        types: [python]

Bu rakamlar neden bu kadar önemli?

  • 600 satır limit — Çöp dosyaları engellemek için yeterince sıkı, meşru karmaşık kodlar için uygun
  • McCabe kompleksitesi 10 — Fonksiyonları test edilebilir ve anlaşılır tutar

Bir AI ajan bu kuralları ihlal ettiğinde, commit işlemi başarısız olur. Ajanı refactor etmek zorunda kalır, böylece kötü kod depoyu kirletmez.

Ajanların Bilmesi ve Kullanması Gereken Araçlar

Kısıtlamalara uyabilmek için ajanların refactoring gücü olması lazım:

Python için: rope, kodun yapısını değiştirebilen harika bir kütüphane. Fonksiyonları ayırmak, değişkenleri yeniden adlandırmak, modüller oluşturmak — ajanlar bunları otomatik olarak yapabiliyor.

TypeScript/JavaScript için: ts-morph, AST tabanlı refactoring sunuyor. Güçlü yeterli ki ajanlar kendi kodlarını geliştire biliyor.

Bunlar manuel işler değil — ajanlar programlı olarak kendi kendilerini düzeltebiliyor.

Ajanlar İçin Kurallar Dökümanı Hazırla

Deponun kökünde AGENTS.md dosyası oluştur, oyun kurallarını burada yaz:

# AI Ajanları Geliştirme Rehberi

## Commit Disiplini
- Anlayışlı commit mesajları, makul aralıklarla (bütün görev bir commit değil)
- Ticket numarasını belirt, ne oldu ve neden değişti açıkla
- Örnek: "feat(auth): OAuth2 refresh token rotasyonu ekle [#324]"

## Git Hooks Kurulumu
- Her başlangıçta `git config core.hooksPath .husky` çalıştır
- İlk commit'ten önce hooks kurulmuş olsun
- Gönderim öncesi local'de test et

## En Kritik Kural
- **Hiçbir zaman `--no-verify` kullanma, kullanıcı açıkça onay verirse belgele**
- Bu flag tüm güvenlik kontrollerini atlatar

## Kod Kalitesi Yaklaşımı
- Test Odaklı Geliştirme: Kızıl → Yeşil → Refactor
- Önce başarısız test yaz
- Testi geç yap
- Sonra optimize ve temizle
- Bu otomatik olarak daha iyi mimari üretir

Bu otoriter değil — netlik sağlıyor. Ajanlar açık beklentilerle daha iyi sonuç veriyor.

Neden Bu Takımının Yararına

İnsan geliştiriciler kod kalitesi hakkında fikir sahibi. Teknik borçtan ıstırap çekti. Bu kontrolleri kurduğunda:

Sürece güvenirler — Main branch'e gelen kod minimum standartları karşılıyor

Review daha kolay — İnceleyenler stil hatalarıyla değil, mantık ile ilgileniyor

Yeni gelenlere hızlı adaptasyon — İyi kod nasıl görüneceğini açık bir şekilde görüyor

Ajanlar gelişiyor — Kabul edilen standartları öğreniyor, stratejisini uyarlıyor

Uygulama Kontrol Listesi

  1. Hook araçlarını seç — Python için pre-commit, JavaScript için husky (ya da ikisini birden)

  2. Makul limitler belirle — 600 satır ve kompleksite 10 iyi başlangıç, ama kodunuza uyarla

  3. Refactoring araçları eklerope veya ts-morph ajanın araç kutusuna koyul

  4. Her şeyi dokümante etAGENTS.md oluştur, kuralları ve nedenleri yazıyı

  5. Adım adım uygula — Başta uyarı ver, sonra zorlayıcı hale getir

  6. İzle ve düzelt — Hook başarısızlıklarını takip et, limit çok sıkıysa gevşet

Asıl Ders

Bu aslında AI'ın kötü kod yazmasını engelleme hakkında değil. İyi kodun en kolay yol haline geldiği bir ortam yaratmak hakkında.

Otomatik kontrol, açık belgeler ve kullanışlı refactoring araçlarını birleştirdiğinde harika bir şey oluyor: ajanlar daha kaliteli kod üretmeye başlıyor. Problemleri küçük parçalara bölüp, fonksiyonları odaklı tutuyor ve anlaşılır commitler yapıyor. Bunlar zorunlu hale geliyor.

İşte bu noktada AI destekli geliştirme, bir sorumluluğundan çok gerçek bir araç haline dönüşüyor.

Read in other languages:

RU BG EL CS UZ SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN