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-paginationfix/storage-null-handlingdocs/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 supportFix: NyStorage returning null on first readUpdate: 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
- Sorunun GitHub'da zaten mevcut olup olmadığını kontrol edin
- En son sürümü kullandığınızdan emin olun
- Sorunu temiz bir projede yeniden üretmeyi deneyin
Nereye Bildirilir
Sorunları uygun depoya bildirin:
- İskelet sorunları: nylo/issues
- Framework sorunları: framework/issues
- Destek kütüphanesi sorunları: support/issues
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