# Код

> Доручіть Dvina написати код у проєкті на вашому комп’ютері, перевірте кожну зміну, а потім створіть коміт і пул-реквест просто з чату.

Dvina пише код у вашому проєкті на вашому комп’ютері, враховуючи нотатки, обговорення та причини рішень. Ви описуєте, що потрібно зробити, перевіряєте зміни й випускаєте результат — у тому самому застосунку, яким користуєтеся для всього іншого.

## Перш ніж почати

Робота з кодом доступна в настільному застосунку Dvina на Mac, Windows і Linux. Нічого окремо встановлювати не потрібно. Dvina має бути встановлена принаймні на одному комп’ютері; з будь-якого іншого пристрою можна запускати роботу й стежити за нею.

Щоб отримати настільний застосунок, див. [Завантаження та встановлення Dvina](/docs/use-dvina/get-started/install).

## Відкрийте проєкт

Проєкт — це папка на вашому комп’ютері: репозиторій коду або звичайна папка.

1. У настільному застосунку відкрийте Dock і виберіть рядок проєктів (**Проєкти**).
2. Виберіть **Відкрити…**, щоб вибрати папку або репозиторій коду, або **Новий проєкт…**, щоб створити нову папку на цьому комп’ютері.

Створюючи новий проєкт, увімкніть **Створити репозиторій Git**, щоб зберігати історію всіх змін і мати змогу скасувати редагування Dvina.

Чат працює у вибраному вами проєкті. Для проєкту з кодом Dock також показує його гілку.

## Доручіть роботу

Опишіть, що потрібно зробити, наприклад: «Зроби так, щоб під час експорту в CSV використовувалися правильні дати». Dvina виконує це як завдання на вашому комп’ютері, а ви можете продовжувати розмову або запускати інші завдання. Кілька завдань можуть працювати з одним репозиторієм і узгоджувати між собою, хто першим створить коміт.

Перш ніж писати код, Dvina вивчає проєкт і його контекст: шукає у ваших попередніх чатах і файлах, щоб врахувати причини рішень. Вона також дотримується вказівок з AGENTS.md або CLAUDE.md у вашому проєкті.

## Перевірте зміни

Відповідь на кожне завдання надходить разом зі змінами — у картці з назвою завдання та позначкою **Готово до перевірки**.

- **Перегляньте зміни:** Виберіть **Зміни**, щоб побачити зміни в кожному файлі на бічній панелі. Розділ **Файли** дає змогу переглядати проєкт.
- **Скасуйте зміни одного кроку:** Під відповіддю, яка змінила файли, виберіть рядок із кількістю змінених файлів, потім **Скасувати зміни** й підтвердьте **Скасувати зміни цього кроку?**. Файли повернуться до стану перед цим кроком, а зміни, внесені пізніше, залишаться.

## Створіть коміт і відкрийте пул-реквест

1. У картці завдання виберіть **Створити коміт**.
2. У вікні **Створення коміту зі змінами** перелічено файли, які увійдуть до коміту у вашій гілці, а також запропоновано **Заголовок** і **Повідомлення**. Виберіть **Створити коміт**. Нічого не надсилається до віддаленого репозиторію.
3. Щоб відкрити пул-реквест, виберіть **Надіслати й створити PR**. Dvina спочатку надсилає поточну гілку до віддаленого репозиторію, а потім відкриває пул-реквест. Файли, зміни в яких не включено до коміту, не додаються.

Пул-реквест створюється з вашою власною авторизацією в Git. Dvina відкриває його на GitHub або GitLab; для будь-якого іншого хостингу у вашому браузері відкривається його сторінка створення пул-реквесту. Коли все буде готово, виберіть **Переглянути PR**.

## Підтвердження

Збірки й тести запускаються без підтвердження. Видалення файлів, надсилання змін, зміни в базах даних, розгортання та будь-які дії із секретами чекають на ваш дозвіл. Картка пояснює причину: наприклад, **Виконати цю команду?** з позначкою **Видаляє файли** або **Змінює базу даних**. Ви обираєте **Дозволити** або **Відхилити**. Ваш адміністратор може налаштувати, які дії завжди потребують підтвердження.

> [!IMPORTANT]
> Жодні зміни не надсилаються без вашого дозволу. Ваш проєкт — це папка на вашому комп’ютері, а завдяки Git кожну зміну, внесену Dvina, можна скасувати.

## Тестування в симуляторі або емуляторі

У настільному застосунку Dvina може перевірити ваш застосунок на цьому комп’ютері так, як ним користуватимуться ваші користувачі: у браузері, у симуляторі iOS на Mac або в емуляторі Android на Mac, Windows чи Linux.

1. Відкрийте Dock і виберіть рядок **Пристрій**.
2. У розділі **Цей пристрій** виберіть **Браузер**, **Симулятор iOS** або **Емулятор Android**.

Вікно відкриється на бічній панелі. Якщо симулятор вимкнений, він запуститься, коли ви його відкриєте. Щоб скористатися іншим, виберіть **Вибрати пристрій** угорі вікна. Для кожного пристрою вказано його систему та стан: **Працює** або **Вимкнено**.

