{
"rules": [
"Always use TypeScript strict mode",
"Prefer functional programming patterns over classes",
"Keep functions small and pure, under 30 lines of code",
"Do not write comments that state the obvious",
"Ignore node_modules, dist, and build directories during indexing"
]
}Am fost destul de sceptic când toată lumea pe Twitter a început să laude Cursor AI. Foloseam GitHub Copilot de când era în beta privat și mi se părea că autocomplete-ul ăla cu Tab e tot ce am nevoie. Însă, când a trebuit să migrez un proiect mărișor de la Express la NestJS (pe la 12.000 de linii de cod), Copilot s-a blocat rapid în limitele lui de context.
După trei luni de utilizare zilnică, pot spune clar: diferența de workflow nu e doar vizibilă, ci masivă. Am măsurat empiric și am economisit cam 30% din timpul pe care îl pierdeam căutând fișiere și scriind boilerplate de legătură.
Unde câștigă Copilot (și unde devine inutil)
Copilot rămâne regele neîncoronat la "single-line autocomplete". Scrii o funcție simplă de formatat data, apeși Tab și mergi mai departe. E rapid, integrat direct în IDE-ul tău preferat (fie că e WebStorm sau VS Code clasic) și consumă destul de puține resurse.
Problema apare când ai nevoie de context global. Când i-am cerut lui Copilot să-mi schimbe structura unui tip de date TypeScript folosit în opt fișiere diferite, a început să hallucineze importuri inexistente. Trebuia să deschid eu manual toate acele fișiere în tab-uri ca să-i forțez contextul în memorie. O pierdere stupidă de timp.
Magia din Cursor: Contextul la nivel de repository
Cursor nu e doar un plugin, e un fork întreg de VS Code. Asta le permite să controleze complet UI-ul și indexarea. Chestia care mi-a schimbat complet modul de lucru este tasta @.
Când deschizi chat-ul sau composer-ul (Ctrl+I), poți folosi @ ca să targetezi chestii extrem de specifice:
@Files: Îi dai exact fișierele de care are nevoie.@Folders: "Uită-te în/servicesși generează un serviciu nou bazat pe modelul ăsta".@Git: Îi poți spune "explică-mi ce s-a schimbat în ultimele 3 commit-uri și de ce crapă testul X".
La proiectul de migrare, i-am dat @Prisma Schema și @auth.ts și i-am cerut să genereze noul controller de utilizatori. A înțeles din prima relațiile dintre tabele fără să-i explic eu nimic.
Trade-off-uri sincere de care nu vorbește nimeni
Dacă totul sună prea frumos, hai să vorbim și de chestiile enervante. Am avut destule momente de frustrare:
- Ești blocat în VS Code: Dacă ești utilizator înrăit de JetBrains (cum eram și eu pe WebStorm), tranziția e destul de dureroasă. Pierzi refactoring-ul nativ de la JetBrains care încă e peste cel din VS Code.
- Consumul de resurse: Cursor indexează local fișierele folosind vector embeddings. Pe laptopul meu de muncă (un MacBook Air M1 cu 16GB RAM), ventilatorul o mai ia razna când deschid proiecte mari de peste 50.000 de fișiere, mai ales dacă uit să pun
node_modulesîn.cursorignore. - Costul: Sunt $20 pe lună. Dacă ai deja Copilot plătit de firmă, e greu să-ți convingi managerul să-ți deconteze încă un tool similar.
Cum să-ți configurezi proiectul ca să nu mănânce token-i degeaba
Ca să nu primești răspunsuri aiurea și să optimizezi contextul trimis către LLM, îți recomand să pui un fișier .cursorrules în rădăcina proiectului. Acesta acționează ca un set de instrucțiuni de sistem persistente pentru AI.
Concluzia mea
Dacă scrii doar scripturi simple sau HTML/CSS de bază, Copilot e arhisuficient. În schimb, dacă navighezi zilnic printr-un codebase complex unde o schimbare în baza de date afectează alte trei servicii, Cursor câștigă detașat. Pe mine m-a convins și nu cred că mă mai întorc la VS Code-ul clasic prea curând.
Voi ce folosiți în workflow-ul zilnic? A făcut cineva trecerea completă sau vi se pare doar hype de marketing?