Salta al contenuto
supastack
Sfoglia la documentazione
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /it/docs/web/updating-the-kit.md (or send Accept: text/markdown).

Aggiorna la tua copia quando il kit migliora

Porta i miglioramenti dal repository sorgente nella tua copia — registra il tuo punto di partenza, scarica la nuova revisione, fai merge su un branch e verifica prima del deploy.

1. Registra da dove sei partito

Tratta un aggiornamento come un piccolo progetto, non come un incolla: confronti la revisione del kit che hai con quella più nuova, porti le modifiche e testi su un branch prima del deploy. Funziona sia che il tuo progetto sia un fork di un repository del kit — una copia che GitHub tiene collegata alla sorgente — sia codice che hai copiato nella tua app.

Prima di ogni altra cosa, scrivi una nota nel tuo progetto con tre cose: il commit del kit da cui sei partito — lo SHA, il codice breve di Git che identifica una versione esatta — il repository che hai ricevuto (supastack-web, supastack-mobile, supastack-desktop o il monorepo All Platforms) e le modifiche che hai già fatto tu.

I repository del kit e il monorepo hanno cronologie diverse, quindi non fare mai merge di un branch da uno nell'altro fork. Se non hai mai registrato uno SHA di partenza, trova la versione condivisa più vicina con git merge-base in un fork, oppure identifica gli ultimi file e test che hai copiato in un'adozione selettiva — ed esamina un diff più ampio quando la baseline esatta è incerta.

2. Scarica e fai merge della nuova revisione

Esegui i comandi qui sotto in un terminale dentro la cartella del progetto, con il tuo lavoro salvato e committato — un working tree pulito, così niente di fatto a metà finisce nel merge. Le parole dentro le parentesi angolari sono modelli da sostituire: metti i tuoi valori al posto dell'intero <thing>. L'indirizzo GitHub mostrato è un segnaposto; usa l'indirizzo del repository che hai forkato.

Cosa fanno le righe: git remote add insegna alla tua copia un secondo indirizzo chiamato kit-upstream — il repository del kit — e git fetch ne scarica lo stato più recente senza toccare i tuoi file. git switch -c crea un branch di upgrade separato così il tuo branch principale resta intatto mentre esamini. git log elenca i commit che stai per prendere e git diff --stat riassume quali file sono cambiati; leggi il diff completo per i moduli che usi, non solo i titoli dei commit. git merge porta il nuovo codice nel branch di upgrade.

Se Git segnala che il remote kit-upstream esiste già, salta la riga remote add e continua con git fetch. <previous-kit-sha> è lo SHA di partenza che hai registrato al passaggio 1.

# Upstream is the platform repository you forked — substitute its real URL
# (supastack-web shown; use supastack-mobile or supastack-desktop as fits).
git remote add kit-upstream https://github.com/<org>/supastack-web.git
git fetch kit-upstream
git switch -c upgrade/kit-update
git log --oneline <previous-kit-sha>..kit-upstream/main
git diff --stat <previous-kit-sha>..kit-upstream/main
git merge kit-upstream/main

3. Risolvi i conflitti senza perdere il tuo lavoro

Un conflitto significa che entrambe le parti hanno cambiato le stesse righe: il kit è andato avanti e tu hai personalizzato lo stesso punto. Git mette in pausa il merge e marca il file — ti sta chiedendo di scegliere, non sta segnalando un danno.

Apri ogni file marcato nell'editor e decidi riga per riga: tieni testo, nomi e impostazioni propri del tuo prodotto, e prendi le correzioni e le modifiche strutturali del kit. Non risolvere mai un conflitto sostituendo un file che hai personalizzato con l'intera nuova versione del kit — così cancelli il tuo lavoro. Risolvi dentro il branch di upgrade ed esegui i test per ogni area risolta prima di continuare.

Se il merge va male, git merge --abort riporta il branch allo stato pre-merge. Niente in questo flusso cambia il tuo branch principale o il tuo deployment finché non fai tu stesso il merge del branch di upgrade.

4. Aggiorna i dati e distribuisci nell'ordine giusto

Le nuove revisioni del kit possono cambiare il database. Leggi i nuovi file in packages/db/drizzle/ — la cartella delle migrazioni — e fai il backup dei dati di produzione prima di applicare le migrazioni; testale prima su una copia usa e getta. Distribuisci le modifiche di schema compatibili prima del codice che ne ha bisogno: se una migrazione rimuove o rimodella dati, tornare indietro solo con il codice dell'app non può ripristinare il vecchio schema.

Confronta il nuovo .env.example con le tue impostazioni e aggiungi i valori appena richiesti nella dashboard del tuo hosting. I file .env contengono segreti e non vanno mai in commit su Git — li ricrei a mano su ogni macchina e deployment, e restano fuori dai valori NEXT_PUBLIC_ ed EXPO_PUBLIC_.

