Dalle pull request unite al changelog pubblicato

Zero legge le pull request unite questa settimana, tiene quelle che riguardano gli utenti, scrive il changelog e lo pubblica sul blog, sulla tua lista Resend e su X nella stessa esecuzione, appena approvi la bozza.

Zero connette:GitHubResendX (Twitter)Slack

Cosa consegna Zero: il post, l'email e il thread

Questo è un vero aggiornamento di prodotto di Zero, pubblicato su vm0.ai il 20 luglio 2026 e mostrato esattamente com'è uscito: il post del blog, lo stesso aggiornamento come newsletter e come thread su X. Un'unica esecuzione ha scritto tutti e tre dalle pull request unite della settimana.

Leggi l'aggiornamento di prodotto pubblicato

Che cos'è l'automazione del changelog?

L'automazione del changelog consiste nel generare l'aggiornamento di prodotto dal lavoro che il team ha davvero unito, invece di scriverlo a memoria a fine settimana. Zero è l'agente nel mezzo: legge le pull request unite su GitHub, tiene quelle che riguardano gli utenti, le raggruppa per temi, scrive il changelog e lo pubblica sul blog, in una newsletter Resend e in un thread su X in un'unica esecuzione. Il risultato è un aggiornamento di prodotto settimanale che esce puntuale e dice la stessa cosa su ogni canale.

Perché il changelog settimanale si mangia un venerdì

Venerdì pomeriggio. Questa settimana sono state unite una trentina di pull request e qualcuno deve trasformarle in un aggiornamento che la gente legga davvero. Scorri l'elenco dei merge, indovini quali cambiamenti riguardano gli utenti, scrivi il post, lo accorci per l'email, lo accorci di nuovo per X e incolli ogni versione in uno strumento diverso. È la stessa lettura tre volte, e quello che finisce su X quasi mai dice esattamente ciò che è arrivato in casella di posta.

Come Zero trasforma una settimana di merge in un changelog pubblicato

Passo 1: Connetti i tuoi strumenti

GitHub
GitHub
Obbligatorio
Accesso in lettura ai repository da cui pubblichi. Zero legge le pull request unite, le loro etichette, le descrizioni e i percorsi modificati.
Connetti
Resend
Resend
Obbligatorio
Connessione OAuth al tuo spazio Resend. Zero ha bisogno del permesso di invio e dell'accesso in lettura ai pubblici.
Connetti
X (Twitter)
X (Twitter)
Obbligatorio
Accesso in scrittura all'account X che pubblica il thread. Zero pubblica il thread e non legge nient'altro.
Connetti
Slack
Slack
Facoltativo
Facoltativo. Zero pubblica la bozza nel canale che indichi, così una persona la approva prima che venga pubblicato qualcosa.
Connetti

Passo 2: Chiedi a Zero

@Zero ogni venerdì alle 9, leggi le pull request unite in vm0-ai/vm0 negli ultimi 7 giorni. Tieni quelle che riguardano gli utenti, raggruppale per temi e scrivi un changelog. Mostramelo in #marketing, poi pubblicalo sul blog, invialo con Resend al pubblico 'subscribers' e pubblica un thread su X.
Zero legge le pull request unite della settimana
Zero recupera ogni pull request unita nei repository che indichi nell'intervallo che scegli, poi ne legge titolo, descrizione, etichette e percorsi modificati per separare i cambiamenti che riguardano gli utenti da refactoring, lavori solo di test e aggiornamenti di dipendenze.
I cambiamenti rilasciati vengono raggruppati per temi
Dieci piccoli merge raramente significano dieci annunci. Zero raggruppa i cambiamenti in base al comportamento che modificano, non al codice che toccano, e ordina i temi in modo che il post apra con quello che riguarda più persone.
Una sola bozza, adattata a ogni canale
Zero scrive il changelog e poi lo riscrive per ogni destinazione: un'email della lunghezza giusta per la casella di posta, con oggetto e preheader, e un thread con un post per tema. Gli stessi fatti ovunque, perché vengono dalla stessa fonte.
Pubblicazione su blog, Resend e X dopo la tua approvazione
La bozza attende nel canale che indichi. Appena approvi, Zero pubblica il post, lancia la campagna Resend al pubblico che hai indicato e pubblica il thread su X nella stessa esecuzione, poi riporta i numeri di consegna.

Passo 3: Vai oltre

