Kit tappa 3 — L'AI dentro
L'assistente in streaming con gli strumenti, le due funzioni del pannello, i paletti e la pulizia dei log.
Il download dei kit è per chi ha il libro. Il codice è stampato nel capitolo 0.1 e in Appendice E: sono otto caratteri, si digita una volta e resta su questo dispositivo.
- Scompatta lo zip in una cartella senza
&,|,%nel percorso (diagnosi ②). - Entra nella cartella
prenotafacilee lancianpm install. - Ricrea il tuo
.env.localcon le chiavi tue: nel kit non ci sono e non ci devono essere. npm run dev, e poiclaudenella stessa cartella.
Dal tag `tappa-3-ai`. Nessuna chiave dell'API è dentro il pacchetto: la metti tu in `.env.local`, come spiega il 4.1. I collaudi girano con una finta API, quindi partono anche senza chiave.
I file del kit
| File | Peso |
|---|---|
| .gitignore | 632 B |
| AGENTS.md | 687 B |
| CLAUDE.md | 3 KB |
| README.md | 6 KB |
| app/admin/page.tsx | 3 KB |
| app/api/admin/bozza/route.ts | 1 KB |
| app/api/admin/riepilogo/route.ts | 2 KB |
| app/api/chat/route.ts | 6 KB |
| app/cookie/page.tsx | 519 B |
| app/favicon.ico | 25 KB |
| app/globals.css | 163 B |
| app/layout.tsx | 2 KB |
| app/page.tsx | 4 KB |
| app/prenota/azioni.ts | 4 KB |
| app/prenota/conferma/page.tsx | 2 KB |
| app/prenota/page.tsx | 8 KB |
| app/privacy/page.tsx | 2 KB |
| app/servizi/[slug]/page.tsx | 4 KB |
| app/servizi/page.tsx | 1 KB |
| banco/porta.ts | 2 KB |
| banco/pulizia-log.ts | 3 KB |
| banco/sql.ts | 2 KB |
| components/intestazione.tsx | 1 KB |
| components/modulo-prenotazione.tsx | 8 KB |
| components/pannello-ai.tsx | 3 KB |
| components/piede.tsx | 1 KB |
| components/scheda-servizio.tsx | 2 KB |
| components/widget-chat.tsx | 8 KB |
| eslint.config.mjs | 483 B |
| lib/admin-guardia.ts | 3 KB |
| lib/ai/admin.ts | 6 KB |
| lib/ai/assistente.ts | 8 KB |
| lib/ai/attrezzi.ts | 6 KB |
| lib/ai/istruzioni.ts | 5 KB |
| lib/ai/limiti.ts | 3 KB |
| lib/ai/modello.ts | 2 KB |
| lib/dati.ts | 10 KB |
| lib/db.ts | 3 KB |
| lib/formato.ts | 2 KB |
| next.config.ts | 319 B |
| package-lock.json | 239 KB |
| package.json | 711 B |
| postcss.config.mjs | 101 B |
| public/file.svg | 391 B |
| public/globe.svg | 1 KB |
| public/next.svg | 1 KB |
| public/vercel.svg | 128 B |
| public/window.svg | 385 B |
| supabase/banco/00-ruoli-e-auth.sql | 1 KB |
| supabase/migrations/20260824000100_schema_iniziale.sql | 8 KB |
| supabase/migrations/20260824000200_rls.sql | 8 KB |
| supabase/migrations/20260824000300_slot_liberi.sql | 5 KB |
| supabase/migrations/20260824000400_pulizia_registro_ai.sql | 2 KB |
| supabase/seed.sql | 3 KB |
| test/ai.test.ts | 25 KB |
| test/alias.mjs | 1 KB |
| test/finta-api.ts | 9 KB |
| test/prenotazione.test.ts | 4 KB |
| test/rls.test.ts | 10 KB |
| test/slot-liberi.test.ts | 7 KB |
| tsconfig.json | 1019 B |