# 01 — Setup monorepo Leggi `CLAUDE.md`. ## Obiettivo Creare la struttura base del monorepo, senza ancora codice applicativo. ## Cosa fare - npm workspaces con `apps/*` e `packages/*` (Medusa **escluso** dai workspace: resta un progetto indipendente in `medusa/`). - Crea `packages/shared` (TypeScript) per tipi e DTO condivisi tra `api`, `public` e `private`; esporta per ora solo un tipo `UserRole = 'customer' | 'company' | 'installer' | 'admin'`. - `.gitignore` (node_modules, dist, .env, uploads, logs, .angular), `.editorconfig`, `.nvmrc` con Node LTS, `.env.example` vuoto con commento. - `tsconfig.base.json` con strict mode, estesa dai package. - `README.md` con istruzioni di avvio minime. - Inizializza git. ## Criteri di accettazione - `npm install` dalla root funziona senza errori. - `packages/shared` compila (`npm run build -w packages/shared`). - Nessuna cartella `apps/*` ancora popolata oltre a placeholder `.gitkeep`. - `CLAUDE.md` aggiornato: struttura workspace + `packages/shared` documentato.