RepoDoctor: Node.js ve TypeScript İçin Yerel Repo Sağlık ve Güvenlik Tarayıcısı
GELİŞTİRİCİ ARAÇLARIRepoDoctorNode.js

RepoDoctor: Node.js ve TypeScript İçin Yerel Repo Sağlık ve Güvenlik Tarayıcısı

calendar_today5 EYL 2026
schedule5 DK OKUMA
boltİLERİ SEVİYE

Node.js Proje Sağlık Denetimi: RepoDoctor ile Güvenlik, Bağımlılık ve CI/CD Analizi

Node.js projeniz yerel geliştirme makinenizde kusursuz çalışıyor.

Ardından GitHub Actions CI patlıyor.

Kullanımdan kaldırılmış bir paket gözden kaçmış. Kaynak koda kazara gizli bir API anahtarı commit edilmiş. .env yapılandırması sunucu ortamıyla uyuşmuyor. Bir GitHub Actions iş akışında kritik bir adımı eksik tanımlanmış ya da monorepo yapınızdaki iki farklı paket aynı kütüphanenin çakışan sürümlerini kullanıyor.

Bu tür yapısal problemler yazılım geliştirme sürecinde kolayca gözden kaçar ancak canlıda (production) felaketle sonuçlanır.

[!IMPORTANT] Özet Yanıt: RepoDoctor Nedir ve Neden Önemlidir? RepoDoctor (npx @gucluyumhe/repodoctor), Ömer Özbay tarafından geliştirilen, açık kaynaklı ve yerel çalışan (local-first) bir JavaScript/TypeScript repo analiz ve güvenlik tanı aracıdır. Kodlarınızdan tek bir bayt dahi bilgisayarınızdan dışarı çıkmadan; sızdırılmış kimlik bilgilerini, bağımlılık açıklarını, monorepo uyumsuzluklarını ve hatalı CI/CD akışlarını saniyeler içinde tespit eder ve otomatik onarır.


Modern JavaScript Repolarındaki Gizli Kırılganlıklar

Günümüz JavaScript ve TypeScript projeleri yalnızca birkaç kaynak dosyadan ibaret değildir. Tipik bir kurumsal repoda:

  • Yüzlerce iç içe geçmiş node_modules bağımlılığı
  • Çoklu ortam değişkenleri ve .env.example şablonları
  • Karmaşık GitHub Actions veya GitLab CI iş akışları
  • Konteyner yapılandırmaları (Dockerfile, docker-compose.yml)
  • Monorepo paket yöneticisi sınırları (pnpm, Turborepo, Yarn)
  • Katı TypeScript derleyici (tsconfig.json) ayarları bulunur.

Yalnızca birim testleri (unit tests) veya ESLint gibi geleneksel linter'ları çalıştırmak reponuzun bütünsel mimari sağlığını ve gizli anahtar güvenliğini ölçemez.

Karşılaştırma Matrisi: Tanı Araçları Yaklaşımı

Özellik Standart Linter'lar (ESLint/Prettier) Bulut Tarayıcıları (Snyk / SonarQube) RepoDoctor (@gucluyumhe/repodoctor)
Çalışma Modeli Yerel dosya AST ayrıştırması Buluta kod yükleme zorunluluğu %100 Yerel (Veri asla dışarı çıkmaz)
Gizli Anahtar (Secret) Taraması Yok Ücretli / Bulut tabanlı Yerleşik Regex & Shannon Entropi
CI/CD İş Akışı Denetimi Yok Kısıtlı Eksiksiz GitHub Actions pipeline analizi
Monorepo Bağımlılık Kayması Yok Karmaşık kurulum Paketler arası anlık sürüm karşılaştırması
Otomatik Onarım (--fix) Sadece kod formatlama Manuel talimatlar Otomatik dosya onarımı (.gitignore, tsconfig)
Kurulum Maliyeti Ayar dosyaları gerektirir Hesap açma, webhook bağlama Sıfır kurulum (npx @gucluyumhe/repodoctor)

1. RepoDoctor Reponuzda Neleri Denetler?

RepoDoctor tüm projenizi çok boyutlu bir güvenlik ve mimari taramadan geçirir:

graph TD
    Repo[Projeniz / Repo] --> Scanner[RepoDoctor Tanı Motoru]
    Scanner --> S1[Güvenlik: Sızdırılmış Gizli Anahtarlar]
    Scanner --> S2[Bağımlılıklar: Güvenlik Açıkları & Sürüm Kayması]
    Scanner --> S3[CI/CD: GitHub Actions Akış Doğrulaması]
    Scanner --> S4[Yapılandırma: tsconfig, Docker, Env Uyuşmazlığı]
    Scanner --> Report[Çözüm Odaklı Tanı Raporu]

A. Sızdırılmış Gizli Anahtar ve Kimlik Bilgileri

