Files
llm-monitor/CONTRIBUTING.md
T
Luca Sacchi Ricciardi 4b782ffdc8 docs: add comprehensive README and project scaffolding
- README completo con istruzioni di installazione, configurazione e utilizzo
- API Swagger/OpenAPI documentata
- File env.example con variabili di configurazione
- Dockerfile multi-stage ottimizzato
- Docker Compose con Ollama e LLM Monitor
- Struttura completa dell'app FastAPI (main.py, config, api routes)
- Servizio client Ollama reusabile
- Dashboard web HTML con TailwindCSS
- Test suite con pytest
- Makefile per comandi comuni
- CONTRIBUTING.md per i contributori
- LICENSE MIT
- .editorconfig e .dockerignore
- requirements.txt e requirements-dev.txt
2026-04-24 19:11:58 +02:00

124 lines
3.2 KiB
Markdown

# Contribuire a LLM Monitor
Grazie per l'interesse nel contribuire a LLM Monitor! Questo documento fornisce linee guida per contribuire al progetto.
## Codice di Condotta
Questo progetto aderisce a un Codice di Condotta per garantire un ambiente inclusivo e rispettoso.
## Come Contribuire
### Segnalare Bug
- **Verificare prima** se il bug non è già stato segnalato
- **Includere dettagli**: sistema operativo, versione Python, stack trace
- **Fornire un esempio ripetibile** se possibile
### Suggerire Miglioramenti
- **Verificare prima** se il suggerimento non è già stato fatto
- **Spiegare chiaramente** il caso d'uso e i benefici
- **Fornire esempi** di come dovrebbe funzionare
### Pull Requests
1. **Fork il repository**
2. **Crea un branch**: `git checkout -b feature/my-feature`
3. **Installa le dipendenze di sviluppo**:
```bash
pip install -r requirements-dev.txt
```
4. **Effettua i tuoi cambiamenti** seguendo lo [Style Guide](#style-guide)
5. **Scrivi i test**: I test sono obbligatori per nuove funzionalità
6. **Esegui i test**: `make test`
7. **Formatta il codice**: `make format`
8. **Esegui il linting**: `make lint`
9. **Fai il commit**: `git commit -m "feat: descrizione della feature"`
10. **Push**: `git push origin feature/my-feature`
11. **Apri una PR** descrivendo i cambiamenti
## Style Guide
### Python
- Usa **Black** per la formattazione: `make format`
- Usa **isort** per l'organizzazione degli import
- Segui **PEP 8**
- Usa type hints per le funzioni nuove
- Documenta con docstring (formato Google):
```python
def my_function(param1: str, param2: int) -> bool:
"""
Descrizione breve della funzione.
Args:
param1: Descrizione del primo parametro
param2: Descrizione del secondo parametro
Returns:
Descrizione del valore ritornato
Raises:
ValueError: Quando succede
"""
pass
```
### Commit Messages
Usa il formato Conventional Commits:
- `feat: aggiungi nuova feature`
- `fix: correggi un bug`
- `docs: aggiorna documentazione`
- `style: formattazione, without semantic change`
- `refactor: ristruttura codice`
- `perf: migliora le performance`
- `test: aggiungi o modifica test`
- `chore: aggiorna dipendenze, etc`
Esempio:
```
feat: aggiungi endpoint per ottenere statistiche modelli
- Nuovo endpoint GET /api/v1/models/stats
- Ritorna conteggio, spazio totale e ultimi aggiornamenti
- Include test di integrazione
```
### Codice
- Mantieni le funzioni piccole e ben definite
- Usa nomi descrittivi
- Aggiungi commenti per la logica complessa
- Evita magic numbers, usa costanti
## Testing
- Tutti i PR devono includere test per nuove funzionalità
- La copertura del codice deve rimanere ≥ 80%
- Esegui i test prima di submitare:
```bash
make test
```
## Documentazione
- Aggiorna il README se cambi il comportamento
- Aggiungi docstring a nuove funzioni
- Aggiorna il CHANGELOG.md
## Processo di Review
- I PR saranno reviewati il prima possibile
- I feedback saranno forniti in buona fede
- Le discussioni devono essere costruttive
## Licenza
Contribuendo, accetti che i tuoi contributi siano licensiati sotto la MIT License.
---
Domande? Apri un issue o contatta il maintainer!