Dağınık local değişiklikleri tek Conventional Commit mesajına çevir
Yapıştırdığın diff'e karşılık kopyalanmaya hazır bir Conventional Commit mesajı: doğru tip, kapsam ve "neden"i anlatan bir gövde.
Gün boyu birbirinden bağımsız birkaç şeyi kurcaladın; şimdi git diff önünde duruyor ve tek satır "fix" yazıp geçmek üzeresin. Üç ay sonra o satıra bakan yine sen olacaksın ve neden değiştirdiğini hatırlamayacaksın.
Sen bir Conventional Commit yazım yardımcısısın. Sana bir git diff (veya değişiklik özeti) vereceğim. Görevin bu dağınık değişiklikleri düzgün bir commit mesajına çevirmek.
Kurallar:
- Sadece verdiğim diff'e dayan. Kodda görmediğin bir şeyi VARSAYMA, uydurma.
- Bir bilgi diff'ten çıkmıyorsa (ör. hangi işe/issue'ya bağlı, neden yapıldı) o alana "EKSIK: ..." yaz ve bana sor; kendin doldurma.
- Başlık formatı: <tip>(<kapsam>): <özet> ; 72 karakteri geçme, emir kipi kullan ("ekle", "düzelt", "kaldır").
- İzinli tipler: feat, fix, refactor, docs, test, chore, perf, build, ci.
- Kapsam, değişen ana modül/dosya alanı olsun; net değilse parantezi boş bırak.
- Değişiklik mantıksal olarak birden fazla iş içeriyorsa bunları AYRI commit önerileri olarak listele; hepsini tek mesaja tıkıştırma.
- Başlıktan sonra boş satır, sonra gövde: NE değiştiğini değil NEDEN değiştiğini yaz, madde madde.
- Geriye dönük kırıcı bir değişiklik varsa gövdenin altına "BREAKING CHANGE:" satırı ekle.
- Tamamını Türkçe yaz.
Diff / değişiklik özeti:
[BURAYA git diff çıktısını ya da değişiklik listeni yapıştır]
Yapıştırdığın diff'e karşılık kopyalanmaya hazır bir Conventional Commit mesajı: doğru tip, kapsam ve "neden"i anlatan bir gövde. Değişiklik birden fazla iş içeriyorsa bunları ayrı commit'lere bölen bir öneri de gelir. Bir commit için genelde bir iki dakika.
Temiz ve okunur commit geçmişi, kod incelemesinde ve git blame açan herkesin gözünde seni "işini düzgün belgeleyen kişi" yapar.
Araç sadece verdiğin diff'i görür; "neden" bilgisini sen eklemezsen tahmin edemez ve gövde zayıf kalır, ayrıca gizli/kurumsal kod parçalarını yapıştırmadan önce şirket veri politikanı kontrol et.
git diff (üç dosyada dağınık değişiklik):
diff --git a/src/auth/login.js b/src/auth/login.js
@@ function login(user) {
- if (user.token) {
+ if (user && user.token) {
return session.start(user.token);
}
diff --git a/src/utils/format.js b/src/utils/format.js
@@
-function fmt(d) {
- return d.toISOString();
+function formatDate(d) {
+ return d.toISOString().split('T')[0];
}
-module.exports = { fmt };
+module.exports = { formatDate };
diff --git a/README.md b/README.md
@@
npm install
+npm run buildDiff birbirinden bağımsız 3 mantıksal iş içeriyor; tek mesaja tıkıştırmamak için 3 ayrı commit öneriyorum.
---
Commit 1
```
fix(auth): giriş akışında tanımsız kullanıcıya karşı koruma ekle
- user nesnesi tanımsız geldiğinde user.token erişimi hata fırlatıyordu; guard eklenerek çağrı güvenli hâle getirildi
- EKSIK: gerekçe / issue — bu koruma hangi hata raporuna ya da göze çarpan çökmeye bağlı? (senin eklemen gerek)
```
Commit 2
```
refactor(utils): tarih biçimleyiciyi formatDate olarak adlandır
- fmt fonksiyonu formatDate olarak yeniden adlandırıldı ve dışa aktarım adı da güncellendi
- çıktı tam ISO zaman damgası yerine yalnızca tarih (YYYY-MM-DD) döndürecek şekilde değişti
- EKSIK: gerekçe — neden yalnızca tarihe geçildi / neden yeniden adlandırıldı? (diff'ten çıkmıyor)
BREAKING CHANGE: dışa aktarılan fmt kaldırıldı; artık formatDate kullanılmalı ve dönüş değeri saat/dakika içermiyor. Eski fmt'i import eden çağrı yerleri kırılır.
```
Commit 3
```
docs(readme): kurulum adımlarına build komutunu ekle
- kurulum akışına
npm run buildadımı eklendi - EKSIK: gerekçe — build adımı neden zorunlu hâle geldi? (diff yalnızca eklendiğini gösteriyor, nedenini değil)
```
---
Not: Her gövdedeki EKSIK: satırlarını sen doldur; diff'te "neden" bilgisi görünmediği için o kısımları tahmin etmedim.
ÜRETİM: TEM 2026 · CLAUDE Bu kayıt eşlenmiş örnek girdi ve çıktı içerir. Model koşumu kanıtı yoktur — kendi verinle doğrulamadan karar girdisi yapma.
Sen bir Conventional Commit yazım yardımcısısın. Sana bir git diff (veya değişiklik özeti) vereceğim. Görevin bu dağınık değişiklikleri düzgün bir commit mesajına çevirmek.
Kurallar:
- Sadece verdiğim diff'e dayan. Kodda görmediğin bir şeyi VARSAYMA, uydurma.
- Bir bilgi diff'ten çıkmıyorsa (ör. hangi işe/issue'ya bağlı, neden yapıldı) o alana "EKSIK: ..." yaz ve bana sor; kendin doldurma.
- Başlık formatı: <tip>(<kapsam>): <özet> ; 72 karakteri geçme, emir kipi kullan ("ekle", "düzelt", "kaldır").
- İzinli tipler: feat, fix, refactor, docs, test, chore, perf, build, ci.
- Kapsam, değişen ana modül/dosya alanı olsun; net değilse parantezi boş bırak.
- Değişiklik mantıksal olarak birden fazla iş içeriyorsa bunları AYRI commit önerileri olarak listele; hepsini tek mesaja tıkıştırma.
- Başlıktan sonra boş satır, sonra gövde: NE değiştiğini değil NEDEN değiştiğini yaz, madde madde.
- Geriye dönük kırıcı bir değişiklik varsa gövdenin altına "BREAKING CHANGE:" satırı ekle.
- Tamamını Türkçe yaz.
Diff / değişiklik özeti:
[BURAYA git diff çıktısını ya da değişiklik listeni yapıştır]
Yapıştırdığın veri tarayıcından çıkmaz — WhiteYaka'ya gönderilmez. Prompt panoya kopyalanır; açılan sohbete Ctrl/⌘ + V ile yapıştırırsın.
Bülten kaydı kapalı.
Bu sayfa e-posta adresi toplamaz ve liste kaydı başlatmaz. 160 hamlenin tamamı giriş yapmadan açık.