# Código

> Pide a Dvina que escriba código en un proyecto de tu ordenador, revisa cada cambio y, después, crea el commit y abre la solicitud de incorporación desde el chat.

Dvina escribe código en tu proyecto, en tu ordenador, con las notas, los hilos y los motivos a la vista. Describe lo que quieres, revisa los cambios y entrega el trabajo, en la misma app que usas para todo lo demás.

## Antes de empezar

Código forma parte de la app de escritorio de Dvina para Mac, Windows y Linux. No tienes que instalar nada más. Dvina debe estar instalado en al menos un ordenador; desde cualquier otro dispositivo puedes iniciar el trabajo y seguir su progreso.

Para obtener la app de escritorio, consulta [Descargar e instalar Dvina](/docs/use-dvina/get-started/install).

## Abre un proyecto

Un proyecto es una carpeta de tu ordenador: un repositorio de código o una carpeta normal.

1. En la app de escritorio, abre el Dock y selecciona la fila de proyectos (**Proyectos**).
2. Selecciona **Abrir…** para elegir una carpeta o un repositorio de código, o **Nuevo proyecto…** para crear una carpeta en este ordenador.

Cuando crees un proyecto, activa **Crear repositorio Git** para guardar un historial de todos los cambios y poder deshacer las modificaciones de Dvina.

El chat trabaja en el proyecto que elijas. Si es un proyecto de código, el Dock también muestra su rama.

## Pide lo que necesitas

Describe lo que quieres, por ejemplo: "Haz que la exportación CSV use las fechas correctas". Dvina lo ejecuta como una tarea en tu ordenador, y puedes seguir conversando o iniciar más tareas. Varias tareas pueden trabajar en un mismo repositorio y decidir entre ellas cuál crea su commit primero.

Antes de escribir, Dvina lee el proyecto junto con su contexto: busca en tus chats anteriores y en tus archivos para tener en cuenta los motivos. También sigue las instrucciones de AGENTS.md o CLAUDE.md en tu proyecto.

## Revisa los cambios

La respuesta de cada tarea llega con sus cambios, en una tarjeta que lleva el nombre de la tarea y muestra **Listo para revisar**.

- **Consulta los cambios:** Selecciona **Cambios** para ver los cambios de cada archivo en el panel lateral. **Archivos** te permite explorar el proyecto.
- **Deshaz un turno:** Debajo de una respuesta que haya modificado archivos, selecciona la línea que indica cuántos archivos han cambiado, después **Revertir** y confirma **¿Revertir este turno?**. Los archivos vuelven al estado anterior a ese turno y se conservan los cambios posteriores.

## Crea un commit y abre una solicitud de incorporación

1. En la tarjeta de la tarea, selecciona **Crear commit**.
2. **Crear un commit con los cambios** muestra los archivos que se incluirán en el commit de tu rama, con un **Título** y un **Mensaje** sugeridos. Selecciona **Crear commit**. No se envía nada al repositorio remoto.
3. Para abrir una solicitud de incorporación, selecciona **Enviar y crear PR**. Dvina envía primero la rama actual al repositorio remoto y después abre la solicitud de incorporación. Los archivos sin commit no se incluyen.

La solicitud de incorporación se tramita con tu propia sesión de Git. Dvina la abre en GitHub o GitLab; si usas otro servicio, se abre su página para crear una solicitud de incorporación en tu navegador. Cuando termine, selecciona **Ver PR**.

## Aprobaciones

Las compilaciones y las pruebas se ejecutan directamente. La eliminación de archivos, el envío de cambios, los cambios en bases de datos, los despliegues y cualquier acción que acceda a secretos esperan tu aprobación. La tarjeta indica el motivo; por ejemplo, **¿Ejecutar este comando?** con **Elimina archivos** o **Modifica una base de datos**, y tú eliges **Permitir** o **Rechazar**. Tu administrador puede configurar qué acciones requieren siempre tu aprobación.

> [!IMPORTANT]
> No se envía ningún cambio sin tu permiso. Tu proyecto es una carpeta en tu ordenador y, con Git, puedes deshacer cualquier modificación que haga Dvina.

## Prueba en un simulador o emulador

En la aplicación de escritorio, Dvina puede probar tu aplicación en este ordenador tal como la usarán tus usuarios: en un navegador, en el simulador de iOS en un Mac o en el emulador de Android en un Mac, Windows o Linux.

1. Abre el Dock y elige la fila **Dispositivo**.
2. En **Este dispositivo**, elige **Navegador**, **Simulador de iOS** o **Emulador de Android**.

La vista se abre en el panel lateral. Si un simulador está apagado, se inicia al abrirlo. Para usar otro, elige **Elegir un dispositivo** en la parte superior de la vista; cada dispositivo muestra su sistema y si está **En ejecución** o **Apagado**.

