Dacă apelați des la fzf pentru a vâna prin foldere fișiere precum deploy_final_bun_v24.sh, înseamnă că trebuie să cunoașteți just, o unealtă concepută să ne scape de haosul scripturilor bash improvizate.
Just se comportă ca un task runner modern, permițându-ne să definim și să rulăm comenzi frecvente printr-un singur fișier justfile.
Deși seamănă la prima vedere cu un Makefile (pe care mulți îl folosim forțați de împrejurări), just este mult mai prietenos și gândit special pentru a rula sarcini, nu pentru a compila cod complex.
Ce problemă rezolvă just în viața de zi cu zi?
Într-un proiect real, fie că vorbim despre un site WordPress, o aplicație Node.js sau un întreg setup de server, mai devreme sau mai tărziu vom ajunge să repetăm aceleași acțiuni, indiferent că avem nevoie de build-uri pentru frontend, curățarea cache-ului, repornirea serviciilor sau generarea de backup-uri periodice. Fără un sistem unitar, invitabil vom apela la istoricul terminalului sau README-uri, unde le căutăm cu disperare folosind CTRL+R sperând la un miracol.
Mentenanță Homebrew pe macOS
În activitatea mea zilnică pe macOS, folosesc just inclusiv pentru a automatiza complet mentenanța sistemului. În loc să rulez manual patru sau cinci comenzi diferite de Homebrew, deschid terminalul și tastez o singură comandă: just maintain. Aceasta declanșează un întreg mecanism de mentenanță pe care l-am definit în brew.justfile cu ajutorul lui Gemini, transformând o sarcină repetitivă și plictisitoare într-un proces de tip „set and forget”. Deși înainte foloseam un script shell pentru asta, cumva am ajuns să prefer just.
Odată lansată, comanda execută automat următoarele operații critice:
- Curățarea aplicațiilor „fantomă” (cleanup-missing-auto): Scriptul verifică toate cask-urile instalate și le identifică pe cele care mai figurează în baza de date Homebrew, deși aplicația fizică (.app) a fost ștearsă manual din folderul /Applications. Acestea sunt eliminate forțat pentru a păstra lista curată.
- Verificarea actualizărilor (check): Se face un update al bazei de date de rețete și se afișează o listă cu toate pachetele (formule) și aplicațiile (cask-uri) care au versiuni noi disponibile.
- Upgrade-ul propriu-zis (update): Homebrew descarcă și instalează cele mai noi versiuni pentru tot ce este instalat pe sistem, inclusiv actualizări de tip greedy pentru aplicațiile care se auto-actualizează.
- Igiena spațiului pe disc (clean): Aceasta este partea cea mai satisfăcătoare. Scriptul elimină toate versiunile vechi ale pachetelor instalate și șterge complet cache-ul de download, eliberând adesea gigabiți buni de spațiu.
La final, primesc un raport despre tot procesul și intervin doar dacă este cazul.
De ce este mai eficient decât scripturile shell clasice?
Unul dintre marile avantaje ale acestei unelte este autodocumentarea nativă. Dacă rulăm comanda just --list, primim instant o listă curată cu toate sarcinile disponibile și descrierile lor, fără să mai fim nevoiți să „săpăm” prin codul sursă. În plus, putem defini dependențe inteligente între task-uri, asigurându-ne că o mentenanță nu va porni niciodată dacă procesul de verificare preliminară a eșuat pe parcurs.
Lizibilitatea este un alt punct forte, deoarece sintaxa este curată și ne scutește de „tab-urile magice” sau de alte limitări istorice specifice utilitarului make. De asemenea, portabilitatea este asigurată pentru întreaga echipă; oricine are just instalat (disponibil pe Linux, macOS și Windows) va avea acces instant la aceleași comenzi, fie că este vorba de mentenanță sau backup.
Pentru cei care ne ocupăm mai mult de partea de infrastructură, just este la fel de util pentru a pune ordine în rutină. Putem centraliza comenzi precum backup-ul configurărilor de Nginx, vizualizarea log-urilor în timp real sau actualizarea serverelor și aplicațiilor. De exemplu:
backup-config: tar -czf nginx-backup-$(date +%F).tar.gz /etc/nginx logs: tail -f /var/log/nginx/error.log update-system: apt update && apt upgrade -y
Rularea acestora devine o chestiune de reflex: just backup-config sau just logs. Nu mai există riscul de a greși un flag critic într-o comandă tar lungă sau de a uita calea exactă către log-urile de eroare ale serverului web. Totul este centralizat și ușor de apelat atunci când presiunea crește.
Concluzie
În concluzie, just nu este o unealtă care să revoluționeze radical tehnologia, dar este genul de utilitar care ne face viața digitală mult mai ordonată și previzibilă. Dacă v-ați săturat de zeci de scripturi împrăștiate și de căutări frustrante prin istoricul terminalului, merită să-i acordați o șansă în fluxul de lucru zilnic. Este, practic, un Makefile modern, creat pentru oameni normali care vor să-și automatizeze sarcinile fără bătăi de cap inutile.

