Berkontribusi pada Nylo Website
Pengantar
Terima kasih telah mempertimbangkan untuk berkontribusi pada Nylo Website!
Panduan ini akan membantu Anda memahami cara berkontribusi pada micro-framework ini. Baik Anda memperbaiki bug, menambahkan fitur, atau meningkatkan dokumentasi, kontribusi Anda sangat berharga bagi komunitas Nylo Website.
Nylo Website dibagi menjadi tiga repositori:
| Repositori | Tujuan |
|---|---|
| nylo | Aplikasi boilerplate |
| framework | Kelas inti framework (nylo_framework) |
| support | Library pendukung dengan widget, helper, utilitas (nylo_support) |
Memulai
Fork Repositori
Fork repositori yang ingin Anda kontribusikan:
Clone Fork Anda
git clone https://github.com/YOUR-USERNAME/nylo
git clone https://github.com/YOUR-USERNAME/framework
git clone https://github.com/YOUR-USERNAME/support
Lingkungan Pengembangan
Persyaratan
Pastikan Anda telah menginstal yang berikut:
| Persyaratan | Versi Minimum |
|---|---|
| Flutter | 3.24.0 atau lebih tinggi |
| Dart SDK | 3.10.7 atau lebih tinggi |
Hubungkan Paket Lokal
Buka boilerplate Nylo di editor Anda dan tambahkan override dependensi untuk menggunakan repositori framework dan support lokal Anda:
pubspec.yaml
dependency_overrides:
nylo_framework:
path: ../framework # Path to your local framework repository
nylo_support:
path: ../support # Path to your local support repository
Jalankan flutter pub get untuk menginstal dependensi.
Sekarang perubahan yang Anda buat pada repositori framework atau support akan tercermin di boilerplate Nylo.
Menguji Perubahan Anda
Jalankan aplikasi boilerplate untuk menguji perubahan Anda:
flutter run
Untuk perubahan widget atau helper, pertimbangkan untuk menambahkan tes di repositori yang sesuai.
Panduan Pengembangan
Gaya Kode
- Ikuti panduan gaya Dart resmi
- Gunakan nama variabel dan fungsi yang bermakna
- Tulis komentar yang jelas untuk logika yang kompleks
- Sertakan dokumentasi untuk API publik
- Jaga kode tetap modular dan mudah dipelihara
Dokumentasi
Saat menambahkan fitur baru:
- Tambahkan komentar dartdoc ke kelas dan method publik
- Perbarui file dokumentasi yang relevan jika diperlukan
- Sertakan contoh kode dalam dokumentasi
Pengujian
Sebelum mengirimkan perubahan:
- Uji di perangkat/simulator iOS dan Android
- Verifikasi kompatibilitas mundur jika memungkinkan
- Dokumentasikan setiap perubahan yang merusak dengan jelas
- Jalankan tes yang ada untuk memastikan tidak ada yang rusak
Mengirimkan Perubahan
Diskusikan Terlebih Dahulu
Untuk fitur baru, sebaiknya diskusikan dengan komunitas terlebih dahulu:
Buat Branch
git checkout -b feature/your-feature-name
Gunakan nama branch yang deskriptif:
feature/collection-view-paginationfix/storage-null-handlingdocs/update-networking-guide
Commit Perubahan Anda
git add .
git commit -m "Add: Your feature description"
Gunakan pesan commit yang jelas:
Add: CollectionView grid mode supportFix: NyStorage returning null on first readUpdate: Improve router documentation
Push dan Buat Pull Request
git push origin feature/your-feature-name
Kemudian buat pull request di GitHub.
Panduan Pull Request
- Berikan deskripsi yang jelas tentang perubahan Anda
- Referensikan issue terkait
- Sertakan screenshot atau contoh kode jika berlaku
- Pastikan PR Anda hanya menangani satu masalah
- Jaga perubahan tetap fokus dan atomik
Melaporkan Masalah
Sebelum Melaporkan
- Periksa apakah masalah sudah ada di GitHub
- Pastikan Anda menggunakan versi terbaru
- Coba reproduksi masalah di proyek baru
Tempat Melaporkan
Laporkan masalah di repositori yang sesuai:
- Masalah boilerplate: nylo/issues
- Masalah framework: framework/issues
- Masalah library support: support/issues
Template Issue
Berikan informasi detail:
### 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
### Mendapatkan Informasi Versi
``` bash
# Flutter and Dart versions
flutter --version
# Check your pubspec.yaml for Nylo version
# nylo_framework: ^7.0.0