# Cod

> Cere-i aplicației Dvina să scrie cod într-un proiect de pe computerul tău, verifică fiecare modificare, apoi fă commit și deschide un pull request din chat.

Dvina scrie cod în proiectul tău, pe computerul tău, având la îndemână notițele, conversațiile și motivele din spatele deciziilor. Descrii ce vrei, verifici ce a modificat și livrezi rezultatul, în aceeași aplicație pe care o folosești pentru toate celelalte.

## Înainte să începi

Funcția Cod face parte din aplicația Dvina pentru desktop, pe Mac, Windows și Linux. Nu trebuie să instalezi nimic separat. Dvina trebuie să fie instalată pe cel puțin un computer; de pe orice alt dispozitiv poți porni lucrul și îi poți urmări evoluția.

Pentru a obține aplicația pentru desktop, consultă [Descarcă și instalează Dvina](/docs/use-dvina/get-started/install).

## Deschide un proiect

Un proiect este un dosar de pe computerul tău: un repository de cod sau un dosar obișnuit.

1. În aplicația pentru desktop, deschide Dock-ul și alege rândul pentru proiecte (**Proiecte**).
2. Alege **Deschide…** pentru a selecta un dosar sau un repository de cod, ori **Proiect nou…** pentru a crea un dosar nou pe acest computer.

Când creezi un proiect nou, activează **Creează un repository Git** pentru a păstra un istoric al fiecărei modificări, astfel încât să poți anula modificările făcute de Dvina.

Proiectul pe care îl alegi este cel în care lucrează chatul. Pentru un proiect de cod, Dock-ul afișează și ramura acestuia.

## Spune ce vrei să faci

Descrie ce vrei, de exemplu „Fă ca exportul CSV să folosească datele corecte”. Dvina execută cererea ca sarcină pe computerul tău, iar tu poți continua conversația sau poți porni alte sarcini. Mai multe sarcini pot lucra în același repository și pot decide între ele care face commit prima.

Înainte să scrie, Dvina citește proiectul împreună cu contextul acestuia: caută în conversațiile și fișierele tale anterioare, ca să țină cont și de motivele din spatele deciziilor. Urmează și instrucțiunile din AGENTS.md sau CLAUDE.md din proiectul tău.

## Verifică modificările

Răspunsul la fiecare sarcină vine împreună cu modificările făcute, într-un card cu numele sarcinii și starea **Gata de verificare**.

- **Vezi ce s-a schimbat:** Alege **Modificări** pentru a vedea modificările fiecărui fișier în panoul lateral. **Fișiere** îți permite să răsfoiești proiectul.
- **Anulează modificările unui răspuns:** Sub un răspuns care a modificat fișiere, alege rândul care arată câte fișiere au fost modificate, apoi **Anulează modificările** și confirmă **Anulezi modificările acestui răspuns?**. Fișierele revin la starea de dinaintea răspunsului, iar modificările făcute ulterior se păstrează.

## Fă commit și deschide un pull request

1. În cardul sarcinii, alege **Commit**.
2. **Fă commit modificărilor** afișează fișierele care vor fi incluse în commit pe ramura ta, cu un **Titlu** și un **Mesaj** sugerate. Alege **Commit**. Nu se face push.
3. Pentru a deschide un pull request, alege **Fă push și creează un PR**. Dvina face mai întâi push ramurii curente, apoi deschide pull request-ul. Fișierele pentru care nu ai făcut commit nu sunt incluse.

Pull request-ul folosește autentificarea ta Git. Dvina îl deschide pe GitHub sau GitLab; pentru orice alt serviciu de găzduire, se deschide în browser pagina serviciului pentru crearea unui pull request nou. Când operațiunea s-a încheiat, alege **Vezi PR-ul**.

## Aprobări

Compilările și testele rulează automat. Ștergerea fișierelor, trimiterea modificărilor, modificările bazelor de date, implementările și orice operațiune care implică secrete așteaptă aprobarea ta. Cardul explică motivul, de exemplu **Rulezi această comandă?**, cu mențiunea **Șterge fișiere** sau **Modifică o bază de date**, iar tu alegi **Permite** sau **Respinge**. Administratorul tău poate stabili ce operațiuni cer întotdeauna aprobarea.

> [!IMPORTANT]
> Nicio modificare nu este trimisă fără acordul tău. Proiectul tău este un dosar pe computer, iar cu Git poți anula orice modificare făcută de Dvina.

## Testează într-un simulator sau emulator

În aplicația desktop, Dvina îți poate testa aplicația pe acest computer așa cum o vor folosi utilizatorii tăi: într-un browser, în iOS Simulator pe un Mac sau în Android Emulator pe un Mac, Windows ori Linux.

1. Deschide Dock și alege rândul marcat **Dispozitiv**.
2. Sub **Acest dispozitiv**, alege **Browser**, **iOS Simulator** sau **Android Emulator**.

Vizualizarea se deschide în panoul lateral. Un simulator oprit pornește când îl deschizi. Pentru a folosi altul, alege **Alege un dispozitiv** în partea de sus a vizualizării; pentru fiecare dispozitiv sunt afișate sistemul și starea: **Pornit** sau **Oprit**.

