Contribuire a Goa

Scopri come contribuire allo sviluppo e alla documentazione di Goa

Benvenuto alla guida per i contributori di Goa! Questo documento ti aiuterà a capire come puoi contribuire a rendere Goa migliore. Che tu sia interessato a migliorare il codice, la documentazione o ad aiutare altri utenti, c’è un posto per te nella nostra comunità.

Per Iniziare

Prima di iniziare a contribuire, ti consigliamo di:

  1. Unirti alla nostra comunità su Gophers Slack
  2. Esplorare le nostre Discussioni GitHub
  3. Esaminare il repository degli esempi
  4. Familiarizzare con la Documentazione di Riferimento DSL

Contributi al Codice

Configurare il Tuo Ambiente di Sviluppo

Per contribuire al codice di Goa, avrai bisogno di:

  1. Go 1.21 o versione successiva installato sul tuo sistema
  2. Un fork del repository Goa
  3. Un clone locale del tuo fork:
    git clone https://github.com/IL-TUO-USERNAME/goa
    

Dopo il cloning, configura il tuo ambiente di sviluppo:

  1. Installa le dipendenze e gli strumenti:

    make depend
    

    Questo:

    • Scaricherà le dipendenze dei moduli Go
    • Installerà il compilatore protoc
    • Installerà gli strumenti di linting
    • Installerà altre dipendenze di sviluppo
  2. Esegui la suite di test per verificare la tua configurazione:

    make test
    
  3. Esegui il linter per assicurare la qualità del codice:

    make lint
    

Il comando predefinito make all eseguirà sia il linting che i test in sequenza.

Trovare Qualcosa su cui Lavorare

Il modo migliore per iniziare a contribuire è:

  1. Sfogliare le nostre issues GitHub
  2. Cercare issues etichettate con help wanted o good first issue
  3. Commentare su un’issue su cui vorresti lavorare per evitare sforzi duplicati

Flusso di Lavoro di Sviluppo

Quando lavori su una funzionalità o una correzione:

  1. Crea un nuovo branch per il tuo lavoro:

    git checkout -b feature/la-tua-feature
    
  2. Scrivi codice Go chiaro e idiomatico seguendo queste linee guida:

    • Usa le convenzioni standard di Go
    • Formatta il codice con gofmt
    • Scrivi commenti godoc completi
    • Includi test per le nuove funzionalità
    • Mantieni le modifiche focalizzate e atomiche
  3. Prima di inviare le tue modifiche:

    • Esegui make test per eseguire la suite di test
    • Esegui make lint per assicurare la qualità del codice
    • Aggiorna la documentazione pertinente
    • Genera il codice se necessario
    • Controlla la presenza di modifiche che rompono la compatibilità

Inviare le Tue Modifiche

Quando le tue modifiche sono pronte:

  1. Pusha le tue modifiche sul tuo fork
  2. Invia una Pull Request con:
    • Un titolo chiaro e descrittivo
    • Riferimenti alle issues correlate
    • Una spiegazione dettagliata delle tue modifiche
  3. Sii reattivo ai feedback della review

Contributi alla Documentazione

La documentazione è cruciale per il successo di Goa. Puoi contribuire alla nostra documentazione in diversi modi:

Documentazione del Sito Web

Per migliorare la documentazione del sito web:

  1. Fai un fork del repository goa.design
  2. Configura Hugo seguendo le istruzioni del README
  3. Fai i tuoi miglioramenti seguendo queste linee guida:
    • Usa un linguaggio chiaro e semplice
    • Includi esempi di codice funzionanti e testati
    • Mantieni gli esempi focalizzati e minimali
    • Assicura una formattazione e organizzazione appropriate

Altre Opportunità di Documentazione

  • Aggiungi nuovi esempi alle sezioni esistenti
  • Crea nuovi tutorial
  • Migliora la documentazione esistente
  • Aggiungi traduzioni in altre lingue
  • Rivedi e aggiorna la documentazione per accuratezza

Supporto alla Comunità

Una comunità vivace è essenziale per la crescita di Goa. Puoi contribuire:

  • Aiutando altri nel canale Slack #goa
  • Rispondendo alle domande nelle Discussioni GitHub
  • Segnalando bug e problemi
  • Condividendo le tue esperienze nell’uso di Goa
  • Scrivendo post sul blog o creando contenuti su Goa

Ricorda che ogni contributo, che sia codice, documentazione o supporto alla comunità, è prezioso per il progetto Goa. Grazie per considerare di contribuire a Goa!