mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-03 15:43:31 +08:00
fix: harden unicode safety checks
This commit is contained in:
@@ -182,7 +182,7 @@ Oluşturulan artifact'lar:
|
||||
╔══════════════════════════════════════════════════════════════╗
|
||||
║ E2E Test Sonuçları ║
|
||||
╠══════════════════════════════════════════════════════════════╣
|
||||
║ Durum: ✅ TÜM TESTLER GEÇTİ ║
|
||||
║ Durum: PASS: TÜM TESTLER GEÇTİ ║
|
||||
║ Toplam: 3 test ║
|
||||
║ Geçti: 3 (%100) ║
|
||||
║ Başarısız: 0 ║
|
||||
@@ -191,15 +191,15 @@ Oluşturulan artifact'lar:
|
||||
╚══════════════════════════════════════════════════════════════╝
|
||||
|
||||
Artifact'lar:
|
||||
📸 Ekran Görüntüleri: 2 dosya
|
||||
📹 Videolar: 0 dosya (sadece hatada)
|
||||
🔍 İzlemeler: 0 dosya (sadece hatada)
|
||||
📊 HTML Rapor: playwright-report/index.html
|
||||
Ekran Görüntüleri: 2 dosya
|
||||
Videolar: 0 dosya (sadece hatada)
|
||||
İzlemeler: 0 dosya (sadece hatada)
|
||||
HTML Rapor: playwright-report/index.html
|
||||
|
||||
Raporu görüntüle: npx playwright show-report
|
||||
```
|
||||
|
||||
✅ E2E test paketi CI/CD entegrasyonuna hazır!
|
||||
PASS: E2E test paketi CI/CD entegrasyonuna hazır!
|
||||
```
|
||||
|
||||
## Test Artifact'ları
|
||||
@@ -235,7 +235,7 @@ open artifacts/search-results.png
|
||||
Bir test aralıklı olarak başarısız olursa:
|
||||
|
||||
```
|
||||
⚠️ DENGESİZ TEST TESPİT EDİLDİ: tests/e2e/markets/trade.spec.ts
|
||||
WARNING: DENGESİZ TEST TESPİT EDİLDİ: tests/e2e/markets/trade.spec.ts
|
||||
|
||||
Test 10 çalıştırmadan 7'sinde geçti (%70 geçme oranı)
|
||||
|
||||
@@ -254,10 +254,10 @@ Karantina önerisi: Düzeltilene kadar test.fixme() olarak işaretle
|
||||
## Tarayıcı Yapılandırması
|
||||
|
||||
Testler varsayılan olarak birden fazla tarayıcıda çalışır:
|
||||
- ✅ Chromium (Desktop Chrome)
|
||||
- ✅ Firefox (Desktop)
|
||||
- ✅ WebKit (Desktop Safari)
|
||||
- ✅ Mobile Chrome (opsiyonel)
|
||||
- PASS: Chromium (Desktop Chrome)
|
||||
- PASS: Firefox (Desktop)
|
||||
- PASS: WebKit (Desktop Safari)
|
||||
- PASS: Mobile Chrome (opsiyonel)
|
||||
|
||||
Tarayıcıları ayarlamak için `playwright.config.ts`'yi yapılandırın.
|
||||
|
||||
@@ -285,7 +285,7 @@ CI pipeline'ınıza ekleyin:
|
||||
|
||||
PMX için bu E2E testlerine öncelik verin:
|
||||
|
||||
**🔴 KRİTİK (Her Zaman Geçmeli):**
|
||||
**KRİTİK (Her Zaman Geçmeli):**
|
||||
1. Kullanıcı cüzdan bağlayabilir
|
||||
2. Kullanıcı piyasalara göz atabilir
|
||||
3. Kullanıcı piyasa arayabilir (semantik arama)
|
||||
@@ -294,7 +294,7 @@ PMX için bu E2E testlerine öncelik verin:
|
||||
6. Piyasa doğru çözülür
|
||||
7. Kullanıcı fon çekebilir
|
||||
|
||||
**🟡 ÖNEMLİ:**
|
||||
**ÖNEMLİ:**
|
||||
1. Piyasa oluşturma akışı
|
||||
2. Kullanıcı profil güncellemeleri
|
||||
3. Gerçek zamanlı fiyat güncellemeleri
|
||||
@@ -305,20 +305,20 @@ PMX için bu E2E testlerine öncelik verin:
|
||||
## En İyi Uygulamalar
|
||||
|
||||
**YAPIN:**
|
||||
- ✅ Sürdürülebilirlik için Page Object Model kullanın
|
||||
- ✅ Selector'lar için data-testid nitelikleri kullanın
|
||||
- ✅ Rastgele timeout'lar değil, API yanıtlarını bekleyin
|
||||
- ✅ Kritik kullanıcı yolculuklarını uçtan uca test edin
|
||||
- ✅ Main'e merge etmeden önce testleri çalıştırın
|
||||
- ✅ Testler başarısız olduğunda artifact'ları inceleyin
|
||||
- PASS: Sürdürülebilirlik için Page Object Model kullanın
|
||||
- PASS: Selector'lar için data-testid nitelikleri kullanın
|
||||
- PASS: Rastgele timeout'lar değil, API yanıtlarını bekleyin
|
||||
- PASS: Kritik kullanıcı yolculuklarını uçtan uca test edin
|
||||
- PASS: Main'e merge etmeden önce testleri çalıştırın
|
||||
- PASS: Testler başarısız olduğunda artifact'ları inceleyin
|
||||
|
||||
**YAPMAYIN:**
|
||||
- ❌ Kırılgan selector'lar kullanmayın (CSS sınıfları değişebilir)
|
||||
- ❌ Uygulama detaylarını test etmeyin
|
||||
- ❌ Production'a karşı testler çalıştırmayın
|
||||
- ❌ Dengesiz testleri görmezden gelmeyin
|
||||
- ❌ Başarısızlıklarda artifact incelemesini atlamayın
|
||||
- ❌ Her edge case'i E2E ile test etmeyin (unit testler kullanın)
|
||||
- FAIL: Kırılgan selector'lar kullanmayın (CSS sınıfları değişebilir)
|
||||
- FAIL: Uygulama detaylarını test etmeyin
|
||||
- FAIL: Production'a karşı testler çalıştırmayın
|
||||
- FAIL: Dengesiz testleri görmezden gelmeyin
|
||||
- FAIL: Başarısızlıklarda artifact incelemesini atlamayın
|
||||
- FAIL: Her edge case'i E2E ile test etmeyin (unit testler kullanın)
|
||||
|
||||
## Önemli Notlar
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ ok project/internal/handler 0.023s
|
||||
| Değiştirilen dosyalar | 2 |
|
||||
| Kalan sorunlar | 0 |
|
||||
|
||||
Build Durumu: ✅ BAŞARILI
|
||||
Build Durumu: PASS: BAŞARILI
|
||||
```
|
||||
|
||||
## Düzeltilen Yaygın Hatalar
|
||||
|
||||
@@ -124,16 +124,16 @@ return fmt.Errorf("get user %s: %w", userID, err)
|
||||
- YÜKSEK: 1
|
||||
- ORTA: 0
|
||||
|
||||
Öneri: ❌ KRİTİK sorun düzeltilene kadar merge'i engelle
|
||||
Öneri: FAIL: KRİTİK sorun düzeltilene kadar merge'i engelle
|
||||
```
|
||||
|
||||
## Onay Kriterleri
|
||||
|
||||
| Durum | Koşul |
|
||||
|--------|-----------|
|
||||
| ✅ Onayla | KRİTİK veya YÜKSEK sorun yok |
|
||||
| ⚠️ Uyarı | Sadece ORTA sorunlar (dikkatle merge et) |
|
||||
| ❌ Engelle | KRİTİK veya YÜKSEK sorun bulundu |
|
||||
| PASS: Onayla | KRİTİK veya YÜKSEK sorun yok |
|
||||
| WARNING: Uyarı | Sadece ORTA sorunlar (dikkatle merge et) |
|
||||
| FAIL: Engelle | KRİTİK veya YÜKSEK sorun bulundu |
|
||||
|
||||
## Diğer Komutlarla Entegrasyon
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ Yerel dosya yollarından veya HTTP(S) URL'lerinden içgüdüleri içe aktar.
|
||||
## İçe Aktarma İşlemi
|
||||
|
||||
```
|
||||
📥 Importing instincts from: team-instincts.yaml
|
||||
Importing instincts from: team-instincts.yaml
|
||||
================================================
|
||||
|
||||
Found 12 instincts to import.
|
||||
@@ -60,12 +60,12 @@ These will be added:
|
||||
|
||||
## Duplicate Instincts (3)
|
||||
Already have similar instincts:
|
||||
⚠️ prefer-functional-style
|
||||
WARNING: prefer-functional-style
|
||||
Local: 0.8 confidence, 12 observations
|
||||
Import: 0.7 confidence
|
||||
→ Keep local (higher confidence)
|
||||
|
||||
⚠️ test-first-workflow
|
||||
WARNING: test-first-workflow
|
||||
Local: 0.75 confidence
|
||||
Import: 0.9 confidence
|
||||
→ Update to import (higher confidence)
|
||||
@@ -102,7 +102,7 @@ project_name: "my-project"
|
||||
|
||||
İçe aktarma sonrası:
|
||||
```
|
||||
✅ Import complete!
|
||||
PASS: Import complete!
|
||||
|
||||
Added: 8 instincts
|
||||
Updated: 1 instinct
|
||||
|
||||
@@ -73,7 +73,7 @@ origin: auto-extracted
|
||||
| **[X]'e Ekle** | Mevcut bir skill'e eklenmelidir | Hedef skill'i ve eklemeleri göster → Adım 6 |
|
||||
| **Düşür** | Önemsiz, gereksiz veya çok soyut | Gerekçeyi açıkla ve dur |
|
||||
|
||||
**Yönlendirici boyutlar** (karar verirken, puanlanmaz):
|
||||
**Yönlendirici boyutlar** (karar verirken, puanlanmaz):
|
||||
|
||||
- **Spesifiklik ve Uygulanabilirlik**: Hemen kullanılabilir kod örnekleri veya komutlar içerir
|
||||
- **Kapsam Uyumu**: Ad, tetikleyici koşullar ve içerik hizalanmış ve tek bir desene odaklanmış
|
||||
|
||||
@@ -204,9 +204,9 @@ Her iki analizi sentezle, **Adım Adım Implementation Planı** oluştur:
|
||||
3. **Kalın metinle** prompt çıktıla (MUTLAKA gerçek kaydedilen dosya yolunu kullan):
|
||||
|
||||
---
|
||||
**Plan oluşturuldu ve `.claude/plan/actual-feature-name.md` dosyasına kaydedildi**
|
||||
**Plan oluşturuldu ve `.claude/plan/actual-feature-name.md` dosyasına kaydedildi**
|
||||
|
||||
**Lütfen yukarıdaki planı inceleyin. Şunları yapabilirsiniz:**
|
||||
**Lütfen yukarıdaki planı inceleyin. Şunları yapabilirsiniz:**
|
||||
- **Planı değiştir**: Neyin ayarlanması gerektiğini söyleyin, planı güncelleyeceğim
|
||||
- **Planı çalıştır**: Aşağıdaki komutu yeni bir oturuma kopyalayın
|
||||
|
||||
@@ -215,7 +215,7 @@ Her iki analizi sentezle, **Adım Adım Implementation Planı** oluştur:
|
||||
```
|
||||
---
|
||||
|
||||
**NOT**: Yukarıdaki `actual-feature-name.md` gerçek kaydedilen dosya adıyla değiştirilmelidir!
|
||||
**NOT**: Yukarıdaki `actual-feature-name.md` gerçek kaydedilen dosya adıyla değiştirilmelidir!
|
||||
|
||||
4. **Mevcut yanıtı hemen sonlandır** (Burada dur. Daha fazla tool çağrısı yok.)
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ Silindi: 12 kullanılmayan fonksiyon
|
||||
Atlandı: 2 öğe (testler başarısız)
|
||||
Kazanç: ~450 satır kaldırıldı
|
||||
──────────────────────────────
|
||||
Tüm testler geçiyor ✅
|
||||
Tüm testler geçiyor PASS:
|
||||
```
|
||||
|
||||
## Kurallar
|
||||
|
||||
@@ -133,7 +133,7 @@ FAIL lib/liquidity.test.ts
|
||||
1 test failed, 0 passed
|
||||
```
|
||||
|
||||
✅ Testler beklendiği gibi başarısız. Uygulamaya hazır.
|
||||
PASS: Testler beklendiği gibi başarısız. Uygulamaya hazır.
|
||||
|
||||
## Adım 4: Minimal Kod Uygula (GREEN)
|
||||
|
||||
@@ -179,7 +179,7 @@ PASS lib/liquidity.test.ts
|
||||
3 tests passed
|
||||
```
|
||||
|
||||
✅ Tüm testler geçiyor!
|
||||
PASS: Tüm testler geçiyor!
|
||||
|
||||
## Adım 6: Refactor Et (IYILEŞTIR)
|
||||
|
||||
@@ -236,7 +236,7 @@ PASS lib/liquidity.test.ts
|
||||
3 tests passed
|
||||
```
|
||||
|
||||
✅ Refactoring tamamlandı, testler hala geçiyor!
|
||||
PASS: Refactoring tamamlandı, testler hala geçiyor!
|
||||
|
||||
## Adım 8: Kapsama Oranını Kontrol Et
|
||||
|
||||
@@ -247,29 +247,29 @@ File | % Stmts | % Branch | % Funcs | % Lines
|
||||
---------------|---------|----------|---------|--------
|
||||
liquidity.ts | 100 | 100 | 100 | 100
|
||||
|
||||
Coverage: 100% ✅ (Hedef: 80%)
|
||||
Coverage: 100% PASS: (Hedef: 80%)
|
||||
```
|
||||
|
||||
✅ TDD oturumu tamamlandı!
|
||||
PASS: TDD oturumu tamamlandı!
|
||||
```
|
||||
|
||||
## TDD En İyi Uygulamaları
|
||||
|
||||
**YAPIN:**
|
||||
- ✅ Herhangi bir uygulamadan ÖNCE testi yazın
|
||||
- ✅ Testleri çalıştırın ve uygulamadan önce başarısız olduklarını doğrulayın
|
||||
- ✅ Testleri geçirmek için minimal kod yazın
|
||||
- ✅ Testler yeşil olduktan sonra refactor edin
|
||||
- ✅ Edge case'leri ve hata senaryolarını ekleyin
|
||||
- ✅ %80+ kapsama hedefleyin (kritik kod için %100)
|
||||
- PASS: Herhangi bir uygulamadan ÖNCE testi yazın
|
||||
- PASS: Testleri çalıştırın ve uygulamadan önce başarısız olduklarını doğrulayın
|
||||
- PASS: Testleri geçirmek için minimal kod yazın
|
||||
- PASS: Testler yeşil olduktan sonra refactor edin
|
||||
- PASS: Edge case'leri ve hata senaryolarını ekleyin
|
||||
- PASS: %80+ kapsama hedefleyin (kritik kod için %100)
|
||||
|
||||
**YAPMAYIN:**
|
||||
- ❌ Testlerden önce uygulama yazmayın
|
||||
- ❌ Her değişiklikten sonra testleri çalıştırmayı atlamayın
|
||||
- ❌ Aynı anda çok fazla kod yazmayın
|
||||
- ❌ Başarısız testleri görmezden gelmeyin
|
||||
- ❌ Uygulama detaylarını test etmeyin (davranışı test edin)
|
||||
- ❌ Her şeyi mock'lamayın (integration testleri tercih edin)
|
||||
- FAIL: Testlerden önce uygulama yazmayın
|
||||
- FAIL: Her değişiklikten sonra testleri çalıştırmayı atlamayın
|
||||
- FAIL: Aynı anda çok fazla kod yazmayın
|
||||
- FAIL: Başarısız testleri görmezden gelmeyin
|
||||
- FAIL: Uygulama detaylarını test etmeyin (davranışı test edin)
|
||||
- FAIL: Her şeyi mock'lamayın (integration testleri tercih edin)
|
||||
|
||||
## Dahil Edilecek Test Türleri
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ File Before After
|
||||
src/services/auth.ts 45% 88%
|
||||
src/utils/validation.ts 32% 82%
|
||||
──────────────────────────────
|
||||
Overall: 67% 84% ✅
|
||||
Overall: 67% 84% PASS:
|
||||
```
|
||||
|
||||
## Odak Alanları
|
||||
|
||||
Reference in New Issue
Block a user