Design ★ 18,759

code-reviewer

TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP ve Dart/Flutter için otomatik code review aracı. PR'ları karmaşıklık ve risk açısından analiz eder, kod kalitesini SOLID ihlalleri ve code smell'leri kontrol ederek değerlendirir, review raporları üretir. Pull request incelemelerinde, kod kalitesi analizinde, sorun tespitinde ve review checklist'leri oluştururken kullanılır.

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

Code Reviewer

Pull request'leri analiz etmek, kod kalitesi sorunlarını tespit etmek ve inceleme raporları oluşturmak için otomatik kod inceleme araçları.


Bu Beceri Nasıl Organize Edilmiş

code-reviewer/
  SKILL.md                        ← buradasınız (araçlar + dispatch tablosu)
  rules/
    universal.md                  ← güvenlik, async, kaynaklar, istisnalar, performans — tüm diller
  languages/
    python.md                     ← Python'a özel kurallar + diyomlar
    typescript.md                 ← TypeScript / JavaScript'e özel kurallar + diyomlar
    go.md                         ← Go'ya özel kurallar + diyomlar
    swift.md                      ← Swift'e özel kurallar + diyomlar
    kotlin.md                     ← Kotlin'e özel kurallar + diyomlar
    csharp.md                     ← C# / .NET'e özel kurallar + diyomlar
    java.md                       ← Java'ya özel kurallar + diyomlar
    c.md                          ← C'ye özel kurallar + diyomlar
    cpp.md                        ← C++'a özel kurallar + diyomlar
    rust.md                       ← Rust'a özel kurallar + diyomlar
    ruby.md                       ← Ruby'ye özel kurallar + diyomlar
    php.md                        ← PHP'ye özel kurallar + diyomlar
    dart.md                       ← Dart / Flutter'a özel kurallar + diyomlar

