AI Git Commit & PR Generator
Terminaldeki git diff veya git diff --cached çıktınızı yapıştırın; değişen dosyaları, satır farklarını ve kod bağlamını analiz ederek kurallara uygun Conventional Commits mesajı ve incelemeye hazır GitHub Pull Request (PR) taslağı oluştursun.
Conventional Commits ve Modern Git İş Akışları Rehberi
Git commit mesajları ve Pull Request (PR) açıklamaları, bir yazılım projesinin yaşayan dokümantasyonudur. Bu araç; terminaldeki git diff çıktısını ayrıştırarak feat, fix, refactor, perf, docs, test ve chore türlerini otomatik çıkarır; değişen dizin yapısına göre modül kapsamı (scope) belirler ve GitHub standartlarında PR taslağı oluşturur.
1. Conventional Commits 1.0.0 Standardı Nedir?
Conventional Commits, commit mesajları üzerine yapılandırılmış hafif bir kural kümesidir. Mesajları insanların kolayca okuyabileceği, otomasyon araçlarının ise (CI/CD, Semantic Release, Lerna, Changesets) hatasız yorumlayabileceği açık bir sözdizimi tanımlar:
<tür>[isteğe bağlı kapsam][!]: <kısa açıklama>
[isteğe bağlı gövde açıklaması / istatistikler]
[isteğe bağlı altbilgi: BREAKING CHANGE veya Issue referansı]Eğer yapılan değişiklik geriye dönük uyumluluğu bozuyorsa (breaking change), türün veya kapsamın hemen ardına ! işareti eklenir (ör. feat(api)!: v2 auth formatına geçiş) veya altbilgiye BREAKING CHANGE: açıklama yazılır. Bu sayede SemVer otomasyon araçları sürümü otomatik olarak Major olarak artırır.
2. Desteklenen Commit Türleri ve Doğru Kullanım
Doğru commit türünü seçmek, ekip içi kod incelemelerini (Code Review) hızlandırır ve changelog dökümlerini kristal netliğine kavuşturur:
| Tür | SemVer Etkisi | Ne Zaman Kullanılır? | Örnek |
|---|---|---|---|
| feat | MINOR (0.X.0) | Kullanıcıya veya API tüketicisine yeni bir özellik eklendiğinde. | feat(auth): google oauth desteği |
| fix | PATCH (0.0.X) | Bir hata, çökmeye sebep olan kusur veya beklenmeyen davranış düzeltildiğinde. | fix(cart): sepet toplamı ondalık hatası |
| refactor | PATCH / Yok | Kod davranışı değişmeden yapılan temizlik, yeniden adlandırma veya mimari düzenlemeler. | refactor(db): prisma client sorgularını optimize et |
| perf | PATCH | Uygulamanın çalışma süresini, bellek veya ağ tüketimini iyileştiren optimizasyonlar. | perf(images): avif formatına geç ve lazy-load |
| test | Etkisiz | Eksik birim/e2e testleri yazıldığında veya bozuk test senaryoları düzeltildiğinde. | test(checkout): ödeme akışı playwright testleri |
| docs | Etkisiz | Yalnızca README, Wiki veya kod içi dokümantasyon güncellendiğinde. | docs(readme): kurulum adımlarına pnpm ekle |
| chore | Etkisiz | Bağımlılık güncellemeleri, tsconfig, package.json veya linter ayarları. | chore(deps): next.js v15 sürümüne yükselt |
3. Terminalden Hızlı Git Diff Alma ve Panoya Gönderme
Farklı durumlar için terminalde kullanabileceğiniz pratik diff komutları:
git diffgit add Yapılmış) Değişiklikler (Tavsiye Edilen):git diff --cached(veya git diff --staged)git diff HEAD~1git diff --cached | pbcopygit diff --cached | xclip -sel clipgit diff --cached | Set-Clipboard4. Kaliteli Bir GitHub / GitLab Pull Request Nasıl Hazırlanır?
İyi bir PR, kod inceleyicilerin (reviewer) vakit kaybetmeden neyin neden değiştiğini anlamasını sağlar:
- Küçük ve Odaklanmış Tutun: 500+ satırlık devasa PR'lar yerine, tek bir sorumluluğu çözen atomik PR'lar açın.
- Doğrulama / Test Planı Ekleyin: Bu aracın ürettiği şablondaki gibi, inceleyicinin kodu yerelde veya önizleme ortamında nasıl test edeceğini açıkça belirtin.
- İlgili Issue ile Eşleştirin: PR gövdesine
Closes #123veyaFixes PROJ-42yazarak PR birleştiğinde (merge) issue'nun otomatik kapanmasını sağlayın.
5. Sıfır Veri Transferi: Tamamen İstemci Taraflı (Client-Side Privacy)
Kurumsal projelerde ve gizli kod depolarında en büyük endişe, kod bloklarının üçüncü parti bulut LLM servislerine sızmasıdır. Bu araç, analizin tamamını tarayıcınızın JavaScript motorunda yerel olarak yürütür. Hiçbir git diff verisi, token veya kaynak kod parçası sunucuya gönderilmez; tamamen çevrimdışı (offline) çalışabilir güvenliğe sahiptir.
Geliştirici İş Akışınızı Destekleyen Diğer Araçlar
Geliştirme sürecinizde ihtiyaç duyabileceğiniz diğer ücretsiz araçlar: