Introduction

Nylo Website'ya Katkıda Bulunma

Giriş

Nylo Website'ya katkıda bulunmayı düşündüğünüz için teşekkürler!

Bu kılavuz, mikro-framework'e nasıl katkıda bulunacağınızı anlamanıza yardımcı olacaktır. Hata düzeltme, özellik ekleme veya dokümantasyonu iyileştirme fark etmeksizin, katkılarınız Nylo Website topluluğu için değerlidir.

Nylo Website üç depoya ayrılmıştır:

Depo Amaç
nylo İskelet uygulama
framework Çekirdek framework sınıfları (nylo_framework)
support Widget'lar, yardımcılar, araçlar içeren destek kütüphanesi (nylo_support)

Başlangıç

Depoları Fork'layın

Katkıda bulunmak istediğiniz depoları fork'layın:

Fork'larınızı Klonlayın

git clone https://github.com/YOUR-USERNAME/nylo
git clone https://github.com/YOUR-USERNAME/framework
git clone https://github.com/YOUR-USERNAME/support

Geliştirme Ortamı

Gereksinimler

Aşağıdakilerin kurulu olduğundan emin olun:

Gereksinim Minimum Sürüm
Flutter 3.24.0 veya üzeri
Dart SDK 3.10.7 veya üzeri

Yerel Paketleri Bağlama

Nylo iskeletini editörünüzde açın ve yerel framework ve support depolarınızı kullanmak için bağımlılık geçersiz kılmaları ekleyin:

pubspec.yaml

dependency_overrides:
  nylo_framework:
    path: ../framework  # Path to your local framework repository
  nylo_support:
    path: ../support    # Path to your local support repository

Bağımlılıkları yüklemek için flutter pub get komutunu çalıştırın.

Artık framework veya support depolarında yaptığınız değişiklikler Nylo iskeletine yansıyacaktır.

Değişikliklerinizi Test Etme

Değişikliklerinizi test etmek için iskelet uygulamayı çalıştırın:

flutter run

Widget veya yardımcı değişiklikleri için, ilgili depoya testler eklemeyi düşünün.

Geliştirme Kılavuzları

Kod Stili

  • Resmi Dart stil kılavuzunu takip edin
  • Anlamlı değişken ve fonksiyon adları kullanın
  • Karmaşık mantık için açık yorumlar yazın
  • Genel API'ler için dokümantasyon ekleyin
  • Kodu modüler ve sürdürülebilir tutun

Dokümantasyon

Yeni özellikler eklerken:

  • Genel sınıflara ve metotlara dartdoc yorumları ekleyin
  • Gerekirse ilgili dokümantasyon dosyalarını güncelleyin
  • Dokümantasyona kod örnekleri ekleyin

Test

Değişiklikleri göndermeden önce:

  • Hem iOS hem de Android cihazlarda/simülatörlerde test edin
  • Mümkün olduğunda geriye dönük uyumluluğu doğrulayın
  • Geriye dönük uyumsuz değişiklikleri açıkça belgelendirin
  • Mevcut testleri çalıştırarak hiçbir şeyin bozulmadığından emin olun

Değişiklikleri Gönderme

Önce Tartışın

Yeni özellikler için, önce toplulukla tartışmak en iyisidir:

Bir Dal Oluşturun

git checkout -b feature/your-feature-name

Açıklayıcı dal adları kullanın:

  • feature/collection-view-pagination
  • fix/storage-null-handling
  • docs/update-networking-guide

Değişikliklerinizi Kaydedin

git add .
git commit -m "Add: Your feature description"

Açık commit mesajları kullanın:

  • Add: CollectionView grid mode support
  • Fix: NyStorage returning null on first read
  • Update: Improve router documentation

Push ve Pull Request Oluşturma

git push origin feature/your-feature-name

Ardından GitHub'da bir pull request oluşturun.

Pull Request Kılavuzları

  • Değişikliklerinizin açık bir tanımını sağlayın
  • İlgili sorunlara referans verin
  • Varsa ekran görüntüleri veya kod örnekleri ekleyin
  • PR'nizin yalnızca bir konuya yönelik olduğundan emin olun
  • Değişiklikleri odaklı ve atomik tutun

Sorun Bildirme

Bildirmeden Önce

  1. Sorunun GitHub'da zaten mevcut olup olmadığını kontrol edin
  2. En son sürümü kullandığınızdan emin olun
  3. Sorunu temiz bir projede yeniden üretmeyi deneyin

Nereye Bildirilir

Sorunları uygun depoya bildirin:

Sorun Şablonu

Ayrıntılı bilgi sağlayın:

### Description
Brief description of the issue

### Steps to Reproduce
1. Step one
2. Step two
3. Step three

### Expected Behavior
What should happen

### Actual Behavior
What actually happens

### Environment
- Flutter: 3.24.x
- Dart SDK: 3.10.x
- nylo_framework: ^7.0.0
- OS: macOS/Windows/Linux
- Device: iPhone 15/Pixel 8 (if applicable)

### Code Example
```dart
// Minimal code to reproduce the issue

### Sürüm Bilgisini Alma

``` bash
# Flutter and Dart versions
flutter --version

# Check your pubspec.yaml for Nylo version
# nylo_framework: ^7.0.0