RestoPromt

commit-standardi — Conventional Commits SKILL'i

SkillYazılım
RestoPromt16 Temmuz 2026

SKILL dosyası: .claude/skills/commit-standardi/SKILL.md olarak kaydet. Commit atarken Conventional Commits formatını, atomik commit kuralını ve Türkçe/İngilizce mesaj standardını otomatik uygular.

---
name: commit-standardi
description: Commit mesajı yazarken veya commit atarken kullanılır. Conventional Commits formatını, atomik commit kuralını ve tutarlı mesaj dilini uygular. Kullanıcı "commit at", "commitle", "değişiklikleri kaydet" dediğinde devreye girer.
---

# Commit Standardı

Commit atmadan önce bu kuralları uygula.

## 1. Önce durumu incele

- `git status` ve `git diff --staged` (staged bir şey yoksa `git diff`) çıktısına bak.
- Birbirinden bağımsız değişiklikler varsa TEK commit'e sıkıştırma — mantıksal
  parçalara böl ve her parçayı ayrı commit'le (atomik commit).
- Diff'te commit'lenmemesi gereken şey var mı kontrol et: secret/API key,
  debug console.log, yorum satırı yapılmış eski kod, .env dosyaları.
  Varsa kullanıcıya söyle, commit'e dahil etme.

## 2. Mesaj formatı — Conventional Commits

```
<tip>(<kapsam>): <özet>

<gövde — neden yapıldığı, opsiyonel>
```

| Tip | Ne zaman |
|-----|----------|
| feat | Yeni özellik |
| fix | Hata düzeltme |
| refactor | Davranış değiştirmeyen kod iyileştirme |
| perf | Performans iyileştirme |
| docs | Sadece dokümantasyon |
| test | Test ekleme/düzeltme |
| chore | Bağımlılık, config, build işleri |
| ci | CI/CD değişiklikleri |

Kurallar:
- Özet satırı en fazla 72 karakter, emir kipinde ("ekler" değil "ekle"),
  sonunda nokta yok.
- Kapsam kısa ve tutarlı olsun: dosya değil modül adı (auth, form, api gibi).
- Gövde "ne"yi değil "neden"i anlatır; diff zaten "ne"yi gösteriyor.
- Breaking change varsa gövdeye `BREAKING CHANGE:` satırı ekle.
- Depodaki mevcut commit diline uy (`git log --oneline -10` ile bak):
  geçmiş Türkçe ise Türkçe, İngilizce ise İngilizce yaz.

## 3. Örnekler

İyi:
```
feat(auth): Google ile giriş ekle

Şifre sıfırlama destek yükünü azaltmak için OAuth akışı tercih edildi.
```

Kötü → düzeltilmiş:
- "düzeltmeler" → `fix(form): boş kategori seçiminde çökme sorununu düzelt`
- "wip" → commit'leme; iş bitmediyse kullanıcıya söyle
- "update index.ts" → `refactor(api): rate limit kontrolünü middleware'e taşı`

## Korkuluklar

- `git push --force` asla önerme; gerekiyorsa `--force-with-lease` ve kullanıcı onayı.
- `git add -A` yerine dosyaları seçerek ekle; ilgisiz dosya commit'e girmesin.
- main/master üzerindeysen ve değişiklik büyükse önce branch açmayı öner.

Değişiklik öner

Bu promptu yalnızca sahibi düzenleyebilir; ama sen bir iyileştirme önerebilirsin. Sahibi kabul ederse içerik güncellenir.

Öneri göndermek için giriş yap