Guida alla Pulizia e Manutenzione del Repository

Questa guida definisce i parametri rigorosi che l’Intelligenza Artificiale (e qualsiasi sviluppatore) deve seguire quando le viene richiesto di “pulire” o “riorganizzare” il codice e i file all’interno del progetto ColivingLiguria (CL).

L’obiettivo è mantenere un ambiente di lavoro snello, organizzato, privo di duplicati e strutturato in modo logico.


1. Eliminazione di File Obsoleti e Inutili

Quando viene richiesta una pulizia, l’AI deve:

  • Identificare e rimuovere file di test o script di debug temporanei (es. test_*.py, *.log non necessari, vecchi file .txt usati per appunti).
  • Rimuovere versioni legacy o vecchie di file che sono stati completamente sostituiti da nuove versioni (es. vecchi file TS/JS, vecchi script Bash non piĂą in uso).
  • Attenzione: Se c’è la sicurezza matematica che un file sia inutile e non referenziato da nessun’altra parte, deve essere eliminato completamente. Non va semplicemente spostato in una cartella “archive” a meno che non sia specificatamente richiesto.

2. Riorganizzazione Logica e Gerarchica

I file non devono essere lasciati “liberi” (sfusi) nelle root direttrici se non strettamente necessario (come i file di configurazione base, es. package.json).

  • Raggruppamento per pertinenza: Ogni file deve risiedere nella cartella del suo contesto specifico (es. script di amministrazione in Admin_CL/scripts, contratti legali in LaTeX_CL/Legal/Contracts).
  • Nessuna cartella doppia o ridondante: Disambiguare le cartelle simili. Se esistono due cartelle che servono allo stesso scopo (es. components e ui_components), unire il contenuto e rimuovere il clone.
  • Separazione Frontend/Backend: Se si tratta di un’applicazione o di un programma (come la Sync Dashboard), il codice deve essere diviso rigorosamente in cartelle frontend/ e backend/. Nessun file di backend (Python, DB) deve trovarsi nella cartella del frontend (React/Vite) e viceversa.

La riorganizzazione non deve MAI corrompere il sistema.

  • Durante lo spostamento o la rinominazione di file o cartelle, l’AI deve sempre cercare (grep) e aggiornare tutti i collegamenti, import, o path relativi all’interno dell’intero progetto che puntano al file appena spostato.
  • Regola fissa: Alla fine di ogni massiccia pulizia o spostamento strutturale, l’AI deve testare il programma (es. eseguire il server di sviluppo, avviare il tool di build) per confermare che non sia “esploso” nulla.

4. Gestione Specifica dei File LaTeX (LaTeX_CL)

Il workflow di compilazione PDF tramite LaTeX genera molti file di scarto che sporcano le directory.

  • Pulizia dei file di log della compilazione: Tutti i file ausiliari (.aux, .log, .out, .toc, .fls, .fdb_latexmk, .synctex.gz) devono essere sempre rimossi al termine di una compilazione avvenuta con successo.
  • Nessun PDF finale tra i sorgenti: I file PDF finali (.pdf) che risultano dalla compilazione NON devono risiedere nella stessa cartella dei file .tex sorgente da cui sono stati generati.
  • Destinazione dei PDF compilati: I PDF compilati per test manuali devono essere spostati direttamente sul Desktop dell’utente. Se compilati durante routine automatizzate (come CL-sync), gestirli tramite il normale flusso temporaneo.
  • Eccezione: I PDF che fungono da input per il LaTeX (es. loghi aziendali in PDF, firme scansionate incluse tramite \includegraphics) DEVONO ovviamente rimanere nelle loro cartelle (System/pre/data/...).

🚀 Check Coda di Pulizia

Quando un umano ordina all’AI: “Pulisci il repository secondo le regole”, l’AI applicherà questa checklist:

  1. Ricerca ed eliminazione script/log obsoleti.
  2. Raggruppamento dei file vaganti in cartelle pertinenti.
  3. Verifica netta separazione Frontend/Backend per le app.
  4. Rimozione di PDF di output e file ausiliari (.aux, .log) dalle cartelle LaTeX (spostando i PDF sul Desktop per revisione).
  5. Aggiornamento globale dei path/link eventualmente rotti.
  6. Test finale di funzionamento (compilazione Web o backend).