Skip to content

Latest commit

 

History

History
154 lines (131 loc) · 7.45 KB

File metadata and controls

154 lines (131 loc) · 7.45 KB

BU Blueprint

App: https://vectorlab-cg.github.io/Business-Unit-Blueprint/

Porta un'idea di business unit da ipotesi a decisione: ipotesi → materiali → landing → test → decisione. Non decide se una BU è valida: obbliga a chiarire l'idea, genera una prima versione coerente dei materiali, prepara un test di mercato. La decisione resta alle persone. Uso interno, per 5-10 business unit nei prossimi due anni.

Uso

  • Online: il link sopra.
  • Locale: apri index.html con doppio click — nessun server, nessuna installazione, HTML/CSS/JS puri, funziona da file://.

I dati restano in localStorage del browser che usi. Esporta backup JSON regolarmente — è l'unico modo di spostarli o recuperarli.

La sidebar ha anche una sezione cartella condivisa: legge le business unit dalla cartella BU/ di questo repo tramite le API GitHub (nessun login richiesto), e le salva lì se incolli un tuo token GitHub personale (resta solo nel tuo browser). Una BU creata senza token esiste solo sul tuo browser — è marcata "Solo locale" in sidebar finché non premi "Condividi su GitHub" (compare in testa non appena c'è un token). Dettagli in src/cartella.js.

In fondo alla sidebar, "Vademecum operativo" apre docs/vademecum-nuova-bu.html: regole, competenze e checklist per il lancio di una BU (setup domini/social, tracking, Meta, privacy, deliverable). È un documento a sé, uguale per ogni BU — non cambia in base a quale hai selezionato, quindi vive fuori dal flusso Compila/Materiali/.../Output invece che come tab.

Le sette viste

  • Compila — questionario per sezioni (Identità, Mercato, Offerta, Risorse, Economia, Pilota, Test), apribili/chiudibili una per una, più le leve. Ogni campo — e ogni leva nel suo insieme — ha uno stato (ipotesi | generato_da_ia | mandatorio), riportato con un'icona (💭 🤖 🔒) nel Markdown dei materiali interni — mai in quelli destinati a un cliente. Vedi docs/MODELLO.md.
  • Materiali — un blocco per generatore, raggruppati in 4 capitoli (vedi sotto) più BU One-Page da solo in apertura, con generazione/rigenerazione (anche tutte insieme, con "Rigenera tutto") e testo modificabile a mano. Un materiale generato prima dell'ultima modifica a un campo o una leva è segnalato come da aggiornare, invece di restare un'istantanea silenziosa.
  • Documento — tutti i materiali concatenati e renderizzati (titoli, tabelle, badge di stato), con gli stessi capitoli di Materiali e il download del file .md grezzo. Stesso avviso di Materiali se qualcosa non è aggiornato, con lo stesso "Rigenera tutto" a portata di mano. I 4 generatori che finiscono con un prompt per uno strumento esterno (Criteri di ricerca prospect, Proposta di valore, Landing, Dimensionamento) hanno un campo subito sotto per incollarne il risultato — persiste ed entra anche nel file scaricato.
  • Lancio — checklist operativa di 25 verifiche tecniche per portare la BU dal nome al primo lead (setup domini/social, sito, tracking/Meta), estratta dal Vademecum operativo — il § in ogni voce rimanda al dettaglio. Come Output: si spunta cosa è stato verificato per questa BU, non è un vincolo universale.
  • Validazione — risultati del test e decisione finale: Continua / Modifica / Ferma.
  • Output — checklist di tutto ciò che un art director/copywriter potrebbe produrre a partire da questa BU (claim, copy landing, annunci, post LinkedIn, logo, identità visiva, ecc. — 32 voci fisse, testi e design). Si spunta cosa serve davvero per questa BU specifica; non influisce su completezza o campi critici, è solo un promemoria per il brief di consegna al team creativo.
  • Prompt Design — un prompt pronto da incollare in uno strumento esterno di generazione immagini (Midjourney, DALL-E, Ideogram, ecc.) per ciascuna delle 12 voci "design" del catalogo Output (logo, identità visiva, mockup, creatività annunci, ecc.). Sola lettura, sempre calcolato dai dati correnti della BU — nessuna immagine generata dall'app stessa: niente API esterne, niente chiavi da proteggere in un repository pubblico. Vedi docs/DECISIONI.md.

I 16 generatori

Markdown dai dati compilati, buchi sempre segnalati ([MANCA: ...], [DA SCRIVERE: ...]) invece di essere inventati o saltati in silenzio.

Raggruppati in 4 capitoli (l'ordine di presentazione in Materiali e Documento, non l'id interno del file gen/NN-*.js) più BU One-Page, da solo in apertura come sintesi di tutto il resto:

  • Fondamenta strategiche — Problem Statement · Ideal Customer Profile · Analisi SWOT · Dimensionamento
  • Materiali di marketing — Proposta di valore · Brief demo/mockup · Landing page · Presentazione commerciale
  • Processo commerciale — Criteri di ricerca prospect · Script discovery call · Template proposta economica · Pipeline commerciale
  • Pilota, test e decisione — Offerta pilota · Dashboard KPI · Criteri di continuazione o chiusura

Dimensionamento mette fianco a fianco prezzo, costo di erogazione, capacità e dimensione del mercato — i dati che dicono se una BU vale l'investimento, non solo se il mercato la vuole. Non calcola un ricavo potenziale da solo (i campi sono spesso una fascia, non un numero): lo lascia [DA SCRIVERE], con un prompt che riporta i dati per farlo a mano.

Codice in src/gen/, un file per generatore. Per aggiungerne uno: docs/AGGIUNGERE-UN-GENERATORE.md.

Struttura

index.html          punto d'ingresso
src/
  schema.js           modello dati, normalizzazione/migrazione
  store.js            localStorage, export/import JSON
  render.js           helper condivisi dai generatori
  markdown.js          renderer Markdown -> HTML per la vista Documento
  prompt-design.js     prompt immagini per la vista Prompt Design
  ui.js                le sette viste
  app.js               avvio, routing, sidebar, cartella condivisa
  cartella.js          lettura/scrittura BU via API GitHub
  gen/                 un file per generatore
test/
  smoke.js             test senza dipendenze — node test/smoke.js
  browser.js           test end-to-end in browser reale — node test/browser.js
docs/
  MODELLO.md            il modello dati spiegato
  DECISIONI.md          scelte di design non ovvie dalla specifica
  AGGIUNGERE-UN-GENERATORE.md

Niente framework, niente build: script classici caricati in ordine da index.html, registrati su un namespace globale window.BU. L'app non ha nessuna dipendenza — package.json esiste solo per i test end-to-end (vedi sotto) e non viene mai caricato da index.html.

Test

node test/smoke.js

Nessuna dipendenza: sorgenti caricati in un contesto vm di Node. Copre schema, generatori, migrazione, stato dei campi, il renderer Markdown e la cartella condivisa lato API (fetch mockato contro un repository finto) — tutto ciò che non richiede un DOM vero.

npm install && node test/browser.js

Test end-to-end in un browser reale (Puppeteer, unica dipendenza del progetto, usata solo qui): copre lo stato e il DOM di app.js/ui.js che smoke.js non può toccare — es. che una business unit creata senza token GitHub non sparisca quando la cartella condivisa si aggiorna. Anche qui nessuna rete vera: le API di GitHub sono finte. Gira anche in CI (.github/workflows/ci.yml).