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
This commit is contained in:
+123
@@ -0,0 +1,123 @@
|
||||
# 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!
|
||||
Reference in New Issue
Block a user