AgentSkillsCN

github-turkish-commit

分析 Git 变更,自动生成符合土耳其语规范的 conventional commit 提交信息,推荐合适的分支,并推送到 GitHub。当用户使用“上传到 GitHub”、“提交 commit”、“推送代码”或类似表述时,此技能便会自动触发。

SKILL.md
--- frontmatter
name: github-turkish-commit
description: Git değişikliklerini analiz edip Türkçe conventional commit mesajı oluşturur, uygun branch önerir ve GitHub'a push eder. Kullanıcı "GitHub'a yükle", "commit at", "push et", "kodu gönder" veya benzeri ifadeler kullandığında tetiklenir.

GitHub Türkçe Commit & Push

Kullanıcı kodu GitHub'a yüklemek istediğinde bu iş akışını takip et.

Conventional Commit Prefix Tablosu (Türkçe)

PrefixKullanımTürkçe Açıklama Örneği
featYeni özellikfeat(auth): kullanıcı giriş sayfası eklendi
fixHata düzeltmefix(tablo): sayfalama hatası giderildi
refactorKod yeniden yapılandırmarefactor(api): servis katmanı sadeleştirildi
styleGörsel/CSS değişiklikleristyle(header): menü hizalaması düzeltildi
docsDokümantasyondocs(readme): kurulum adımları güncellendi
testTest ekleme/düzenlemetest(auth): login servisi testleri eklendi
choreYapılandırma/bağımlılıkchore(deps): electron sürümü güncellendi
perfPerformans iyileştirmeperf(liste): sanal kaydırma ile liste optimize edildi
ciCI/CD değişikliklerici(github): build pipeline eklendi
buildBuild sistemi değişiklikleribuild(vite): üretim yapılandırması güncellendi

İş Akışı

Adım 1: Durum Analizi

Aşağıdaki komutları paralel çalıştır:

bash
git status
git diff --staged
git diff
git log --oneline -5
git branch --show-current

Adım 2: Branch Değerlendirmesi

Mevcut branch'i kontrol et. Eğer main veya master üzerindeyse ve değişiklikler yeni bir özellik/düzeltme içeriyorsa, uygun branch öner:

Değişiklik TipiBranch FormatıÖrnek
Yeni özellikfeature/kisa-aciklamafeature/kullanici-giris
Hata düzeltmefix/kisa-aciklamafix/tablo-sayfalama
Yeniden yapılandırmarefactor/kisa-aciklamarefactor/servis-katmani
Acil düzeltmehotfix/kisa-aciklamahotfix/login-cokme

Branch adları: küçük harf, Türkçe karakter yok (ç→c, ş→s, ğ→g, ü→u, ö→o, ı→i), kelimeler tire ile ayrılsın.

Kullanıcıya branch önerisi sun. Kabul ederse oluştur, reddederse mevcut branch'te devam et.

Adım 3: Değişiklikleri Analiz Et

git diff ve git status çıktılarını analiz ederek:

  1. Hangi dosyalar değişmiş, eklenmiş veya silinmiş?
  2. Değişiklik hangi modüle ait? (scope belirle)
  3. Değişikliğin amacı ne? (feat/fix/refactor vb.)
  4. Birden fazla bağımsız değişiklik varsa ayrı commit'lere böl.

Adım 4: Commit Mesajı Oluştur

Format:

code
<prefix>(<scope>): <özet>

<detaylı açıklama - isteğe bağlı>

Kurallar:

  • Özet: Küçük harfle başla, sonuna nokta koyma, max 72 karakter
  • Scope: Değişen modül adı (auth, evrak, tablo, header vb.)
  • Detay: Neden bu değişiklik yapıldı, ne etkilendi (2+ dosya değiştiyse ekle)
  • Dil: Tamamen Türkçe yaz
  • Birden fazla bağımsız değişiklik varsa ayrı commit'ler oluştur

Güvenlik: .env, credentials, secret, token içeren dosyaları asla commit'leme. Varsa kullanıcıyı uyar.

Adım 5: Stage & Commit

bash
# İlgili dosyaları stage'e al
git add <dosyalar>

# Commit at (HEREDOC ile)
git commit -m "$(cat <<'EOF'
feat(auth): kullanıcı giriş sayfası eklendi

JWT tabanlı kimlik doğrulama ve oturum yönetimi entegre edildi
EOF
)"

Adım 6: Push

Commit başarılı olduktan sonra otomatik push yap:

bash
# Remote branch yoksa upstream ayarla
git push -u origin HEAD

Push başarılı olduktan sonra kullanıcıya bilgi ver:

  • Commit mesajını göster
  • Push edilen branch adını belirt
  • Varsa GitHub PR linki öner

Hata Durumları

HataÇözüm
Pre-commit hook başarısızHatayı düzelt, yeni commit oluştur (amend yapma)
Push reddedildigit pull --rebase ile güncelle, sonra tekrar push et
Merge conflictKullanıcıyı bilgilendir, çözüm için yardım öner
Remote yokgit remote add origin <url> ile ekle

Birden Fazla Değişiklik Örneği

Eğer farklı modüllerde bağımsız değişiklikler varsa:

bash
# 1. Commit: Auth değişiklikleri
git add src/auth/
git commit -m "$(cat <<'EOF'
feat(auth): oturum yönetimi eklendi
EOF
)"

# 2. Commit: UI düzeltmeleri
git add src/renderer/components/
git commit -m "$(cat <<'EOF'
style(ui): header bileşeni hizalaması düzeltildi
EOF
)"

# Tüm commit'leri tek seferde push et
git push -u origin HEAD