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>
139 lines
3.3 KiB
Markdown
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!
|