Feat/nucleo rebrand - #4
Merged
Merged
Conversation
Rebrand pubblico LeadBot/Leadbot/LeadBot.io -> NUCLEO (prodotto: NUCLEO AI), dominio -> nucleoai.it. Identifier-safe: scope @typebot.io/* e @leadbot/*, componenti logo/CTA e prop publicId invariati. - logo wordmark NUCLEO (landing + packages/ui) - domini in constants.ts, email noreply@nucleoai.it, .env*.example - copy landing, SEO builder/viewer, i18n (en/it + altre lingue) - email transazionali, README/TODO/AGENTS/CLAUDE, legal MDX - LEADBOT_STRATEGY.md -> NUCLEO_STRATEGY.md - scripts/nucleo_rebrand.py (migrazione one-shot, identifier-safe) Verificato: tsc --noEmit verde su builder e landing-page. Non toccati (intenzionale): CSS vars --leadbot-*, deploy/DNS/Docker/CI, github/linkedin URL (no account NUCLEO ancora). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cervello Documentale (RAG) core, allineato al Piano Tecnico NUCLEO. packages/rag (libreria TS portabile, zero runtime deps, usa fetch globale): - chunker ricorsivo (512/50) tarato su documenti italiani - embeddings pluggable: OpenAI (text-embedding-3-small) + fallback locale (bge-small, "dati in EU"), factory env-based - RagStore boundary + adapter Postgres/pgvector (cosine <=>, HNSW) - ingestDocument (persist->chunk->embed->store) + retrieve (query->topK) - migrations/0001_init_rag.sql (pgvector + HNSW) packages/forge/blocks/nucleoQuery (@typebot.io/nucleo-query-block): - blocco forge che interroga l'endpoint RAG via HTTP (ky), apiKey workspace-scoped, salva Context/Sources in variabili - self-contained; registrazione nel forge registry = follow-up (vedi README) Verificato: tsc --noEmit verde su packages/rag e sul blocco. Nessuna modifica a codice esistente: i nuovi package sono isolati e non toccano build/registry correnti. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Motore Workflow if-this-then-that (NUCLEO Piano Tecnico, Fase 2).
Libreria TS portabile, zero runtime deps:
- types: WorkflowRule/Trigger/Condition(tree all|any)/Action/Run
- conditions: valutatore operatori eq/neq/gt/gte/lt/lte/contains/exists
- engine: evaluateRules (puro, event + rules -> ActionInvocation[])
- actions: ActionDispatcher + ActionExecutor pluggable per tipo
- template: {{event.path}} nei param azione
- queue: JobQueue + InMemoryJobQueue
- store: WorkflowStore + InMemoryWorkflowStore (demo end-to-end senza DB)
- runner: handleEvent (load rules -> evaluate -> dispatch/enqueue + run audit)
- migrations/0001_init_workflow.sql (WorkflowRule + WorkflowRun)
Verificato: tsc --noEmit verde. Package isolato, nessun impatto su build esistenti.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Dashboard NUCLEO (Next.js App Router) con shell sidebar+topbar e una pagina per ogni modulo, dati mock, design custom (no dipendenze UI esterne): - Dashboard (overview KPI + attività + stato moduli) - Cervello Documentale (documenti, indicizzazione, demo NucleoQuery) - Motore Workflow (regole if-this-then-that + audit esecuzioni) - Appuntamenti AI (agenda + slot disponibili) - Chatbot (bot, canali web/WhatsApp, conversioni) - Portale B2B (clienti area riservata, ticket, fatture) - Integrazioni (FattureInCloud, WhatsApp, Calendar, Danea, Zucchetti, SDI) Avviato in locale (next dev :3010) e verificato il render di ogni modulo. tsc --noEmit verde. App isolata, nessun impatto sui build esistenti. Aggiunto .claude/launch.json (preview) e scripts/shoot.mjs (screenshot Playwright). Follow-up: auth, server actions, endpoint /api/rag/query, dati reali via Prisma. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Riscritta la homepage (apps/landing-page/src/routes/index.tsx) come landing NUCLEO pulita, allineata al design system della dashboard (navy #0F172A, blu #1E40AF/#2563EB, card, NucleoMark) e al posizionamento del Piano Tecnico: - hero "ChatGPT scrive. NUCLEO lavora." + sottotitolo PMI + CTA - griglia 4 moduli (Cervello, Workflow, Appuntamenti, Chatbot) - confronto ChatGPT Business vs NUCLEO AI - pricing BASE/PROFESSIONAL/ENTERPRISE - CTA finale Nuovo componente self-contained features/homepage/nucleo/Landing.tsx (Tailwind, nessuna dipendenza dalle vecchie sezioni scroll-magic Typebot, che restano nel repo ma non sono piu' composte in homepage). Verificato: vite dev :3003 OK, tsc --noEmit verde, screenshot di hero+full. NB: il CTA "Inizia gratis" dell'header resta arancione = primary globale di packages/ui condiviso col builder (cambio tema globale = follow-up separato). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…uto in NUCLEO) Stringa user-facing sfuggita al rebrand iniziale (apps/viewer RootPage). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
filippo-mancinelli
had a problem deploying
to
prod
June 30, 2026 07:31 — with
GitHub Actions
Failure
filippo-mancinelli
had a problem deploying
to
prod
June 30, 2026 07:31 — with
GitHub Actions
Failure
filippo-mancinelli
had a problem deploying
to
prod
June 30, 2026 07:31 — with
GitHub Actions
Failure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.