# Kód

> Nechte Dvina psát kód v projektu na vašem počítači, zkontrolujte každou změnu a pak přímo z chatu vytvořte commit a otevřete pull request.

Dvina píše kód ve vašem projektu na vašem počítači a přitom má před sebou poznámky, konverzace i důvody, které za prací stojí. Popíšete, co chcete, zkontrolujete provedené změny a dodáte výsledek — ve stejné aplikaci, kterou používáte i na všechno ostatní.

## Než začnete

Kód je součástí desktopové aplikace Dvina pro Mac, Windows a Linux. Nic dalšího instalovat nemusíte. Dvina musí být alespoň na jednom počítači; z kteréhokoli dalšího zařízení můžete práci zahájit a sledovat.

Desktopovou aplikaci získáte podle návodu [Stažení a instalace Dvina](/docs/use-dvina/get-started/install).

## Otevření projektu

Projekt je složka na vašem počítači: repozitář kódu nebo obyčejná složka.

1. V desktopové aplikaci otevřete Dock a vyberte řádek projektů (**Projekty**).
2. Vyberte **Otevřít…** a zvolte složku nebo repozitář kódu, případně vyberte **Nový projekt…** a vytvořte novou složku na tomto počítači.

Při vytváření nového projektu zapněte **Vytvořit repozitář Git**. Uchováte tak historii všech změn a úpravy od Dvina budete moct vrátit zpět.

Chat pracuje v projektu, který vyberete. U projektu s kódem se v Docku zobrazuje také jeho větev.

## Zadání práce

Popište, co chcete, například „Uprav export CSV tak, aby používal správná data“. Dvina práci spustí jako úkol na vašem počítači a vy můžete dál chatovat nebo zadávat další úkoly. Na jednom repozitáři může pracovat několik úkolů, které se mezi sebou dohodnou, kdo vytvoří commit jako první.

Než Dvina začne psát, pročte si projekt i související informace: prohledá vaše předchozí chaty a soubory, aby měla k dispozici i důvody. Řídí se také souborem AGENTS.md nebo CLAUDE.md ve vašem projektu.

## Kontrola změn

Odpověď každého úkolu se zobrazí spolu s jeho změnami na kartě pojmenované podle úkolu se stavem **Připraveno ke kontrole**.

- **Podívejte se, co se změnilo:** Vyberte **Změny** a v postranním panelu uvidíte změny v jednotlivých souborech. Pomocí **Soubory** můžete procházet projekt.
- **Vraťte změny z jedné odpovědi:** Pod odpovědí, která změnila soubory, vyberte řádek s počtem změněných souborů, potom **Vrátit zpět** a potvrďte **Vrátit změny z této odpovědi?**. Soubory se vrátí do stavu před touto odpovědí a pozdější změny zůstanou zachované.

## Vytvoření commitu a otevření pull requestu

1. Na kartě úkolu vyberte **Vytvořit commit**.
2. V okně **Vytvořit commit ze změn** se zobrazí seznam souborů, které budou zahrnuty do commitu ve vaší větvi, s navrženým **Názvem** a **Zprávou**. Vyberte **Vytvořit commit**. Nic se neodešle do vzdáleného repozitáře.
3. Pokud chcete otevřít pull request, vyberte **Odeslat a vytvořit PR**. Dvina nejprve odešle aktuální větev do vzdáleného repozitáře a potom otevře pull request. Soubory, které nejsou součástí commitu, se nezahrnou.

Pull request se vytvoří s vaším vlastním přihlášením ke Gitu. Dvina ho otevře na GitHubu nebo GitLabu; u jiných hostingových služeb se v prohlížeči otevře jejich stránka pro nový pull request. Až bude hotovo, vyberte **Zobrazit PR**.

## Schvalování

Sestavení a testy se spouštějí rovnou. Mazání souborů, odesílání změn do repozitáře, změny databáze, nasazení a vše, co pracuje s tajnými údaji, čeká na váš souhlas. Karta uvádí důvod, například **Spustit tento příkaz?** s upozorněním **Maže soubory** nebo **Mění databázi**, a vy zvolíte **Povolit** nebo **Zamítnout**. Správce může nastavit, které akce budou vždy vyžadovat schválení.

> [!IMPORTANT]
> Dokud nedáte souhlas, nic se do repozitáře neodešle. Váš projekt je složka na vašem počítači a díky Gitu lze každou úpravu, kterou Dvina provede, vrátit zpět.

## Testování v simulátoru nebo emulátoru

V desktopové aplikaci může Dvina vyzkoušet vaši aplikaci na tomto počítači tak, jak ji budou používat vaši uživatelé: v prohlížeči, v simulátoru iOS na Macu nebo v emulátoru Androidu na Macu, Windows či Linuxu.

1. Otevřete Dock a vyberte řádek **Zařízení**.
2. V části **Toto zařízení** vyberte **Prohlížeč**, **Simulátor iOS** nebo **Emulátor Androidu**.

Zobrazení se otevře v bočním panelu. Vypnutý simulátor se při otevření spustí. Pokud chcete použít jiný, vyberte v horní části zobrazení **Vybrat zařízení**. U každého zařízení je uveden jeho systém a stav **Spuštěno** nebo **Vypnuto**.