Her inceleme için yükleme sırası

  1. Bu dosya (SKILL.md) — araçlar ve eşikler
  2. rules/universal.md — her dil için her zaman
  3. Eşleşen languages/*.md — aşağıdaki uzantı tablosuna göre bir dosya

Bu her zaman tam olarak 2 ek dosyadır, kapsam ne olursa olsun.

Uzantı(lar) Yükle
.py languages/python.md
.ts, .tsx, .js, .jsx, .mjs languages/typescript.md
.go languages/go.md
.swift languages/swift.md
.kt, .kts languages/kotlin.md
.cs, .csx, .razor, .cshtml languages/csharp.md
.java languages/java.md
.c, .h languages/c.md
.cpp, .cc, .cxx, .hpp, .hh, .hxx languages/cpp.md
.rs languages/rust.md
.rb, .rake, .gemspec, .ru languages/ruby.md
.php, .phtml languages/php.md
.dart languages/dart.md

Araçlar

PR Analyzer

Branch'ler arasındaki git diff'i analiz ederek inceleme karmaşıklığını değerlendirir ve riskleri tanımlar.

# Geçerli branch'i main'e karşı analiz et
python scripts/pr_analyzer.py /path/to/repo

# Belirli branch'leri karşılaştır
python scripts/pr_analyzer.py . --base main --head feature-branch

# İntegrasyon için JSON çıktısı
python scripts/pr_analyzer.py /path/to/repo --json

Tespit ettikleri (universal — dile özel sinyaller için dil dosyasına da bakınız):

  • Hardcoded sırlar (şifreler, API anahtarları, tokenlar, bağlantı dizeleri)
  • SQL / query injection desenleri
  • Üretim kodunda bırakılan debug ifadeleri
  • Lint / analyzer bastırma annotasyonları
  • TODO/FIXME açıklamaları

Dile özel tespitler her languages/*.md dosyasında tanımlanır.

Çıktı şunları içerir:

  • Karmaşıklık puanı (1-10)
  • Risk kategorisi (kritik, yüksek, orta, düşük)
  • İnceleme sırası için dosya önceliklendirilmesi
  • Commit mesajı doğrulaması

Code Quality Checker

Kaynak kodu yapısal sorunlar, kod kokuları ve SOLID ihlalleri açısından analiz eder.

# Bir dizini analiz et
python scripts/code_quality_checker.py /path/to/code

# Belirli dili analiz et
# Geçerli değerler: python, typescript, javascript, go, swift, kotlin, csharp, java, c, cpp, rust, ruby, php, dart
python scripts/code_quality_checker.py . --language java

# JSON çıktısı
python scripts/code_quality_checker.py /path/to/code --json

Universal eşikler:

Sorun Eşik
Uzun fonksiyon >50 satır
Büyük dosya >500 satır
God sınıfı >20 metod
Çok fazla parametre >5
Derin yuvalama >4 seviye
Yüksek karmaşıklık >10 branch

Dile özel kontroller her languages/*.md dosyasında tanımlanır.


Review Report Generator

PR analizini ve kod kalitesi bulgularını yapılandırılmış inceleme raporlarında birleştirir.

# Geçerli repo için rapor oluştur
python scripts/review_report_generator.py /path/to/repo

# Markdown çıktısı
python scripts/review_report_generator.py . --format markdown --output review.md

# Önceden hesaplanmış analizleri kullan
python scripts/review_report_generator.py . \
  --pr-analysis pr_results.json \
  --quality-analysis quality_results.json

Kararlar:

Puan Karar
90+ ve yüksek sorun yok Onayla
75+ ve ≤2 yüksek sorun Önerilerle onayla
50-74 Değişiklik iste
<50 veya kritik sorunlar Engelle

Yeni Bir Dil Ekleme

İnceleyici rehberi (gerekli):

  1. Mevcut bir dil dosyasını şablon olarak kullanarak languages/<name>.md oluştur — şu bölümlere sahip olmalı: PR Analyzer Signals, Code Quality Checks, Security, Async, Resource Management, Exception Handling, Performance, Idioms.
  2. Yukarıdaki dispatch tablosuna uzantı satırını ekle.

Bu, agent tarafından yönetilen inceleme için gerekli olan tüm şeydir.

Deterministik analyzer desteği (isteğe bağlı, önerilen): paket içindeki scriptler sadece açıkça bildiği dilleri işaretler. code_quality_checker.py'nin yeni dili skorlaması için:

  1. Uzantıları aynı dosyadaki LANGUAGE_EXTENSIONS'a ekle (bu aynı zamanda --language seçeneğini de ekler).
  2. Aynı dosyaya dil için function / class / method regex girdileri ekle; aksi takdirde Python desenleri kullanılır.
  3. İsteğe bağlı olarak bir check_<name>_specific_smells(...) detektörü ekle (C#, Java ve C olanlarına bakınız) ve analyze_file'dan çağır.
  4. assets/sample_<name>_smells.<ext> + _clean fixture'larını ve beklenen --json çıktısını expected_outputs/ altında kaydet ve regresyon kontrolü olarak commit et.

Regression Fixture'ları

Etiketlenmiş fixture'lar assets/ içinde canlı olup, committed --json çıktıları expected_outputs/ içinde (C#, Java ve C). Committed JSON'dan sapma analyzer'da davranış değişikliğine işaret eder:

python scripts/code_quality_checker.py assets/sample_java_smells.java --json \
  | diff - expected_outputs/sample_java_smells_quality.json

Benzer skill'ler

brainstorming Design

Herhangi bir yaratıcı çalışmaya başlamadan önce bunu mutlaka kullanın - feature oluştururken, component inşa ederken, functionality eklerken veya davranış değiştirirken. Kullanıcı niyetini, gereksinimleri ve tasarımı implementation öncesinde araştırır.

obra/superpowers ★ 235,495
finishing-a-development-branch Design

Uygulama tamamlandığında, tüm testler geçtiğinde ve çalışmanızı nasıl entegre edeceğinize karar vermeniz gerektiğinde kullanın - merge, PR veya cleanup seçeneklerini sunarak geliştirme sürecinin tamamlanmasını rehberlik eder.

obra/superpowers ★ 235,495
receiving-code-review Design

Kod incelemesi geri bildirimi alırken, önerileri uygulamadan önce kullanın; özellikle geri bildirim belirsiz veya teknik olarak şüpheli görünüyorsa - performatif anlaşmadan veya körü körüne uygulamadan ziyade teknik titizlik ve doğrulama gerekir.

obra/superpowers ★ 235,495
requesting-code-review Design

Görevleri tamamlarken, büyük özellikleri hayata geçirirken veya merge etmeden önce çalışmanın gereksinimleri karşıladığını doğrulamak için kullanın.

obra/superpowers ★ 235,495
using-git-worktrees Design

Yeni bir feature üzerinde çalışmaya başlarken veya implementasyon planını yürütmeden önce kullanın - native araçlar veya git worktree fallback aracılığıyla izole edilmiş bir workspace sağlar.

obra/superpowers ★ 235,495
using-superpowers Design

Herhangi bir konuşma başlatırken kullanın - skill'lerin nasıl bulunacağını ve kullanılacağını belirler, clarification soruları da dahil olmak üzere HERHANGİ bir yanıt vermeden önce skill invocation gerektirir.

obra/superpowers ★ 235,495
Daha fazla: Design →