Pentru a afișa sau ascunde browserul, apasă <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> pe un Mac sau <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> pe Windows și Linux. Cât timp Dvina lucrează într-o vizualizare la care nu te uiți, pe rândul **Dispozitiv** apare un punct.

### Permite Dvina să folosească un dispozitiv

Prima dată când Dvina folosește un simulator sau emulator, îți cere permisiunea, de exemplu **Permiți Dvina să folosească iPhone 17 Pro?**, deoarece Dvina vede ecranul dispozitivului. De aceea, nu te conecta la conturile tale reale pe acel dispozitiv. Alege **Permite** sau **Respinge**. Dispozitivul îți păstrează răspunsul, așa că nu ți se va cere din nou permisiunea într-o altă conversație. Până când îi dai permisiunea, vizualizarea oferă opțiunea **Permite Dvina să îl folosească**.

Cât timp Dvina lucrează, în vizualizare apare mesajul **Dvina folosește acest dispozitiv**, iar conversația afișează dispozitivul în timp real. Alege **Vezi la dimensiune mare** pentru a-l vedea mai mare. Trimiterile, plățile și ștergerile pe dispozitiv așteaptă aprobarea ta de fiecare dată.

Pentru a folosi tu dispozitivul, alege **Preia controlul**. Atingerile și tastele tale sunt transmise dispozitivului și poți apăsa **Acasă**, iar pe Android și **Înapoi** și **Aplicații recente**. Când ai terminat, alege **Predă controlul**, iar Dvina își continuă lucrul.

### Configurează iOS Simulator

Dacă iOS Simulator nu este configurat, rândul său deschide o listă de verificare, **Configurează iOS Simulator**. Fiecare pas se bifează automat după ce este finalizat, chiar dacă l-ai făcut în altă parte.

1. **Instalează Xcode:** Alege **Deschide App Store**. Xcode este gratuit și ocupă aproximativ 7 GB; deschide-l o dată după instalare.
2. **Selectează Xcode:** Alege **Copiază comanda** și ruleaz-o în Terminal. Îți cere parola, așa că Dvina nu o rulează niciodată în locul tău.
3. **Adaugă simulatorul iOS:** În Xcode, mergi la Settings › Components și descarcă iOS sau rulează comanda în Terminal.
4. **Creează un dispozitiv:** Alege **Creează un iPhone**. Nu se descarcă nimic.

### Configurează Android Emulator

Dacă Android Emulator nu este configurat, rândul său deschide o listă de verificare, **Configurează Android Emulator**.

1. **Instalează Android Studio:** Alege **Descarcă Android Studio**. Acesta instalează componentele necesare pentru rularea emulatorului; deschide-l o dată după instalare.
2. **Adaugă emulatorul și instrumentele platformei:** Rulează comanda într-un terminal sau adaugă-le în Android Studio › SDK Manager.
3. **Activează accelerarea hardware:** Pe Windows și Linux, rulează tu comanda, deoarece necesită parola ta sau un administrator. Apoi deconectează-te și conectează-te din nou pe Linux sau repornește computerul pe Windows. Pe un Mac nu trebuie să faci nimic la acest pas.
4. **Adaugă o imagine de sistem:** Rulează comanda într-un terminal sau adaugă una în Android Studio › SDK Manager. Descărcarea are o dimensiune mare.
5. **Creează un emulator:** Alege **Creează un emulator**. Nu se descarcă nimic.

Dacă administratorul tău a dezactivat simulatoarele, pe rândurile lor apare **Dezactivat de administratorul tău**.

## Lucrează de oriunde

De pe telefon sau din browser, cere în chat ce vrei să fie făcut. Dvina lucrează în proiectul de pe computerul tău, iar modificările așteaptă să le verifici. Computerul trebuie să fie pornit, cu Dvina deschis.

## Când să folosești această funcție

- Lucrezi la software real și vrei să ai la îndemână tot contextul: notițele, deciziile și discuțiile de luna trecută.
- Vrei să fie rezolvată o problemă cât timp ești departe de birou.
- Vrei să se lucreze la mai multe modificări în paralel, fiecare gata de verificat.

## Sfaturi

- **Notează regulile tale de lucru.** Descrie cum lucrezi în AGENTS.md sau CLAUDE.md, iar Dvina va respecta aceste reguli.
- **Testează pe telefon.** Construiești o aplicație? Dvina o poate testa într-un simulator iPhone sau într-un emulator Android, atingând elementele interfeței așa cum o vor face utilizatorii tăi. Vezi [Testează într-un simulator sau emulator](#test-on-a-simulator-or-emulator).
- **Nu ești dezvoltator?** Pentru aplicații și pagini funcționale, folosește în schimb [Creează](/docs/use-dvina/features/create).

## Pagini conexe

- [Proiecte](/docs/use-dvina/features/projects)
- [Sarcini](/docs/use-dvina/features/tasks)
- [Utilizarea computerului](/docs/use-dvina/features/computer-use)
- [Instalare](/docs/use-dvina/get-started/install)