Geliştiricilerin yaptığı en tehlikeli hatalardan biri gizli anahtarları Git geçmişine göndermektir. RepoDoctor şunları tarar:

  • API Anahtarları (OpenAI, Stripe, AWS, GitHub token'ları, SendGrid)
  • Özel Anahtarlar (.pem, .id_rsa, .key)
  • Veritabanı Bağlantı Dizgileri (postgres://, mongodb+srv://)
  • Açıkta kalan JWT ve Bearer oturum token'ları

B. Bağımlılık Sağlığı ve Monorepo Sürüm Kayması

Büyük monorepolarda farklı paketler çoğunlukla aynı kütüphanenin birbiriyle uyumsuz versiyonlarını kullanır. RepoDoctor şunları yakalar:

  • Kullanımdan kaldırılmış (deprecated) paketler
  • Çakışan kilit dosyaları (package-lock.json ile pnpm-lock.yaml karışıklığı)
  • Bildirilmemiş (undeclared) import çağrıları
  • Bundle boyutunu şişiren kullanılmayan paketler

C. CI/CD Akış Hatalarının Önlenmesi

RepoDoctor .github/workflows/*.yml dosyalarını ayrıştırarak:

  • Derleme öncesi checkout adımının olup olmadığını
  • Node.js önbellekleme (cache) adımlarını
  • Güvenlik ihlallerini önlemek için action sürümlerinin sabitlenmesini (pinning) doğrular.

2. Hızlı Başlangıç: 5 Saniyede RepoDoctor Çalıştırın

RepoDoctor doğrudan npm üzerinde yayınlandığından küresel bir kuruluma gerek duymaz. npx ile anında çalıştırabilirsiniz:

Adım 1: Anlık Tarama Başlatın

npx @gucluyumhe/repodoctor

RepoDoctor çalışma alanınızı tarar, renkli durum göstergeleri sunar ve genel RepoSağlık Skorunuzu (A+'dan F'ye) hesaplar.

Adım 2: Hataları Otomatik Onarın

Eksik .gitignore, bozuk tsconfig.json veya eksik .env.example şablonları tespit edildiğinde şu komutu çalıştırın:

npx @gucluyumhe/repodoctor --fix

RepoDoctor iş mantığınıza dokunmadan eksik yapılandırma dosyalarını güvenle üretir veya yamalar.

Adım 3: GitHub Actions Akışını Otomatik Ekleyin

Her pull request işleminde repo sağlığını otomatik kontrol etmek için CI şablonunu tek komutla oluşturun:

npx @gucluyumhe/repodoctor init-ci

3. Ekipler ve CI İçin Çoklu Çıktı Formatları

RepoDoctor kurumsal raporlama formatlarını varsayılan olarak destekler:

  • Etkileşimli HTML Dashboard: Görsel grafikler ve kategorize edilmiş hata kartları.
  • SARIF Formatı: GitHub Code Scanning ve güvenlik sekmesiyle tam entegre.
  • JSON & Markdown: Pull request yorumları ve iç uyumluluk takipleri için ideal.
npx @gucluyumhe/repodoctor --format html --output report.html

Sıkça Sorulan Sorular (FAQ)

RepoDoctor kaynak kodumu harici bir bulut sunucusuna gönderir mi?

Hayır. RepoDoctor kesinlikle %100 yerel çalışan (local-first) bir araçtır. Tüm ayrıştırma, gizli anahtar taraması ve rapor üretimi kendi bilgisayarınızdaki Node.js sürecinde gerçekleşir. Dışarıya tek bir bayt dahi gönderilmez.

RepoDoctor'ın npm audit komutundan farkı nedir?

npm audit yalnızca npm veritabanındaki bilinen CVE açıklarını sorgular. RepoDoctor ise projenizin bütünsel mimarisini inceler: sızdırılmış gizli anahtarlar, hatalı CI/CD dosyaları, Docker açıkları, .env uyuşmazlıkları ve derleme bayrakları.

RepoDoctor'ı CI/CD süreçlerime entegre edebilir miyim?

Evet. RepoDoctor kritik güvenlik açıkları veya hatalı iş akışları bulunduğunda süreci durduracak (--strict) çıkış kodları üretir.


Açık Kaynak ve Paket Bağlantıları

RepoDoctor tamamen açık kaynaklıdır:

Projenizi bugün denetleyin ve canlıya güvenle çıkın:

npx @gucluyumhe/repodoctor
Ömer Özbay
YAZAN

Ömer Özbay

Yüksek performanslı arka yüz mimarilerini piksel hassasiyetinde ön yüz deneyimleriyle birleştirmede uzmanlaşmış Tam Yığın Geliştirici. Yapay zeka ve modern web teknolojileriyle geleceği inşa ediyor.

MİMARİ SÜREKLİLİK

İlgili Mimariler & Teknik Yazılar

Tüm Yazıları Oku