Prohlížeč zobrazíte nebo skryjete stisknutím <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> na Macu nebo <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> na Windows a Linuxu. Když Dvina pracuje v zobrazení, které právě nesledujete, u řádku **Zařízení** se objeví tečka.

### Povolení přístupu Dvina k zařízení

Při prvním použití simulátoru nebo emulátoru vás Dvina požádá o souhlas, například **Povolit Dvina používat iPhone 17 Pro?** Dvina totiž vidí jeho obrazovku, proto se na něm nepřihlašujte ke svým skutečným účtům. Vyberte **Povolit** nebo **Zamítnout**. Vaše volba se pro dané zařízení uloží, takže v dalším chatu se dotaz znovu nezobrazí. Dokud přístup nepovolíte, zobrazení nabízí možnost **Povolit Dvina používat toto zařízení**.

Když Dvina pracuje, v zobrazení je uvedeno **Dvina používá toto zařízení** a v chatu vidíte zařízení živě. Pro větší zobrazení vyberte **Zvětšit zobrazení**. Odesílání, placení a mazání na zařízení vždy čeká na váš souhlas.

Pokud chcete zařízení používat sami, vyberte **Převzít ovládání**. Vaše klepnutí a stisky kláves se přenesou do zařízení. Můžete stisknout **Domů** a na Androidu také **Zpět** a **Nedávné aplikace**. Až skončíte, vyberte **Předat ovládání zpět** a Dvina bude pokračovat.

### Nastavení simulátoru iOS

Pokud simulátor iOS není nastavený, jeho řádek otevře kontrolní seznam **Nastavit simulátor iOS**. Každý krok se po dokončení automaticky označí jako hotový, i když jste ho provedli jinde.

1. **Nainstalujte Xcode:** Vyberte **Otevřít App Store**. Xcode je zdarma a má přibližně 7 GB. Po dokončení instalace ho jednou otevřete.
2. **Vyberte Xcode:** Vyberte **Zkopírovat příkaz** a spusťte ho v Terminálu. Vyžaduje vaše heslo, takže ho Dvina nikdy nespouští za vás.
3. **Přidejte simulátor iOS:** V Xcode přejděte do Nastavení › Komponenty a stáhněte iOS, nebo spusťte příkaz v Terminálu.
4. **Vytvořte zařízení:** Vyberte **Vytvořit iPhone**. Nic se nestahuje.

### Nastavení emulátoru Androidu

Pokud emulátor Androidu není nastavený, jeho řádek otevře kontrolní seznam **Nastavit emulátor Androidu**.

1. **Nainstalujte Android Studio:** Vyberte **Získat Android Studio**. Nainstaluje prostředí, ve kterém emulátor běží. Po dokončení instalace ho jednou otevřete.
2. **Přidejte emulátor a nástroje platformy:** Spusťte příkaz v terminálu nebo je přidejte v Android Studio › SDK Manager.
3. **Zapněte hardwarovou akceleraci:** Na Windows a Linuxu spusťte příkaz sami, protože vyžaduje vaše heslo nebo oprávnění správce. Na Linuxu se pak odhlaste a znovu přihlaste, na Windows restartujte počítač. Na Macu není v tomto kroku nic potřeba.
4. **Přidejte obraz systému:** Spusťte příkaz v terminálu nebo přidejte obraz v Android Studio › SDK Manager. Stahuje se velký soubor.
5. **Vytvořte emulátor:** Vyberte **Vytvořit emulátor**. Nic se nestahuje.

Pokud správce simulátory vypnul, v řádcích se zobrazí **Vypnuto správcem**.

## Práce odkudkoli

Z telefonu nebo z webu zadejte v chatu, co potřebujete udělat. Dvina na tom pracuje v projektu na vašem počítači a změny pak čekají na vaši kontrolu. Počítač musí být zapnutý a Dvina otevřená.

## Kdy použít

- Pracujete na skutečném softwaru a chcete mít po ruce celý kontext: poznámky, rozhodnutí i vlákna z minulého měsíce.
- Chcete nechat provést opravu, když nejste u počítače.
- Chcete nechat pracovat na několika změnách současně a mít každou připravenou ke kontrole.

## Tipy

- **Sepište si pravidla práce.** Popište svůj způsob práce v AGENTS.md nebo CLAUDE.md a Dvina se jím bude řídit.
- **Testujte na telefonu.** Vytváříte aplikaci? Dvina ji může otestovat v simulátoru iPhonu nebo emulátoru Androidu a procházet ji klepáním stejně jako vaši uživatelé. Viz [Testování v simulátoru nebo emulátoru](#test-on-a-simulator-or-emulator).
- **Nejste vývojář?** Pro funkční aplikace a stránky použijte místo toho [Tvorbu](/docs/use-dvina/features/create).

## Související

- [Projekty](/docs/use-dvina/features/projects)
- [Úkoly](/docs/use-dvina/features/tasks)
- [Ovládání počítače](/docs/use-dvina/features/computer-use)
- [Instalace](/docs/use-dvina/get-started/install)
