Convenzioni di Sviluppo¶
Lingua¶
| Cosa | Lingua |
|---|---|
| UI (testi, label, messaggi) | Italiano — sempre tramite t('chiave') di i18next |
| Codice (variabili, funzioni, classi, tipi) | Inglese |
| Commenti nel codice | Italiano |
| Commit Git | Italiano |
| Documentazione | Italiano |
Nessuna stringa inglese hardcoded nell'UI
Qualsiasi testo visibile all'utente deve passare per t('chiave').
Non usare mai stringhe inglesi hardcoded nei componenti React.
Annotazioni Codice Critico¶
I file che gestiscono sicurezza, isolamento dati o logiche finanziarie complesse portano:
/**
* @ai-critical
* @ai-read-before-modify manifest2026/skills/finance/PLAFOND_NEXI.md
* @ai-test-required finance.service.spec.ts
*/
Segnala agli agenti AI e agli sviluppatori di leggere la documentazione prima di modificare.
Branch Strategy¶
main → codice stabile, approvato — mai commit diretti
dev → integrazione continua
feature/[nome] → nuova funzionalità
fix/[nome] → correzione bug
hotfix/[nome] → emergenza produzione (richiede keyword HOTFIX)
restore/[data] → ripristini da commit precedenti
Formato commit: feat: descrizione in italiano / fix: descrizione / refactor: descrizione
Layout Standard (Pagine React)¶
Ogni pagina applicativa usa questo wrapper:
<div className="w-full h-full p-4 md:p-6 lg:p-8 animate-in fade-in duration-500">
{/* Header: titolo con gradient + descrizione + bottoni azione */}
{/* Content: card con rounded-xl, shadow-sm, border */}
</div>
Vietato
h-screen— causa problemi di layout nel contesto SPAfixed— interferisce con la shell dell'applicazione- Valori
pxhardcoded per container principali
Build Sicura¶
Mai usare npm run build direttamente
Può causare freeze/deadlock su questo ambiente.
Prima di qualsiasi avvio: bash scripts/kill_zombie.sh
Zero-Trust Data Rule¶
// Obbligatorio in OGNI query che riguarda dati di business
where: {
tenantId: user.tenantId, // sempre
ownerId: user.id // per entità private utente
}
Dipendenze npm¶
Approvazione richiesta
Non aggiungere pacchetti npm senza proporre e ricevere approvazione esplicita. Ogni nuova dipendenza deve essere discussa prima.