Development ★ 140,637

setup-pre-commit

Mevcut repo'nuzda Husky pre-commit hooks'larını lint-staged (Prettier), type checking ve testlerle yapılandırın. Kullanıcı pre-commit hooks eklemek, Husky kurulum yapmak, lint-staged yapılandırmak ya da commit sırasında formatting/typechecking/testing eklemek istediğinde kullanın.

cd ~/.claude/skills
git clone https://github.com/mattpocock/skills.git skills

Pre-Commit Hooks Kurulumu

Ne Kurulur

  • Husky pre-commit hook
  • lint-staged tüm staged dosyalarda Prettier çalıştırması
  • Prettier config (eksikse)
  • Pre-commit hook içinde typecheck ve test scriptleri

Adımlar

1. Package manager'ı tespit et

package-lock.json (npm), pnpm-lock.yaml (pnpm), yarn.lock (yarn), bun.lockb (bun) kontrol et. Hangisi varsa onu kullan. Emin değilsen npm'ye default yap.

2. Bağımlılıkları yükle

devDependencies olarak yükle:

husky lint-staged prettier

3. Husky'yi başlat

npx husky init

Bu .husky/ dizini oluşturur ve package.json'a prepare: "husky" ekler.

4. .husky/pre-commit oluştur

Bu dosyayı yaz (Husky v9+ için shebang gerekmez):

npx lint-staged
npm run typecheck
npm run test

Uyarla: npm yerine tespit edilen package manager'ı koy. Eğer repo'da package.json'da typecheck veya test scripti yoksa o satırları kaldır ve kullanıcıya bildir.

5. .lintstagedrc oluştur

{
  "*": "prettier --ignore-unknown --write"
}

6. .prettierrc oluştur (eksikse)

Sadece Prettier config yoksa oluştur. Şu defaultları kullan:

{
  "useTabs": false,
  "tabWidth": 2,
  "printWidth": 80,
  "singleQuote": false,
  "trailingComma": "es5",
  "semi": true,
  "arrowParens": "always"
}

7. Doğrula

  • [ ] .husky/pre-commit var ve executable
  • [ ] .lintstagedrc var
  • [ ] package.json'daki prepare scripti "husky"
  • [ ] Prettier config var
  • [ ] npx lint-staged çalıştır ve çalışıp çalışmadığını doğrula

8. Commit et

Tüm değişen/oluşturulan dosyaları stage et ve şu mesajla commit et: Add pre-commit hooks (husky + lint-staged + prettier)

Bu yeni pre-commit hooks'ları çalıştıracak — her şeyin çalıştığını doğrulamak için iyi bir test.

Notlar

  • Husky v9+ hook dosyalarında shebang gerektirmez
  • prettier --ignore-unknown Prettier'ın parse edemediği dosyaları atlar (resimler, vb.)
  • Pre-commit önce lint-staged'i (hızlı, sadece staged), sonra full typecheck ve testleri çalıştırır

Benzer skill'ler

Daha fazla: Development →