Files
laboratori-cloud/CONTRIBUTING.md
Luca Sacchi Ricciardi 7fac88e129 docs(08): complete repository structure documentation
Phase 8 - Repository Structure:
- README.md: Updated with Lab 05 completion status
- CONTRIBUTING.md: Contributing guidelines and Conventional Commits
- .gitignore: Comprehensive ignore patterns

Repository now has:
✓ Clear structure for students and instructors
✓ Complete README with all 5 labs documented
✓ Contributing guidelines for future improvements
✓ Proper .gitignore for safety

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 17:48:25 +02:00

139 lines
3.3 KiB
Markdown

# Contributing al Corso Lab Soluzioni Cloud
Grazie per il tuo interesse a contribuire a questo progetto didattico!
## Come Contribuire
### Segnala Bug
Trovi un errore nel materiale didattico o negli script?
1. Controlla se il bug è già stato segnalato nelle issue
2. Apri una nuova issue con:
- Titolo chiaro che descrive il problema
- Passi per riprodurre il bug
- Comportamento atteso vs comportamento reale
- Ambienti e versioni (OS, Docker version)
### Suggerisci Miglioramenti
Hai idee per migliorare il corso?
1. Apri una issue con la tua proposta
2. Descrivi il beneficio per gli studenti
3. Suggerisci come implementare il miglioramento
### Pull Request
Vuoi contribuire direttamente?
1. Fai fork del repository
2. Crea un branch per il tuo lavoro: `git checkout -b feature/tua-feature`
3. Fai commit dei tuoi cambi seguendo [Conventional Commits](https://www.conventionalcommits.org/)
4. Push nel tuo fork e apri una Pull Request
## Conventional Commits
Usiamo Conventional Commits per chiarezza:
```
<tipo>(<ambito>): <descrizione>
[corpo opzionale]
[piè di pagina opzionale]
```
### Tipi
- `feat`: Nuova funzionalità
- `test`: Test o verifica
- `docs`: Documentazione
- `fix`: Bug fix
- `refactor`: Refactoring
- `chore`: Manutenzione variazione
### Ambiti
- `lab-01`, `lab-02`, etc.: Laboratorio specifico
- `integration`: Test di integrazione
- `docs`: Documentazione generale
- `scripts`: Script di utilità
### Esempi
```
feat(lab-03): add healthcheck monitoring
test(lab-05): verify database isolation
docs(readme): update quick start guide
fix(lab-02): resolve network configuration bug
```
## Linee Guida per il Codice
### Script Bash
- Usa `set -euo pipefail` per error handling
- Aggiungi commenti per logica complessa
- Usa funzioni per codice riutilizzabile
- Rendi gli script eseguibili: `chmod +x script.sh`
### Docker Compose
- Segui la struttura dei lab esistenti
- Rispetta i requisiti INF-01/02/03/04
- Aggiungi commenti per configurazioni complesse
- Includi healthcheck dove appropriato
### Documentazione
Segui il framework Diátaxis:
1. **Tutorial**: Guida passo-passo incrementale
2. **How-to**: Procedure specifiche e task-focused
3. **Reference**: Specifiche tecniche nude e crude
4. **Explanation**: Concetti e parallelismi
## Struttura dei File
```
labs/<lab-name>/
├── tutorial/ # Tutorial passo-passo
├── how-to-guides/ # Guide procedure specifiche
├── reference/ # Specifiche tecniche
├── explanation/ # Concetti e parallelismi
├── tests/ # Script di test
├── docker-compose.yml # Infrastruttura
└── Dockerfile # Immagine custom (se necessaria)
```
## Testing
Prima di inviare una PR:
1. Esegui i test del lab: `cd labs/<lab-name>/tests && ./run-all-tests.sh`
2. Esegui i test di integrazione: `cd tests/integration && ./99-final-integration-test.sh`
3. Verifica che la documentazione sia completa
4. Testa su ambienti diversi se possibile
## Stile di Scrittura
- Usa un tono diretto e semplice
- Evita jargon non necessario
- Spiega i concetti con esempi pratici
- Includi parallelismi con cloud dove appropriato
## Review Process
1. Le PR vengono revisionate dal maintainer
2. Richieste di modifiche comuni
3. Approvazione e merge
## Domande?
Contatta: luca@lucasacchi.net
---
Grazie per il tuo contributo al corso!