Come contribuire
Un flusso di lavoro breve e vincolante mantiene la cronologia pulita e rilasciabile.
Flusso di lavoro
- Apri un issue etichettato che descriva la modifica. Applica un'etichetta dalla tassonomia sottostante.
- Crea un branch da
main:feature/<issue#>_PascalCaseofix/<issue#>_PascalCase. Non fare mai commit direttamente sumain. - Apri una PR (anch'essa etichettata) verso
main. Il corpo della PR è Summary piùCloses #<issue>- nient'altro (nessun piano di test). - Squash-merge ed elimina il branch.
Messaggi di commit
- Soggetto breve e imperativo (es.
Add absences endpoint). - Nessun rumore nel corpo; resta concentrato su cosa/perché.
Etichette
Usa un'etichetta coerente con la tassonomia dell'organizzazione:
| Etichetta | Da usare per |
|---|---|
bug | Un difetto / comportamento errato. |
enhancement | Miglioramento di un comportamento esistente. |
feature | Nuova funzionalità. |
refactor | Ristrutturazione interna, nessuna modifica di comportamento. |
CI/CD | Modifiche a build, release e workflow. |
dependencies | Aggiornamenti delle dipendenze. |
documentation | Modifiche riguardanti solo la documentazione. |
Versionamento
application.properties è l'unica fonte di verità per la versione e viene sincronizzato automaticamente dal tag di release quando una release viene pubblicata - vedi Produzione. Non incrementarlo manualmente nelle PR di funzionalità.
Aspettative sul codice
- Rispetta le regole di suddivisione in livelli:
Schuly.Applicationnon deve referenziareSchuly.Infrastructure. - I controller restano snelli e delegano a Mediator; la logica risiede negli handler.
- Aggiungi test in
Schuly.Testsdove ha senso farlo.
