Contribuire a Nylo Website
Introduzione
Grazie per aver considerato di contribuire a Nylo Website!
Questa guida ti aiuterà a capire come contribuire al micro-framework. Che tu stia correggendo bug, aggiungendo funzionalità o migliorando la documentazione, i tuoi contributi sono preziosi per la comunità di Nylo Website.
Nylo Website è suddiviso in tre repository:
| Repository | Scopo |
|---|---|
| nylo | L'applicazione boilerplate |
| framework | Classi core del framework (nylo_framework) |
| support | Libreria di supporto con widget, helper, utilità (nylo_support) |
Per Iniziare
Esegui il Fork dei Repository
Esegui il fork dei repository a cui vuoi contribuire:
Clona i Tuoi Fork
git clone https://github.com/YOUR-USERNAME/nylo
git clone https://github.com/YOUR-USERNAME/framework
git clone https://github.com/YOUR-USERNAME/support
Ambiente di Sviluppo
Requisiti
Assicurati di avere installato quanto segue:
| Requisito | Versione Minima |
|---|---|
| Flutter | 3.24.0 o superiore |
| Dart SDK | 3.10.7 o superiore |
Collegare i Pacchetti Locali
Apri il boilerplate Nylo nel tuo editor e aggiungi le dipendenze sostitutive per utilizzare i tuoi repository locali di framework e support:
pubspec.yaml
dependency_overrides:
nylo_framework:
path: ../framework # Path to your local framework repository
nylo_support:
path: ../support # Path to your local support repository
Esegui flutter pub get per installare le dipendenze.
Ora le modifiche apportate ai repository framework o support saranno riflesse nel boilerplate Nylo.
Testare le Modifiche
Esegui l'app boilerplate per testare le tue modifiche:
flutter run
Per modifiche a widget o helper, considera di aggiungere test nel repository appropriato.
Linee Guida per lo Sviluppo
Stile del Codice
- Segui la guida di stile ufficiale di Dart
- Usa nomi significativi per variabili e funzioni
- Scrivi commenti chiari per la logica complessa
- Includi documentazione per le API pubbliche
- Mantieni il codice modulare e mantenibile
Documentazione
Quando aggiungi nuove funzionalità:
- Aggiungi commenti dartdoc alle classi e ai metodi pubblici
- Aggiorna i file di documentazione pertinenti se necessario
- Includi esempi di codice nella documentazione
Test
Prima di inviare le modifiche:
- Testa sia su dispositivi/simulatori iOS che Android
- Verifica la retrocompatibilità dove possibile
- Documenta chiaramente eventuali modifiche incompatibili
- Esegui i test esistenti per assicurarti che nulla sia compromesso
Inviare Modifiche
Discuti Prima
Per le nuove funzionalità, è meglio discutere prima con la comunità:
Crea un Branch
git checkout -b feature/your-feature-name
Usa nomi di branch descrittivi:
feature/collection-view-paginationfix/storage-null-handlingdocs/update-networking-guide
Esegui il Commit delle Modifiche
git add .
git commit -m "Add: Your feature description"
Usa messaggi di commit chiari:
Add: CollectionView grid mode supportFix: NyStorage returning null on first readUpdate: Improve router documentation
Push e Crea Pull Request
git push origin feature/your-feature-name
Poi crea una pull request su GitHub.
Linee Guida per le Pull Request
- Fornisci una descrizione chiara delle tue modifiche
- Fai riferimento alle issue correlate
- Includi screenshot o esempi di codice se applicabile
- Assicurati che la tua PR affronti un solo problema
- Mantieni le modifiche focalizzate e atomiche
Segnalare Problemi
Prima di Segnalare
- Controlla se il problema esiste già su GitHub
- Assicurati di utilizzare l'ultima versione
- Prova a riprodurre il problema in un progetto nuovo
Dove Segnalare
Segnala i problemi nel repository appropriato:
- Problemi del boilerplate: nylo/issues
- Problemi del framework: framework/issues
- Problemi della libreria di supporto: support/issues
Template per le Issue
Fornisci informazioni dettagliate:
### 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
### Ottenere Informazioni sulla Versione
``` bash
# Flutter and Dart versions
flutter --version
# Check your pubspec.yaml for Nylo version
# nylo_framework: ^7.0.0