Cambia cosa entra nel post
Regola quali merge contano come cambiamenti visibili agli utenti prima che il post venga scritto.
@Zero includi nel changelog settimanale solo le pull request con l'etichetta 'release-note'. Tutto il resto, elencalo in fondo con una riga di riepilogo.
Attivalo su una release invece che a orario
Sostituisci la pianificazione settimanale con un tag di release, così il post esce quando rilasciate.
@Zero ferma la pianificazione del venerdì. Scrivi e pubblica invece il changelog ogni volta che taggiamo una release in vm0-ai/vm0.
Aggiungi un riepilogo mensile
Mantieni la cadenza settimanale e aggiungi sopra un riepilogo più lungo.
@Zero il primo lunedì di ogni mese, unisci gli ultimi quattro changelog settimanali in un unico post di riepilogo e invialo con Resend.

Integrazioni GitHub, Resend, X e Slack per automatizzare il changelog

Questo flusso legge da uno strumento e scrive su tre. GitHub è l'unica fonte di verità su cosa è stato rilasciato; Resend e X sono destinazioni; Slack è il punto in cui la bozza attende una persona. Ogni connettore viene concesso separatamente e limitato a ciò che il flusso usa davvero, quindi l'accesso in lettura al repository non implica mai il diritto di pubblicare dal tuo account.

GitHub

Integrazione GitHub: cosa legge Zero per costruire il changelog

Obbligatorio

Zero interroga le pull request unite nei repository che indichi entro il tuo intervallo e per ciascuna legge titolo, descrizione, etichette, orario del merge, autore e percorsi dei file modificati. Sono questi cinque segnali a separare un cambiamento visibile agli utenti da un refactoring interno: l'etichetta di nota di release è il più forte, i percorsi modificati intercettano quelli che nessuno ha etichettato e la descrizione aggiunge il dettaglio che il titolo lascia fuori. In questo flusso l'integrazione GitHub è in sola lettura. Zero non apre issue, non fa commit e non modifica pull request. Indicagli più di un repository e li legge tutti nello stesso passaggio, così un frontend e un backend separati producono comunque un unico changelog.

Resend

Integrazione Resend: la newsletter che invia Zero

Obbligatorio

Zero legge i tuoi pubblici Resend per poter indicare per nome quello che scegli invece che per ID, poi crea e invia la campagna: oggetto, preheader, corpo HTML e alternativa in solo testo. Dopo l'invio rilegge il risultato e riporta quanti messaggi sono stati consegnati, rinviati e respinti: per questo report e campagna non si contraddicono mai. Il permesso di invio si concede separatamente dall'accesso in lettura ai pubblici, e Zero non aggiunge, rimuove né esporta contatti.

X (Twitter)

Integrazione X: il thread che pubblica Zero

Obbligatorio

Il thread è scritto per X, non tagliato dal post del blog: un post per tema, un'apertura che dice cosa è cambiato e un post finale che rimanda al testo completo. Zero pubblica ogni voce come risposta alla precedente, così il thread resta unito, e verifica la lunghezza prima di pubblicare invece di lasciare che un post venga troncato. L'accesso in scrittura è limitato all'account che colleghi e pubblicare il thread è tutto ciò che fa. Zero non legge la tua timeline, le tue menzioni né i tuoi messaggi diretti.

Slack

Integrazione Slack: dove la bozza attende l'approvazione

Facoltativo

Slack è facoltativo e si guadagna il posto nella fase di approvazione. Zero pubblica la bozza completa nel canale che indichi, testo del blog, oggetto dell'email e ogni post del thread compresi, e poi si ferma. Nulla viene pubblicato finché qualcuno non approva, e puoi chiedere una riscrittura nello stesso thread e ricevere lì la bozza aggiornata. Senza Slack il flusso funziona comunque dall'inizio alla fine: la bozza torna dove hai avviato l'esecuzione.

Zero, la scrittura manuale e un generatore di changelog

Automatizzare il changelog sono due problemi: decidere cosa merita di essere annunciato e portare quell'annuncio su ogni canale. La maggior parte degli strumenti ne risolve solo uno.

Scriverlo a mano

Qualcuno legge l'elenco dei merge, decide cosa conta, scrive il post e lo riscrive due volte per email e X. Il giudizio è buono e il testo è in linea con il brand, ma costa gli stessi 90 minuti ogni settimana ed è la prima cosa che salta in una settimana piena.

Un generatore di changelog

I titoli di commit o pull request finiscono automaticamente in una pagina di note di release. Non sfugge nessun merge, ma pubblica titoli invece di temi, non distingue un refactoring da una funzionalità e si ferma a una sola destinazione.

