dido-backend
Installation
SKILL.md
Backend di Dido
Linee guida per ogni backend di Dido. Skill richiesta: dido-code-style, con i principi validi per ogni stack. Qui c'è come li applica un backend.
Come le applica lo starter Node (Express 5, Prisma, PostgreSQL), e in quale file, sta in riferimento/node-express-prisma.md: leggilo quando lavori sullo starter o su un progetto nato da lì. Un progetto derivato può aver cambiato un dettaglio, e allora vale quello che trovi nel suo codice. Quando il CLAUDE.md del progetto è più specifico, vale quello.
Livelli e moduli
- Rotte, controller, service, accesso ai dati. Niente livello repository: il service usa direttamente il client del database.
- La rotta dichiara endpoint e middleware, senza logica.
- Il controller valida l'input in cima, chiama il service e costruisce la risposta. Non tocca il database.
- Il service ha la logica di business e lancia gli errori di dominio. Non conosce la richiesta HTTP né la validazione, e non scrive la risposta.
- L'app si costruisce senza aprire la porta e il listen sta in un altro file, così i test importano l'app senza avviare il server.
- Un modulo di dominio è una cartella con rotte, schemi, controller e service, e si aggancia all'app con una riga, il mount delle sue rotte. Gli altri moduli lo usano dal suo service, e i servizi condivisi (mail, storage, audit) dal loro punto d'ingresso.