4b782ffdc8
- 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
3.2 KiB
3.2 KiB
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
- Fork il repository
- Crea un branch:
git checkout -b feature/my-feature - Installa le dipendenze di sviluppo:
pip install -r requirements-dev.txt - Effettua i tuoi cambiamenti seguendo lo Style Guide
- Scrivi i test: I test sono obbligatori per nuove funzionalità
- Esegui i test:
make test - Formatta il codice:
make format - Esegui il linting:
make lint - Fai il commit:
git commit -m "feat: descrizione della feature" - Push:
git push origin feature/my-feature - 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):
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 featurefix: correggi un bugdocs: aggiorna documentazionestyle: formattazione, without semantic changerefactor: ristruttura codiceperf: migliora le performancetest: aggiungi o modifica testchore: 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:
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!