Files
llm-monitor/CONTRIBUTING.md
T
2026-04-25 19:00:37 +02:00

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

  1. Fork il repository
  2. Crea un branch: git checkout -b feature/my-feature
  3. Installa le dipendenze di sviluppo:
    pip install -r requirements-dev.txt
    
  4. Effettua i tuoi cambiamenti seguendo lo 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):
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:
    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: