Salt la conținutul principal
Memories este sistemul de partajare și salvare a contextului între conversații. În Windsurf există două mecanisme pentru acest lucru: Memories, care pot fi generate automat de Cascade, și regulile, care sunt definite manual de utilizator atât la nivel local, cât și la nivel global.

Cum să gestionezi Memories

Memories și Rules pot fi accesate și configurate oricând făcând clic pe pictograma Customizations din meniul glisant din dreapta sus din Cascade sau prin „Windsurf - Settings” în colțul din dreapta jos. Pentru a edita o memorie existentă, dă clic pe ea și apoi pe butonul Edit.

Memorii

În timpul conversației, Cascade poate genera și stoca automat memorii dacă întâlnește context pe care îl consideră util de reținut. De asemenea, îi poți cere oricând lui Cascade să creeze o memorie. Doar spune-i lui Cascade să „creeze o memorie despre …”. Memoriile generate automat de Cascade sunt asociate cu workspace-ul în care au fost create, iar Cascade le va regăsi atunci când consideră că sunt relevante. Memorii create într-un workspace nu vor fi disponibile în altul.
Crearea și utilizarea memoriilor generate automat NU consumă credite

Reguli

Utilizatorii își pot defini explicit propriile reguli pe care Cascade să le respecte. Regulile pot fi definite fie la nivel global, fie la nivel de workspace. global_rules.md - reguli aplicate în toate workspace-urile .windsurf/rules - director la nivel de workspace care conține reguli asociate cu globuri sau descrieri în limbaj natural.

Descoperirea regulilor

Windsurf descoperă automat reguli din mai multe locații pentru a oferi o organizare flexibilă:
  • Workspace-ul curent și subdirectoarele: Toate directoarele .windsurf/rules din workspace-ul tău curent și din subdirectoarele acestuia
  • Structura depozitului Git: Pentru depozitele Git, Windsurf caută și până la directorul rădăcină al repo-ului pentru a găsi reguli în directoarele părinte
  • Suport pentru multiple workspace-uri: Când sunt deschise mai multe foldere în același workspace, regulile sunt deduplicate și afișate cu cea mai scurtă cale relativă

Locații de stocare pentru Rules

Rules pot fi stocate în oricare dintre aceste locații:
  • .windsurf/rules în directorul workspace-ului curent
  • .windsurf/rules în orice subdirector al workspace-ului
  • .windsurf/rules în directoarele părinte până la rădăcina git (pentru repo-urile git)
Când creați o regulă nouă, aceasta va fi salvată în directorul .windsurf/rules al workspace-ului curent, nu neapărat la rădăcina git. Pentru a începe cu Rules, faceți clic pe pictograma Customizations din meniul glisant din dreapta sus din Cascade, apoi navigați la panoul Rules. Aici puteți face clic pe butonul + Global sau + Workspace pentru a crea reguli noi la nivel global, respectiv la nivel de workspace.
Puteți găsi șabloane de reguli exemplu, selectate de echipa Windsurf, la https://windsurf.com/editor/directory pentru a vă ajuta să începeți.
Fișierele Rules sunt limitate la 12.000 de caractere fiecare.

Moduri de activare

La nivel de regulă, poți defini cum ar trebui activată o regulă pentru Cascade. Există 4 moduri:
  1. Manual: Această regulă poate fi activată manual prin @mention în câmpul de introducere al Cascade
  2. Always On: Această regulă va fi aplicată întotdeauna
  3. Model Decision: Pe baza unei descrieri în limbaj natural a regulii, definită de utilizator, modelul decide dacă să aplice regula.
  4. Glob: Pe baza unui tipar glob definit de utilizator (de ex. .js, src/**/.ts), această regulă va fi aplicată tuturor fișierelor care se potrivesc tiparului.

Cele mai bune practici

Pentru a ajuta Cascade să îți urmeze regulile cât mai eficient, respectă aceste bune practici:
  • Păstrează regulile simple, concise și specifice. Regulile prea lungi sau vagi pot deruta Cascade.
  • Nu este nevoie să adaugi reguli generice (de ex. „scrie cod bun”), deoarece acestea sunt deja incluse în datele de antrenare ale lui Cascade.
  • Formatează regulile folosind puncte, liste numerotate și markdown. Acestea sunt mai ușor de urmat de către Cascade decât un paragraf lung. De exemplu:
# Ghiduri de Codificare 
- Limbajul de programare al proiectului meu este Python
- Folosește returnări timpurii când este posibil
- Adaugă întotdeauna documentație când creezi funcții și clase noi
  • Etichetele XML pot fi o modalitate eficientă de a transmite și de a grupa reguli similare. De exemplu:
<coding_guidelines>
- Limbajul de programare al proiectului meu este Python
- Folosește returnări timpurii când este posibil
- Adaugă întotdeauna documentație când creezi funcții și clase noi
</coding_guidelines>
I