Vai al contenuto

Contribuire ​

Il workflow di contribuzione è obbligatorio - seguilo esattamente.

Regole fisse ​

  • Non lavorare mai direttamente su main. Ogni modifica passa attraverso un ciclo issue → branch → PR.
  • Nessuna attribuzione a AI / Claude, mai. I messaggi di commit, i titoli/corpi delle PR e i testi delle issue non devono menzionare AI, Claude o alcun assistente, e non devono includere righe Co-Authored-By o "Generated with".
  • Nessun piano di test nelle PR. Il corpo della PR è solo Summary + Closes #<issue>.
  • Preferire i generatori CLI ogni volta che ne esiste uno (gh issue create, gh pr create, ecc.) invece di passaggi manuali.

Workflow ​

  1. Crea un'issue etichettata che descriva la modifica.

    sh
    gh issue create --title "..." --body "..." --label <label>
  2. Crea un branch a partire da main, usando il numero dell'issue e uno slug in PascalCase:

    sh
    git switch -c feature/<issue#>_PascalCase   # nuova funzionalità
    git switch -c fix/<issue#>_PascalCase       # correzione di bug
  3. Fai il commit con un soggetto breve e imperativo (es. Add agenda filter).

  4. Apri una PR (etichettata) il cui corpo contenga solo un breve riepilogo e il riferimento di chiusura:

    sh
    gh pr create --title "..." --label <label> --body "Summary of the change.
    
    Closes #<issue>"
  5. Fai squash-merge ed elimina il branch una volta approvata la PR.

Convenzione per i nomi dei branch ​

TipoModelloEsempio
Featurefeature/<issue#>_PascalCasefeature/123_AgendaFilter
Fixfix/<issue#>_PascalCasefix/124_LoginCrash

Label ​

Applica la label appropriata sia all'issue sia alla PR:

LabelDa usare per
bugSegnalazioni di difetti
enhancementMiglioramenti a un comportamento esistente
featureNuove funzionalità
refactorRistrutturazione interna, senza cambio di comportamento
CI/CDModifiche a pipeline / workflow
dependenciesAggiornamenti delle dipendenze
documentationModifiche solo alla documentazione

Prima di aprire una PR ​

Esegui i controlli di qualità (vedi Configurazione per lo sviluppo):

sh
bun run analyze
bun run test
bun run format