Proteggi il tuo codice dagli errori dell'IA: Jujutsu è la tua rete di sicurezza
Quando l'AI Combina Casini: L'Incubo dello Sviluppatore
Ti è mai capitato? Stai codando alla grande con un agente AI – tipo Claude, Gemini o un altro tool basato su LLM – e bum, tutto va a rotoli. L'AI fraintende e lancia git clean sui file non tracciati. Ore di prove svaniscono. Oppure perde il contesto, il terminale si pulisce e dimentica cosa stava facendo. Chiedi di rimediare? "Scusa, non posso recuperare quei file, non erano commitati su Git."
Scene sempre più frequenti con gli assistenti AI per il codice. La verità scomoda? I workflow Git classici non reggono il caos iterativo dell'AI-assisted development.
Il Guaio con Git Tradizionale
Git è solido, ma pretende commit intenzionali. Devi decidere tu quando salvare i progressi. Con l'AI che itera a raffica, si crea un vuoto pericoloso. Ti rilassi a metà sessione e scordi di commitare. O l'AI modifica, inciampa e revert tutto prima che tu salvi qualcosa di utile.
Il vero dramma: l'agente AI rovina il repo e tu non recuperi nulla perché non era commitato.
Arriva Jujutsu: La Rete di Sicurezza per l'Era AI
Jujutsu (o jj per gli amici) è un sistema di version control con una filosofia ribelle. Non aspetta i tuoi commit: fotografa automaticamente la working directory a ogni comando. Ogni modifica, esperimento o cancellazione accidentale finisce nel log delle operazioni.
Immaginalo come un Git con memoria ossessiva. Git segue solo i commit espliciti, jj traccia tutto ciò che tocca il repo, intenzionale o no.
Setup Facile: Zero Sforzo
Il bello? Non devi mollare Git. Lavorano in coppia perfetta.
Per attivare jj su un repo Git esistente:
jj git init --colocate
Fatto. jj si integra al tuo flusso Git. I colleghi non notano nulla – è invisibile per loro. Push remoti? Sempre con Git, come prima.
Come Pensare a Jujutsu
La terminologia differisce un po' da Git, ma è intuitiva:
@(working set): Come la working directory di Git, ma snapshottata auto- ID commit: Caratteri
[g-z], non hex, facili da distinguere da Git - Operation log: Storia completa di ogni mutazione al repo
Ecco un esempio pratico:
$ jj
@ lrklqzxy panozzaj@gmail.com 2025-11-22 16:06:25 b76e8471
│ (no description set)
○ qppwxvzp panozzaj@gmail.com 2025-11-06 10:57:53 master
Add site perf audit document
@ è il tuo lavoro corrente non commitato. Ogni entry ha un ID unico. Niente hash esadecimali: solo caratteri colorati, facili da fissare in testa.
Il Trucco: Riprendersi il Lavoro Perso
Ecco dove jj brilla. AI fa casino? Controlla la storia completa:
jj obslog --revision @ --patch --limit 5
Vedi le ultime 5 operazioni con diff intere. Capisci cos'è cambiato, quando, e lo recuperi checkoutando. File cancellati dall'AI? Revert? Repo incasinato? Tutto loggato.
Perché Conta per lo Sviluppo con AI
Gli agenti AI non codano come noi umani. Fanno:
- Modifiche lampo senza supervisione
- Errori di interpretazione con impatti imprevisti
- Perdita di contesto nelle chat lunghe
- Comandi distruttivi per sbaglio
Git presume controllo umano sui commit. L'AI rompe tutto. Jujutsu rimette in sesto le cose: ogni cambio sul filesystem è prezioso e recuperabile.
Come Inserirlo nel Tuo Flusso
Integra jj senza stravolgere nulla:
- Prima della sessione AI: Ricorda che jj salva tutto
- Durante: Lascia l'AI libera – jj registra ogni mossa
- Se salta il banco:
jj obslogper trovare il punto buono - Fine: Commit finale su Git come al solito
jj sta sotto Git. Push su GitHub o GitLab? Normale. Ma con paracadute.
Approccio a Impatto Zero
Jujutsu aggiunge fatica minima:
- Installazione semplice
- Nessun cambio ai workflow Git
- Colleghi ignari
- Colocazione con Git: zero duplicati
- ID colorati, super distinguibili
Per progetti con AI, zero controindicazioni.
Verso il Futuro
Con l'AI sempre più dentro i workflow dev, tool come jj diventeranno indispensabili. Non è se perderai lavoro per un errore AI, ma se potrai riprenderlo.
Se usi Claude Code, Gemini CLI o simili, installa jj. È l'assicurazione contro il disastro inevitabile.
Il tuo io futuro ti ringrazierà: un comando e ore di lavoro tornano, invece di sparire nel nulla Git.