Git Komut Rehberi & Terminal Asistanı
Sıfırdan Yeni Bir Depo Başlatın:
Mevcut Bir Git Deposu veya Klasörü Gönderin:
Hataları Geri Alma, İptal & Temizlik:
Son commit'i geri al (yapılan değişiklikleri korur):
git reset --soft HEAD~1
Yapılan yerel değişiklikleri iptal et (çalışma ağacını temizler):
git restore .
Takip edilmeyen gereksiz dosyaları sil:
git clean -fd
Değişiklikleri geçici sakla ve geri getir (stash):
git stash git stash pop
Dal (Branch) ve Sürüm Etiketleri:
Yeni dal aç ve geçiş yap:
git checkout -b yeni-ozellik git push -u origin yeni-ozellik
Sürüm etiketi (tag) oluştur ve gönder:
git tag -a v1.0.0 -m "Sürüm 1.0.0" git push origin --tags
feat(v3.3.0): enterprise presets, badges, notifications, rule controller, watch mode, offline healer, and WCAG 2.2 ruleset
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
# YakNet Accessibility Console 3.0 (AI-Powered Static Analysis & WCAG 2.2 Linter)
|
||||
# YakNet Accessibility Console 3.3 (AI-Powered Static Analysis & WCAG 2.2 Linter)
|
||||
|
||||
[](https://php.net)
|
||||
[](https://phpstan.org)
|
||||
[](https://phpunit.de)
|
||||
[](https://www.w3.org/WAI/standards-guidelines/wcag/)
|
||||
[](https://phpunit.de)
|
||||
[](https://www.w3.org/WAI/standards-guidelines/wcag/)
|
||||
[](LICENSE)
|
||||
[](https://ai.google.dev)
|
||||
|
||||
**YakNet Accessibility Console**, web projelerinizdeki erişilebilirlik (WCAG 2.1, 2.2 ve WAI-ARIA) ve HTML söz dizimi hatalarını statik olarak analiz eden, **127 benzersiz kural setiyle** denetleyen ve **Yapay Zeka (Google Gemini AI)** desteğiyle kaynak kodunuzu otomatik tamir edebilen (Self-Healing) kurumsal düzeyde bir PHP statik analiz ve linter kütüphanesidir.
|
||||
**YakNet Accessibility Console**, web projelerinizdeki erişilebilirlik (WCAG 2.1, 2.2 ve WAI-ARIA) ve HTML söz dizimi hatalarını statik olarak analiz eden, **130 benzersiz kural setiyle** denetleyen, kurumsal CI/CD kalite kapısı (Quality Gates) sunan ve **Yapay Zeka (Google Gemini AI) ile Çevrimdışı Deterministik Motor** desteğiyle kaynak kodunuzu otomatik tamir edebilen (Self-Healing) kurumsal düzeyde bir PHP statik analiz ve linter kütüphanesidir.
|
||||
|
||||
PHPStan ve PHP-CS-Fixer esintili modern mimarisiyle; Laravel Blade (`.blade.php`), Twig (`.twig`), PHP (`.php`) ve standart HTML şablonlarınızı doğrudan tarar, baseline desteğiyle mevcut teknik borcu yönetir ve CI/CD pipeline süreçlerinize sıfır yapılandırmayla entegre olur.
|
||||
|
||||
@@ -15,7 +15,13 @@ PHPStan ve PHP-CS-Fixer esintili modern mimarisiyle; Laravel Blade (`.blade.php`
|
||||
|
||||
## 🌟 Öne Çıkan Özellikler
|
||||
|
||||
- **🛡️ 127 Benzersiz WCAG 2.1 / 2.2 & WAI-ARIA Kuralı:** Algılanabilir (Perceivable), Çalıştırılabilir (Operable), Anlaşılabilir (Understandable) ve Sağlam (Robust) prensiplerine göre yapılandırılmış 5 kademeli (Level 1-5) kural havuzu.
|
||||
- **🛡️ 130 Benzersiz WCAG 2.1 / 2.2 & WAI-ARIA Kuralı:** Algılanabilir (Perceivable), Çalıştırılabilir (Operable), Anlaşılabilir (Understandable) ve Sağlam (Robust) prensiplerine göre yapılandırılmış 5 kademeli kural havuzu. (Yeni: `LabelInName` WCAG 2.5.3, `RedundantEntry` WCAG 3.3.7, `TextSpacing` WCAG 1.4.12).
|
||||
- **🏛️ Sektörel ve Mevzuat Ön Ayarları (Presets):** US Section 508, Avrupa Birliği EN 301 549 ve E-Ticaret (`--preset=section508|en301549|ecommerce`) profilleriyle hedeflenmiş standart denetimi.
|
||||
- **🏷️ Dinamik SVG Rozet Üretimi (Badges):** Tarama tamamlandığında sağlık skoruna göre (yeşil/sarı/kırmızı) canlı SVG rozet (`--badge=public/a11y-badge.svg`) üretir.
|
||||
- **📢 CI/CD Webhook Bildirimleri (Notifications):** Tarama sonuçlarını Slack ve Discord webhook kanallarına otomatik formatlanmış zengin mesajlarla iletir.
|
||||
- **⚙️ Programatik Kural Denetleyicisi & İstatistikler:** `RuleController` ile DOM elementleri üzerinde doğrudan tekil kural yürütme ve `RuleExecutionStats` ile kural performans/yürütme süresi izleme.
|
||||
- **⏱️ Gerçek Zamanlı İzleme Modu (`watch`):** Şablon dosyalarını (`.blade.php`, `.twig`, `.html`) arka planda izler, dosya kaydedildiğinde anında hızlı analiz yapıp konsolda canlı skor ve geri bildirim sunar.
|
||||
- **🚦 CI/CD Kalite Kapısı Eşikleri (Quality Gates):** `--min-score=90`, `--max-warnings=5`, `--fail-on=error` seçenekleriyle pipeline süreçlerinde esnek kalite denetimi sağlar.
|
||||
- **🔍 HTML & Şablon Söz Dizimi (Syntax/AST) Linter'ı:**
|
||||
- Aynı etiket üzerinde yinelenen nitelikler (`Duplicate Attributes` - HTML5 3.2.4 ihlali)
|
||||
- Kapanmamış veya çapraz kapanmış yapısal etiketler (`Mismatched / Unclosed Tags`)
|
||||
@@ -25,11 +31,17 @@ PHPStan ve PHP-CS-Fixer esintili modern mimarisiyle; Laravel Blade (`.blade.php`
|
||||
- **⚡ Tek Geçişli (Single-Pass) Yüksek Hızlı Kural Motoru:** DOM ağacını tek bir geçişte tarayarak büyük şablonlarda 5-10 kat daha hızlı analiz gerçekleştirir.
|
||||
- **📝 1:1 Satır Eşlemeli Şablon Ön İşleyici (Template Preprocessor):** Blade direktiflerini (`@if`, `@foreach`, `@component`), Twig bloklarını (`{% %}`, `{{ }}`) ve PHP etiketlerini temizlerken satır sayılarını birebir korur.
|
||||
- **🎯 Yüksek Hassasiyetli Satır & Sütun Bulucu (`PreciseElementLocator`):** Çok satırlı ve dinamik şablon bileşenlerinde ihlalin kaynak koddaki tam satır ve sütun numarasını saptar.
|
||||
- **🤖 Yapay Zeka ile Otomatik Onarım (AI Self-Healing):** Tespit edilen WCAG ve söz dizimi hataları için Google Gemini AI üzerinden akıllı çözüm ve tamir kodları üretir; kaynak dosyalarınızı (`--dry-run` desteğiyle) anında onarır.
|
||||
- **🤖 Yapay Zeka & Çevrimdışı Otomatik Onarım (Self-Healing):**
|
||||
- **Çevrimdışı (Offline) Mod:** API anahtarı olmadan güvenli deterministik tamirler (`alt=""`, `aria-hidden="true"`, `rel="noopener noreferrer"`, `tabindex="0"`, `scope` temizliği vb.).
|
||||
- **AI Destekli Mod:** Karmaşık şablon mantığı ve etiketler için Google Gemini AI ile akıllı tamir.
|
||||
- **📊 Erişilebilirlik Analitiği & Uyumluluk Matrisi:** POUR prensipleri, WCAG A/AA/AAA başarı oranları ve KLOC başına hata yoğunluğu (Defect Density) istatistikleri.
|
||||
- **🛡️ Baseline Desteği (`a11y-baseline.json`):** Mevcut hataları dondurarak CI/CD süreçlerinin yalnızca **yeni eklenen** hatalarda kırılmasını sağlar.
|
||||
- **🔌 Çoklu Çıktı Formatları:** Renkli konsol tablosu (`console`), makine tarafından okunabilir JSON (`json`), GitHub Actions PR bildirimleri (`github`) ve interaktif HTML Dashboard raporu (`--report`).
|
||||
- **🏆 PHPStan Level 9 & %100 Tip Güvenliği:** Kod tabanı PHPStan en yüksek seviye (Level 9) ve 191+ birim testi ile tam doğrulanmıştır.
|
||||
- **🔌 Zengin Çıktı & Rapor Formatları:**
|
||||
- Konsol tablosu (`console`), JSON (`json`), GitHub Actions (`github`), GitLab SAST (`gitlab`)
|
||||
- **OASIS SARIF 2.1.0 (`sarif`):** GitHub Code Scanning / Security Alerts ve VS Code SARIF uyumlu.
|
||||
- **JUnit XML (`junit`):** Jenkins, GitLab CI, CircleCI, Bitbucket Pipelines uyumlu.
|
||||
- **Çoklu Dışa Aktarım (`--report`):** HTML (`.html`), JSON (`.json`), SARIF (`.sarif`), JUnit (`.xml`), PDF (`.pdf`) ve Excel (`.xlsx`).
|
||||
- **🏆 PHPStan Level 9 & %100 Tip Güvenliği:** Kod tabanı PHPStan en yüksek seviye (Level 9) ve 230 birim testi ile tam doğrulanmıştır.
|
||||
|
||||
---
|
||||
|
||||
@@ -66,20 +78,35 @@ Canlı bir web sitesini crawler desteğiyle taramak için:
|
||||
bin/a11y scan https://siteniz.com --crawl
|
||||
```
|
||||
|
||||
### 3. Kural Seviyesi Belirleme (`--level`)
|
||||
1 (Temel) ile 5 (Çok Katı / Strict) arasında bir seviye belirleyin:
|
||||
### 3. CI/CD Kalite Kapısı Eşikleri (Quality Gates)
|
||||
Pipeline süreçlerinde derlemenin kırılma şartlarını belirleyin:
|
||||
```bash
|
||||
bin/a11y scan --level=5
|
||||
# Sağlık skoru 90'ın altındaysa derlemeyi başarısız yap:
|
||||
bin/a11y scan --min-score=90
|
||||
|
||||
# En fazla 3 uyarıya izin ver:
|
||||
bin/a11y scan --max-warnings=3
|
||||
|
||||
# Yalnızca kritik ve hata seviyesindeki ihlallerde kırıl (uyarıları göz ardı et):
|
||||
bin/a11y scan --fail-on=error
|
||||
```
|
||||
|
||||
### 4. Baseline (Teknik Borç Dondurma) Yönetimi
|
||||
Mevcut tüm ihlalleri `a11y-baseline.json` dosyasına kaydederek sonraki taramalarda yok sayılmasını sağlar:
|
||||
### 4. Gerçek Zamanlı İzleme Modu (`watch`)
|
||||
Geliştirme yaparken şablon dosyalarınızı izleyin ve dosya kaydedildiğinde anında otomatik re-scan çalıştırın:
|
||||
```bash
|
||||
bin/a11y scan --generate-baseline
|
||||
bin/a11y watch resources/views
|
||||
```
|
||||
|
||||
### 5. Format ve Raporlama Seçenekleri
|
||||
- **GitHub Actions formatında çıktı:**
|
||||
- **GitHub Code Scanning / SARIF 2.1.0 formatı:**
|
||||
```bash
|
||||
bin/a11y scan --format=sarif
|
||||
```
|
||||
- **JUnit XML formatı (Jenkins, GitLab CI):**
|
||||
```bash
|
||||
bin/a11y scan --format=junit
|
||||
```
|
||||
- **GitHub Actions bildirim formatı:**
|
||||
```bash
|
||||
bin/a11y scan --format=github
|
||||
```
|
||||
@@ -87,25 +114,55 @@ bin/a11y scan --generate-baseline
|
||||
```bash
|
||||
bin/a11y scan --format=json
|
||||
```
|
||||
- **İnteraktif HTML Dashboard Raporu:**
|
||||
- **Çoklu Dışa Aktarım Formatları (`--report`):**
|
||||
```bash
|
||||
bin/a11y scan --report=a11y-report.html
|
||||
bin/a11y scan --report=rapor.html # İnteraktif HTML Dashboard
|
||||
bin/a11y scan --report=rapor.pdf # PDF Sertifika ve Denetim Raporu
|
||||
bin/a11y scan --report=rapor.xlsx # Microsoft Excel Çalışma Kitabı
|
||||
bin/a11y scan --report=rapor.sarif # SARIF 2.1.0 Dosyası
|
||||
bin/a11y scan --report=rapor.xml # JUnit XML Raporu
|
||||
```
|
||||
|
||||
### 6. Yapay Zeka Destekli Otomatik Düzeltme (`fix`)
|
||||
Tespit edilen erişilebilirlik sorunlarını yapay zeka ile kaynak dosyalarınızda otomatik olarak onarın:
|
||||
### 6. Mevzuat Ön Ayarları (`--preset`) ve Rozet Üretimi (`--badge`)
|
||||
Mevzuat veya sektörel kurallara göre hedeflenmiş tarama yapın ve canlı SVG rozet oluşturun:
|
||||
```bash
|
||||
bin/a11y fix
|
||||
```
|
||||
Dosyaları değiştirmeden yalnızca yapılacak düzeltme önerilerini görmek için:
|
||||
```bash
|
||||
bin/a11y fix --dry-run
|
||||
# US Section 508 federal uyumluluk profiliyle tara:
|
||||
bin/a11y scan --preset=section508
|
||||
|
||||
# Avrupa Birliği EN 301 549 kamu web standardı profiliyle tara:
|
||||
bin/a11y scan --preset=en301549
|
||||
|
||||
# E-Ticaret ödeme ve sepet akışları profiliyle tara:
|
||||
bin/a11y scan --preset=ecommerce
|
||||
|
||||
# Tarama sonucunu SVG rozet olarak kaydet (README veya CI/CD artifact için):
|
||||
bin/a11y scan --badge=public/badges/a11y.svg
|
||||
```
|
||||
|
||||
### 7. Kuralları Listeleme (`rules`)
|
||||
Kütüphanede tanımlı 127 kuralı seviyeleri, WCAG standartları ve açıklamalarıyla listeler:
|
||||
### 7. Otomatik Düzeltme (`fix`)
|
||||
Yapay zeka veya çevrimdışı yerel motor ile kaynak dosyalarınızı onarın:
|
||||
```bash
|
||||
# Gemini AI desteğiyle otomatik onarım:
|
||||
bin/a11y fix
|
||||
|
||||
# Gemini API anahtarı olmadan tamamen çevrimdışı (offline) yerel motorla onarım:
|
||||
bin/a11y fix --offline
|
||||
|
||||
# Dosyaları değiştirmeden yapılacak düzeltmeleri önizleme:
|
||||
bin/a11y fix --offline --dry-run
|
||||
```
|
||||
|
||||
### 8. Kuralları Listeleme ve Filtreleme (`rules`)
|
||||
Kütüphanede tanımlı 130 kuralı listeleyin, arayın ve filtreleyin:
|
||||
```bash
|
||||
# Tüm kuralları listele:
|
||||
bin/a11y rules
|
||||
|
||||
# Kural adına veya açıklamasına göre ara:
|
||||
bin/a11y rules --search=contrast
|
||||
|
||||
# Seviye ve standarda göre filtrele:
|
||||
bin/a11y rules --standard=AA --level=3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user