Prima del deploy, esegui i gate di verifica del kit. Nel monorepo All Platforms, corepack pnpm check:local esegue lint, typecheck, i test unitari e un controllo di formato senza credenziali a pagamento; corepack pnpm verify:local aggiunge la build di produzione e le suite di test nel browser. In un fork a superficie singola, esegui i comandi di test e build di quel repository. Poi fai un giro di smoke test su staging: accedi, prova un secondo workspace ed esegui il percorso utente principale del tuo prodotto.

Quando tutto passa, annota lo SHA di destinazione accettato e i conflitti che hai risolto — quella nota è la baseline di partenza per il prossimo aggiornamento.

corepack pnpm check:local
# fuller gate: adds the production build and browser suites
corepack pnpm verify:local

5. Se hai copiato pezzi invece di forkare

Un'adozione selettiva — copiare moduli del kit in un'app esistente — non condivide cronologia Git con il kit, quindi git merge non può aiutare. Confronta invece il vecchio SHA sorgente con lo SHA sorgente di destinazione e porta solo le modifiche che toccano la parte che hai adottato.

Esamina i tipi pubblici del modulo, lo schema di persistenza e le migrazioni, il chiamante lato server, la configurazione, i test e la documentazione come un'unica unità — una modifica dentro un pacchetto può richiedere una route o una modifica d'ambiente corrispondente altrove, e copiare un solo helper può lasciare il resto su un contratto obsoleto. Tieni una breve nota di adattamento — quali file del kit hai preso, quali hai saltato, cosa hai cambiato — così il prossimo aggiornamento può ripetere le tue scelte.

Se un aggiornamento rompe qualcosa nella tua copia in esecuzione, segui la guida alla risoluzione dei problemi prima di annullare le tue modifiche.

Domande frequenti

14 domande

Cos'è supastack?

supastack è una base modulare per costruire prodotti SaaS con AI. Riunisce l'infrastruttura comune così puoi concentrarti sulle funzionalità proprie del tuo prodotto.

Supporta web e mobile?

Sì. supastack include app Next.js ed Expo come punti di partenza per esperienze web e mobile.

Quale autenticazione è inclusa?

Better Auth copre email/password, OTP e login social. I workspace personali vengono provisionati con l'account così i record restano delimitati fin dal primo giorno.

Come è supportata l'AI?

supastack include AI multi-provider configurabile, tracciamento dell'uso, budget e supporto cifrato per le proprie chiavi (BYOK).

Come vengono gestiti gli abbonamenti?

Per i prodotti costruiti sul kit, fatturazione Stripe, abbonamenti e permessi formano la base dell'accesso a pagamento. I segreti dei provider restano lato server.

Dove vive il codice specifico del mio prodotto?

Le funzionalità specifiche del prodotto restano in un codebase separato, mentre il prodotto configura e integra i moduli base di supastack.

Come funziona il prezzo di supastack?

Il kit è un acquisto unico con aggiornamenti a vita: Un framework a 249 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 349 $) oppure Tutti i framework (Next.js, iOS, Android) a 499 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 599 $), più 75 $ per posto sviluppatore aggiuntivo. Nessun abbonamento al kit. Il checkout su questo sito consegna la tua chiave di licenza via email, con accesso al repo tramite invito GitHub.

Come delimitano i workspace i miei dati?

I record utente sono delimitati da workspaceId. Identità, permessi, uso AI, eventi di fatturazione e voci di audit restano dentro il confine del workspace personale.

Come funzionano i job in background?

Trigger.dev è il runtime di job esplicito. Il contratto JobRunner promette solo enqueue, status e cancel — la semantica di workflow resta specifica ed esplicita di Trigger.dev.

In cosa differisce l'email dall'outreach?

L'email transazionale copre i flussi di prodotto come gli avvisi di completamento delle attività. L'outreach a freddo e le campagne appartengono al prodotto, fuori dal modulo email di questo kit.

Come funzionano gli acquisti su mobile?

La versione mobile include acquisti nativi e ripristino tramite RevenueCat, con accesso verificato dal server. Configura gli account degli store e completa i test sui dispositivi prima della pubblicazione. I pagamenti web restano separati.

Dove risiedono le chiavi dei provider AI?

Le credenziali BYOK sono cifrate e restano lato server. Le chiavi vengono sanificate nei log; uso e budget restano visibili a livello di workspace.

Quali metodi di pagamento accetta il checkout?

Il checkout ospitato da Stripe accetta le carte e può offrire anche Alipay e WeChat Pay una volta attivati i wallet sull'account Stripe — utile per gli acquirenti in Cina. Le autorizzazioni dei wallet vengono confermate in modo asincrono, quindi la pagina della licenza si aggiorna non appena il pagamento va a buon fine.

Posso ottenere un rimborso?

Una volta ottenuto l'accesso al repository, supastack è tuo per sempre, quindi non può essere rimborsato. Ma non preoccuparti: ricevi il codice sorgente completo con aggiornamenti a vita per creare e lanciare prodotti illimitati per te o per i tuoi clienti. L'unica condizione è che non puoi rivendere il codice né ridistribuire il repository come starter kit o modello.

IT
Tema