Para mostrar u ocultar el navegador, pulsa <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> en un Mac o <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> en Windows y Linux. Mientras Dvina trabaja en una vista que no estás mirando, aparece un punto en la fila **Dispositivo**.

### Permite que Dvina use un dispositivo

La primera vez que Dvina usa un simulador o emulador, te pide permiso; por ejemplo, **¿Permitir que Dvina use iPhone 17 Pro?**. Dvina puede ver su pantalla, así que no inicies sesión con tus cuentas reales en él. Elige **Permitir** o **Rechazar**. El dispositivo guarda tu respuesta, de modo que no vuelve a preguntártelo en otro chat. Hasta que lo permitas, la vista muestra **Permitir que Dvina lo use**.

Mientras Dvina trabaja, la vista muestra **Dvina está usando este dispositivo**, y el chat muestra el dispositivo en directo. Elige **Ver en grande** para ampliarlo. Las acciones de enviar, pagar y eliminar en el dispositivo esperan tu aprobación, siempre.

Para usar el dispositivo tú mismo, elige **Tomar el control**. Tus toques y pulsaciones de teclas se envían al dispositivo, y puedes pulsar **Inicio** y, en Android, **Atrás** y **Aplicaciones recientes**. Cuando termines, elige **Devolver el control** y Dvina continuará.

### Configura el simulador de iOS

Si el simulador de iOS no está configurado, su fila abre una lista de pasos, **Configurar el simulador de iOS**. Cada paso se marca automáticamente cuando se completa, aunque lo hayas realizado en otro lugar.

1. **Instala Xcode:** Elige **Abrir el App Store**. Xcode es gratuito y ocupa unos 7 GB; ábrelo una vez cuando termine la instalación.
2. **Selecciona Xcode:** Elige **Copiar el comando** y ejecútalo en Terminal. Te pide tu contraseña, así que Dvina nunca lo ejecuta por ti.
3. **Añade el simulador de iOS:** En Xcode, ve a Ajustes › Componentes y descarga iOS, o ejecuta el comando en Terminal.
4. **Crea un dispositivo:** Elige **Crear un iPhone**. No se descarga nada.

### Configura el emulador de Android

Si el emulador de Android no está configurado, su fila abre una lista de pasos, **Configurar el emulador de Android**.

1. **Instala Android Studio:** Elige **Obtener Android Studio**. Instala lo necesario para ejecutar el emulador; ábrelo una vez cuando termine la instalación.
2. **Añade el emulador y las herramientas de la plataforma:** Ejecuta el comando en un terminal o añádelos en Android Studio › SDK Manager.
3. **Activa la aceleración por hardware:** En Windows y Linux, ejecuta el comando tú mismo, ya que requiere tu contraseña o la intervención de un administrador. Después, cierra la sesión y vuelve a iniciarla en Linux, o reinicia en Windows. En un Mac no necesitas hacer nada en este paso.
4. **Añade una imagen del sistema:** Ejecuta el comando en un terminal o añade una en Android Studio › SDK Manager. Es una descarga de gran tamaño.
5. **Crea un emulador:** Elige **Crear un emulador**. No se descarga nada.

Si tu administrador ha desactivado los simuladores, las filas muestran **Desactivado por tu administrador**.

## Trabaja desde cualquier lugar

Desde el móvil o la web, pide en el chat el trabajo que quieres que se haga. Dvina trabaja en el proyecto de tu ordenador y deja los cambios pendientes de tu revisión. Tu ordenador debe estar encendido y tener Dvina abierto.

## Cuándo usarlo

- Estás trabajando en software real y quieres contar con todo el contexto: las notas, las decisiones y los hilos del mes pasado.
- Quieres que se haga una corrección mientras estás lejos de tu escritorio.
- Quieres que se trabaje en varios cambios a la vez y que cada uno quede listo para revisar.

## Consejos

- **Deja tus reglas por escrito.** Explica cómo trabajas en AGENTS.md o CLAUDE.md y Dvina seguirá esas pautas.
- **Prueba en un móvil.** ¿Estás creando una aplicación? Dvina puede probarla en un simulador de iPhone o un emulador de Android, interactuando con ella mediante toques, como lo harán tus usuarios. Consulta [Probar en un simulador o emulador](#test-on-a-simulator-or-emulator).
- **¿No eres desarrollador?** Para crear aplicaciones y páginas que funcionen, usa [Crear](/docs/use-dvina/features/create).

## Contenido relacionado

- [Proyectos](/docs/use-dvina/features/projects)
- [Tareas](/docs/use-dvina/features/tasks)
- [Uso del ordenador](/docs/use-dvina/features/computer-use)
- [Instalar](/docs/use-dvina/get-started/install)
