Cum îți protejezi codul de dezastrele AI: Jujutsu, plasa ta de siguranță
Când AI-ul te lasă baltă: Coșmarul developerului
Toți am trecut prin asta. Lucrezi cu un AI în sesiune de codare – poate Claude, Gemini sau alt tool bazat pe LLM. Totul merge bine, apoi bum: agentul înțelege greșit și șterge fișiere cu git clean. Ore întregi de experimente dispar. Sau contextul se pierde, terminalul se curăță, iar AI-ul uită ce făcea. Când ceri să revii, primești un "Scuze, nu pot recupera – nu erau comise în Git".
Problema e tot mai frecventă pe măsură ce developerii adoptă asistenți AI. Git-ul clasic nu e făcut pentru haosul iterativ al dezvoltării cu AI.
De ce Git-ul tradițional eșuează aici
Git e excelent, dar cere commit-uri intenționate. Tu decizi când salvezi. Cu AI-ul care modifică rapid, riști să uiți să commitezi. Agentul face schimbări, întâmpină erori, revine – și tu rămâi fără nimic salvat.
Cel mai rău? AI-ul distruge repo-ul, iar tu nu poți recupera pentru că nimic nu era comited.
Jujutsu: Plasa de siguranță pentru era AI
Jujutsu (sau jj) e un sistem de version control cu o abordare nouă. Creează snapshot-uri automate ale directoriului de lucru la fiecare comandă. Fiecare modificare, experiment sau ștergere accidentală intră în logul de operații.
E ca un Git cu memorie perfectă. Git urmărește doar commit-urile tale. Jj înregistrează tot ce se întâmplă în repo.
Configurare ușoară, fără bătăi de cap
Nu trebuie să alegi între Git și jj. Colaborează perfect.
Într-un repo Git existent:
jj git init --colocate
Gata. Jj rulează paralel cu Git-ul tău. Echipa nu observă nimic – push-urile rămân la fel.
Cum gândește Jujutsu
Termenii diferă puțin de Git, dar sunt simpli:
@(working set): Ca working directory din Git, dar salvat automat- ID-uri commit: Litere
[g-z], nu hex-uri lungi - Operation log: Istoric complet al tuturor schimbărilor
Un exemplu:
$ 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
@ arată munca curentă necomită. ID-urile sunt scurte și ușor de reținut.
Minunea: Recuperarea muncii pierdute
AI-ul face pagubă? Verifică istoricul:
jj obslog --revision @ --patch --limit 5
Vezi ultimele 5 operații cu diff-uri complete. Găsești schimbarea exactă, o checkout-ui. Chiar dacă AI-ul a șters fișiere sau a corupt totul, e salvat în log.
De ce contează în dezvoltare cu AI
AI-urile nu lucrează ca oamenii. Ele:
- Modifică rapid, fără supraveghere
- Greșesc comenzi și strică repo-ul
- Pierd contextul în conversații lungi
- Rulează comenzi periculoase fără să realizeze
Git-ul presupune control uman la commit-uri. AI-ul rupe regula asta. Jj face fiecare schimb din filesystem recuperabil.
Cum integrezi în fluxul zilnic
Adaugă jj fără să schimbi nimic:
- Înainte de sesiune AI: Amintește-ți că jj salvează tot
- În timpul: Lasă AI-ul să lucreze liber
- La probleme:
jj obsloggăsește punctul bun - La final: Commit în Git ca întotdeauna
Jj stă sub Git. Push pe GitHub sau GitLab – normal. Dar ai siguranță totală.
Avantaje cu zero efort extra
Jj adaugă aproape nimic în plus:
- Instalare simplă
- Flux Git intact
- Echipa nu bănuiește
- Colocație cu Git – fără duplicări
- ID-uri colorate, ușor de diferențiat
Nu are dezavantaje majore pentru proiecte cu AI.
Ce urmează
Pe măsură ce AI-urile intră în fluxuri, tool-uri ca Jujutsu devin must-have. Nu e "dacă" pierzi muncă, ci "cum o recuperezi".
Dacă folosești Claude Code, Gemini CLI sau altele, instalează jj. E asigurarea împotriva primelor greșeli AI.
Viitorul tău îți va mulțumi când salvezi ore de muncă cu o comandă, nu le vezi evaporându-se în Git.