# Reguli Proiect (.cursorrules)
- Folosește TypeScript strict, fără tipul `any`.
- Tratarea erorilor se face exclusiv prin Result pattern (vezi `@lib/result.ts`).
- Pentru UI folosește TailwindCSS și componente funcționale React.
- Scrie teste unitare în Vitest pentru orice funcție nouă din `@services/`.Am tras de GitHub Copilot vreo doi ani în VS Code și eram destul de mulțumit cu autocomplete-ul clasic. Genera DTO-uri, scria funcții simple de utility și își făcea treaba fără mari pretenții. Totuși, de vreo 4 luni am trecut complet pe Cursor pentru un proiect în producție cu vreo 14k utilizatori activi, iar workflow-ul s-a schimbat radical.
Nu e vorba de vreun miracol tehnologic care îți scrie aplicația în timp ce tu bei cafea, ci de un lucru simplu: managementul contextului.
Copilot e autocomplete avansat, Cursor e un junior agil
Diferența mare apare când lucrezi într-un codebase măricel. Copilot se uită în principiu la fișierul curent și, eventual, la câteva tab-uri deschise. Dacă îi ceri să creeze un modul nou, îți dă cod generic, stil tutorial de pe net.
Cursor indexează tot repository-ul local. Când apeși Cmd + K sau deschizi Composer-ul (Cmd + I) și folosești @, poți trimite ca referință fișiere specifice, documentația API-ului sau chiar tot folderul de /services. I-am cerut recent: „creează un endpoint de refund care să folosească handler-ul de erori din @errors.ts și logger-ul din @logger.ts”. În 15 secunde aveam cod care respecta 100% arhitectura noastră, nu ceva aruncat la întâmplare. M-a scutit de cel puțin 40% din timpul alocat pentru boilerplate-uri zilnice.
Fișierul .cursorrules schimbă totul
Până nu am adăugat un fișier .cursorrules în rădăcina proiectului, Cursor era doar o idee mai bun decât Copilot. Odată ce am pus reguli clare — de la stilul de componente până la modul în care tratăm excepțiile — acuratețea a crescut masiv. AI-ul nu mai încearcă să fie creativ unde nu trebuie.
Trade-off-uri sincere: unde te lovești de perete
Nu e totul lapte și miere. Cursor are două mari minusuri pe care le-am simțit pe pielea mea:
- Efortul de review e dublu: Când folosești Composer-ul să modifice 4-5 fișiere simultan, e foarte ușor să scapi bug-uri de performanță. Am pățit-o la o interogare SQL unde mi-a înlocuit un
JOINoptimizat cu două apeluri separate doar pentru că codul arăta mai "curat". - Costul și limitele de Claude 3.5 Sonnet: Planul de 20$/lună se duce repede dacă lași AI-ul să-ți rescrie fișiere întregi. Când atingi limita de request-uri rapide, experiența devine frustrantă. Copilot rămâne mai previzibil și mai ieftin dacă ai nevoie doar de auto-complete inline.
Ce alegem până la urmă?
Dacă scrii cod de la zero sau lucrezi în fișiere izolate, Copilot își face treaba decent. Dacă ai de navigat un codebase complex, cu refactoring-uri frecvente și integrare de servicii, Cursor e clar peste. Regula mea e simplă: dacă îmi ia mai mult de 30 de secunde să citesc și să înțeleg ce a generat, dau Cmd + Z și scriu de mână.
Voi ce setup folosiți în rutina zilnică? A trecut cineva înapoi de la Cursor la Copilot sau pe variante open-source gen Continue.dev?