Le tue riunioni, nel tuo repository
Se la cartella delle trascrizioni si trova dentro un repository Git, Earkeep ne fa il commit del file di ogni giorno quando la giornata finisce, quando una riunione cambia, oppure in entrambi i casi, e fa il push sui remote che il tuo repository ha già. Ogni aspetto è un'impostazione e il repository resta tuo.
Il problema: la cronologia non ha storia
L'archivio di Earkeep è già fatto di semplici file: un file JSONL per ogni giorno, in una cartella che scegli tu, spesso dentro il repository in cui tieni le note. Ma una cartella è versionata solo se qualcuno ne fa il commit, e il commit a mano si smette di farlo già a mercoledì. Per questo Earkeep fa i commit e lascia a te il resto del repository.
Come funziona
Si attiva solo dentro un repository. Quando la cartella delle trascrizioni, o una cartella sopra di essa, è un repository Git, la funzione compare in Impostazioni → Archiviazione e Git. Altrimenti c'è un solo pulsante che esegue git init, l'unico modo in cui Earkeep crea un repository.
Scegli tu quando fare il commit: quando finisce la giornata, quando cambia una riunione, in entrambi i casi (l'impostazione predefinita) o mai.
- Quando finisce la giornata significa cinque minuti dopo mezzanotte. Un portatile in stop a mezzanotte fa il commit di ieri quando si riattiva.
- Quando cambia una riunione significa salvata, terminata, ridimensionata, rinominata o eliminata, pochi secondi dopo l'ultima modifica, così trascinare un bordo vale un solo commit. L'avvio di una riunione non genera nessun commit, e nemmeno le sole nuove righe di trascrizione.
Un commit per file giornaliero, e nient'altro. Ciò che hai messo in staging tu resta fuori dai commit di Earkeep, e un file giornaliero escluso dal tuo .gitignore viene lasciato fuori.
Solo su un branch che autorizzi: main (o master), qualunque branch sia attivo, oppure uno che indichi tu. Su qualsiasi altro branch non viene fatto nessun commit e le Impostazioni ne spiegano il motivo.
Messaggi di commit che dicono cosa è successo
Ogni messaggio indica il giorno e la riunione, così git log --oneline si legge come la tua settimana:
$ git log --oneline -- meetings/
4e1c0a7 Earkeep 2026-10-12: transcript of the day
9b2f61d Earkeep 2026-10-12: Roadmap review
51d8e3a Earkeep 2026-10-12: update Weekly sync
c07a9f2 Earkeep 2026-10-12: Weekly sync
8a44b1e Earkeep 2026-10-11: transcript of the day
Ogni messaggio è un modello che puoi riscrivere nelle Impostazioni, uno per evento, con {date} e {meeting} come segnaposto.
Il push è una scelta separata
Fai il push su tutti i remote (l'impostazione predefinita), sui remote che scegli o su nessuno, e ogni commit resta sul tuo dispositivo.
È l'unico modo in cui una trascrizione lascia il tuo dispositivo, e solo verso un remote che hai configurato tu, con il tuo account. In questo percorso Earkeep non ha nessun server.
È il tuo Git, quindi si applicano il tuo agente SSH, i credential helper e gli hook, come in un terminale. Un push che chiederebbe una password o una passphrase fallisce subito e ne spiega il motivo, invece di restare in attesa di un prompt che nessuno può vedere.
Un remote che è andato avanti viene aggiornato con un pull, non rifiutato. Earkeep fa ciò che fa git pull --rebase --autostash, poi esegue il push. La registrazione continua; la modifica di una riunione viene messa in pausa per quel momento e te lo segnala.
I conflitti li risolve un agente, non vengono lasciati a te
Quando i commit del remote entrano in conflitto con i tuoi, Earkeep passa il rebase interrotto a uno degli agenti ACP presenti sul tuo computer, come Claude Code o Codex. Poi controlla il repository, non la risposta dell'agente: il rebase è terminato, i commit di entrambe le parti ci sono, non resta nessun marcatore di conflitto. Solo allora fa il push.
Tutto ciò che non arriva a questo punto viene annullato: il rebase viene interrotto, il tuo branch e le modifiche non committate tornano com'erano, e Earkeep ti dice cosa ha risposto l'agente. L'agente è un tuo strumento con una tua chiave, quindi ciò che legge va dove quell'agente di solito lo invia.
Quando un push fallisce, lo vieni a sapere
Un errore compare sopra la trascrizione in parole semplici (il remote ha rifiutato la tua chiave, l'host non era raggiungibile, un conflitto richiede il tuo intervento), con le parole di Git sotto. Earkeep riprova ogni cinque minuti, quindi una volta risolta la causa il push va a buon fine.
Correlati
- Privacy by design: i file di cui questa funzione fa il commit.
- Agenti e MCP: gli agenti che scrivono i tuoi verbali e risolvono i tuoi conflitti.
- PKM per sviluppatori: le note come repository Git.
- La wiki LLM: cosa diventa una cartella di riunioni versionata.
Domande frequenti
Earkeep ha bisogno di un repository Git per funzionare?
No. Senza, le trascrizioni sono semplici file in una cartella; con un repository, Earkeep ne fa anche il commit, e puoi disattivarlo.
Farà il commit anche degli altri miei file?
No. Ogni commit contiene il file di trascrizione di un solo giorno e nient'altro; ciò che hai messo in staging tu ne resta fuori.
Le mie trascrizioni lasciano il mio dispositivo?
Solo verso i remote che hai configurato tu. Disattiva il push e ogni commit resta sul tuo dispositivo.
Sincronizza le mie riunioni tra più computer?
No. Earkeep fa commit e push, e il pull solo per poter fare il push. Ciò che arriva sulle tue altre macchine dipende dal tuo repository.
Cosa succede se sono su un feature branch quando finisce la giornata?
Lì non viene fatto nessun commit. Le Impostazioni mostrano che il giorno è in attesa, e il commit avviene non appena torni su un branch autorizzato.
Una riunione viene committata quando inizia?
No. Viene committata quando finisce o quando la modifichi, non mentre la sua trascrizione è ancora in scrittura.
Cosa succede se l'agente dei conflitti sbaglia?
Earkeep controlla il risultato prima di fare il push. Se qualcosa non torna, il rebase viene interrotto, il tuo repository torna com'era e vedi il motivo.
Posso scrivere i miei messaggi di commit?
Sì: un modello per ogni evento in Impostazioni → Archiviazione e Git, con {date} e {meeting} come segnaposto.
La storia di ogni riunione, in un repository che è tuo
Prova completa di 14 giorni, nessun account richiesto.