Il flusso changelog di Zero

Zero legge gli stessi merge, applica la tua regola su cosa riguarda gli utenti, raggruppa il resto per temi e scrive il testo per ogni canale. Blog, Resend e X vengono pubblicati da un'unica bozza approvata in una sola esecuzione, e l'esecuzione riporta cosa ha trattenuto e perché.

Suggerimenti per risultati migliori

Indica l'intervallo e il repository in modo esplicito. «Unito in vm0-ai/vm0 negli ultimi 7 giorni» produce un post molto più asciutto di «cosa abbiamo rilasciato di recente».
Dai a Zero una sola regola per stabilire cosa riguarda gli utenti, ad esempio un'etichetta di nota di release. Una regola singola batte una lunga lista di eccezioni e mantiene coerente il risultato ogni settimana.
Fai sempre passare la bozza da un canale di approvazione. Pubblicare su tre destinazioni insieme è esattamente il momento in cui vuoi che una persona legga prima.

Domande frequenti

Come si automatizza un changelog dalle pull request di GitHub?

Collega GitHub a Zero e dagli una pianificazione o un trigger di release. Zero legge le pull request unite nel tuo intervallo, le filtra con la tua regola su cosa riguarda gli utenti, raggruppa le rimanenti per temi e scrive il changelog. Aggiungi Resend e X e la stessa esecuzione lo pubblicherà anche su quei canali.

Come decide Zero quali merge riguardano gli utenti?

In base alla regola che gli dai, applicata a quattro segnali: l'etichetta di nota di release, i percorsi dei file modificati, il titolo della pull request e la sua descrizione. L'etichetta è il segnale più forte e quello che la maggior parte dei team finisce per adottare. Tutto ciò che Zero esclude compare nel report dell'esecuzione con il motivo, così una scelta sbagliata si vede invece di passare inosservata.

Si può pubblicare la stessa bozza in newsletter e su X insieme?

Sì. Zero scrive i temi una volta, poi li adatta a ogni canale: il post per intero sul blog, l'email della lunghezza giusta per la casella di posta con oggetto e preheader e un thread con un post per tema. Tutti e tre vengono pubblicati nella stessa esecuzione dalla stessa bozza approvata, quindi i fatti non possono divergere tra i canali.

Viene pubblicato qualcosa senza la mia approvazione?

No, a meno che tu non lo chieda. Il flusso predefinito pubblica la bozza in un canale e attende. Puoi approvarla, chiedere una riscrittura nello stesso thread o lasciarla cadere. Se preferisci che pubblichi senza supervisione, dillo nel prompt e Zero salta il passaggio di approvazione.

Di quali strumenti ha bisogno questa automazione del changelog?

GitHub è obbligatorio come fonte di ciò che è stato rilasciato. Resend e X sono obbligatori come le due destinazioni di pubblicazione. Slack è facoltativo e serve solo per il passaggio di approvazione; senza, la bozza torna dove hai avviato l'esecuzione.

Quali permessi richiede questo flusso?

GitHub richiede accesso in lettura ai repository da cui pubblichi. Resend richiede il permesso di invio e l'accesso in lettura ai pubblici. X richiede accesso in scrittura sull'account che pubblica il thread. Slack, se lo usi, deve poter pubblicare nel canale di approvazione. Ogni connettore si concede separatamente in Zero e revocarne uno lascia intatti gli altri.

Zero può costruire un unico changelog da più repository?

Sì. Indica ogni repository nel prompt e Zero li legge nello stesso passaggio, poi raggruppa i cambiamenti in base al comportamento che modificano e non al repository da cui provengono. Un frontend e un backend separati danno comunque un solo post.

Posso eseguirlo su un tag di release invece che con cadenza settimanale?

Sì. Crea un'automazione che avvii il flusso quando su GitHub viene taggata una release. Zero costruirà allora il changelog dalle pull request di quella release invece che da un intervallo di date, e il resto dell'esecuzione è identico.

Pubblica il changelog di questa settimana

Collega GitHub, Resend e X, poi usa il prompt settimanale per vedere l'intera esecuzione: analisi, raggruppamento, bozza, approvazione, pubblicazione.

@Zero ogni venerdì alle 9, leggi le pull request unite in vm0-ai/vm0 negli ultimi 7 giorni. Tieni quelle che riguardano gli utenti, raggruppale per temi e scrivi un changelog. Mostramelo in #marketing, poi pubblicalo sul blog, invialo con Resend al pubblico 'subscribers' e pubblica un thread su X.