Щоб показати або приховати браузер, натисніть <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> на Mac або <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> на Windows і Linux. Коли Dvina працює у вікні, яке ви зараз не переглядаєте, у рядку **Пристрій** з’являється крапка.

### Дозвольте Dvina користуватися пристроєм

Коли Dvina вперше використовує симулятор або емулятор, вона запитує дозвіл, наприклад: **Дозволити Dvina користуватися iPhone 17 Pro?** Dvina бачить його екран, тож не входьте на ньому у свої справжні облікові записи. Виберіть **Дозволити** або **Відхилити**. Пристрій зберігає вашу відповідь, тому в іншому чаті запит не повториться. Поки ви не надасте дозвіл, у вікні відображатиметься **Дозволити Dvina користуватися ним**.

Поки Dvina працює, у вікні відображається **Dvina користується цим пристроєм**, а в чаті показується пристрій у реальному часі. Виберіть **Переглянути у великому розмірі**, щоб збільшити зображення. Надсилання, оплата й видалення на пристрої щоразу чекають на ваш дозвіл.

Щоб користуватися пристроєм самостійно, виберіть **Перебрати керування**. Ваші дотики й натискання клавіш передаватимуться на пристрій. Ви можете натискати **Додому**, а на Android — також **Назад** і **Нещодавні застосунки**. Коли закінчите, виберіть **Повернути керування**, і Dvina продовжить роботу.

### Налаштуйте симулятор iOS

Якщо симулятор iOS ще не налаштовано, його рядок відкриває контрольний список **Налаштувати симулятор iOS**. Кожен крок автоматично позначається як виконаний, навіть якщо ви виконали його деінде.

1. **Установіть Xcode:** Виберіть **Відкрити App Store**. Xcode безкоштовний і займає близько 7 GB. Після встановлення відкрийте його один раз.
2. **Виберіть Xcode:** Виберіть **Скопіювати команду** й виконайте її в Терміналі. Вона запитує ваш пароль, тому Dvina ніколи не виконує її за вас.
3. **Додайте симулятор iOS:** У Xcode перейдіть до Параметри › Компоненти й завантажте iOS або виконайте команду в Терміналі.
4. **Створіть пристрій:** Виберіть **Створити iPhone**. Нічого не завантажується.

### Налаштуйте емулятор Android

Якщо емулятор Android ще не налаштовано, його рядок відкриває контрольний список **Налаштувати емулятор Android**.

1. **Установіть Android Studio:** Виберіть **Завантажити Android Studio**. Він установлює все необхідне для роботи емулятора. Після встановлення відкрийте його один раз.
2. **Додайте емулятор та інструменти платформи:** Виконайте команду в терміналі або додайте їх в Android Studio › SDK Manager.
3. **Увімкніть апаратне прискорення:** На Windows і Linux виконайте команду самостійно, оскільки для неї потрібен ваш пароль або права адміністратора. Потім на Linux вийдіть з облікового запису й увійдіть знову, а на Windows перезавантажте комп’ютер. На Mac тут нічого робити не потрібно.
4. **Додайте образ системи:** Виконайте команду в терміналі або додайте образ в Android Studio › SDK Manager. Обсяг завантаження великий.
5. **Створіть емулятор:** Виберіть **Створити емулятор**. Нічого не завантажується.

Якщо ваш адміністратор вимкнув симулятори, у рядках відображається **Вимкнено вашим адміністратором**.

## Працюйте звідусіль

З телефона або через веб попросіть виконати роботу у своєму чаті. Dvina працюватиме над нею в проєкті на вашому комп’ютері, а зміни чекатимуть на вашу перевірку. Комп’ютер має бути ввімкнений, а Dvina — відкрита.

## Коли використовувати

- Ви працюєте над реальним програмним продуктом і хочете мати під рукою всю історію: нотатки, рішення й обговорення за минулий місяць.
- Ви хочете, щоб виправлення було готове, поки ви не за робочим столом.
- Ви хочете, щоб робота над кількома змінами йшла одночасно й кожна була готова до перевірки.

## Поради

- **Запишіть свої правила роботи.** Опишіть, як ви працюєте, у файлі AGENTS.md або CLAUDE.md, і Dvina дотримуватиметься цих правил.
- **Тестуйте на телефоні.** Створюєте застосунок? Dvina може протестувати його в симуляторі iPhone або емуляторі Android, натискаючи елементи так, як це робитимуть ваші користувачі. Див. [Тестування в симуляторі або емуляторі](#test-on-a-simulator-or-emulator).
- **Ви не розробник?** Щоб створювати робочі застосунки й сторінки, натомість використовуйте [Створення](/docs/use-dvina/features/create).

## Пов’язані матеріали

- [Проєкти](/docs/use-dvina/features/projects)
- [Завдання](/docs/use-dvina/features/tasks)
- [Керування комп’ютером](/docs/use-dvina/features/computer-use)
- [Встановлення](/docs/use-dvina/get-started/install)
