3.4 KiB
3.4 KiB
Contribuire a LLM Monitor
Grazie per l'interesse nel contribuire a LLM Monitor! Questo documento fornisce linee guida per contribuire al progetto.
Autore e Diritti
- Autore del progetto: Luca Sacchi Ricciardi
- Detentore di tutti i diritti: Luca Sacchi Ricciardi
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 soggetti alla licenza proprietaria del progetto (tutti i diritti riservati).
Domande? Apri un issue o contatta il maintainer: