# Código

> Peça ao Dvina para escrever código em um projeto no seu computador, revise cada alteração, faça o commit e abra o pull request pelo chat.

O Dvina escreve código no seu projeto, no seu computador, levando em conta as notas, as conversas e os motivos por trás do trabalho. Você descreve o que quer, revisa o que foi alterado e entrega o resultado no mesmo app que usa para todo o resto.

## Antes de começar

O recurso de código faz parte do app Dvina para desktop, no Mac, Windows e Linux. Não é preciso instalar nada separado. O Dvina precisa estar em pelo menos um computador; qualquer outro dispositivo pode iniciar e acompanhar o trabalho.

Para obter o app para desktop, consulte [Baixar e instalar o Dvina](/docs/use-dvina/get-started/install).

## Abra um projeto

Um projeto é uma pasta no seu computador: um repositório de código ou uma pasta comum.

1. No app para desktop, abra o Dock e selecione a linha de projetos (**Projetos**).
2. Selecione **Abrir…** para escolher uma pasta ou um repositório de código, ou **Novo projeto…** para criar uma pasta neste computador.

Ao criar um projeto, ative **Criar repositório Git** para manter um histórico de todas as alterações e poder desfazer as edições do Dvina.

O projeto que você escolher será o projeto em que o chat vai trabalhar. Para um projeto de código, o Dock também mostra a branch.

## Peça o trabalho

Descreva o que você quer, por exemplo: "Faça a exportação CSV usar as datas corretas". O Dvina executa o trabalho como uma tarefa no seu computador, e você pode continuar conversando ou iniciar mais tarefas. Várias tarefas podem trabalhar no mesmo repositório e decidir entre si qual faz o commit primeiro.

Antes de escrever, o Dvina lê o projeto junto com o contexto ao redor: ele pesquisa suas conversas anteriores e seus arquivos para levar em conta os motivos por trás do trabalho. Ele também segue o AGENTS.md ou CLAUDE.md do seu projeto.

## Revise as alterações

A resposta de cada tarefa vem com as alterações feitas, em um cartão com o nome da tarefa e o status **Pronto para revisão**.

- **Veja o que mudou:** selecione **Alterações** para ver as alterações de cada arquivo no painel lateral. **Arquivos** permite navegar pelo projeto.
- **Desfaça uma interação:** abaixo de uma resposta que alterou arquivos, selecione a linha que informa quantos arquivos foram alterados, depois **Reverter**, e confirme **Reverter esta interação?**. Os arquivos voltam ao estado anterior à interação, e as alterações feitas desde então são mantidas.

## Faça o commit e abra um pull request

1. No cartão da tarefa, selecione **Commit**.
2. **Fazer commit das alterações** lista os arquivos que serão incluídos no commit na sua branch, com sugestões de **Título** e **Mensagem**. Selecione **Commit**. Nada é enviado ao repositório remoto.
3. Para abrir um pull request, selecione **Enviar e criar PR**. O Dvina envia primeiro a branch atual ao repositório remoto e depois abre o pull request. Arquivos sem commit não são incluídos.

O pull request usa sua própria autenticação no Git. O Dvina abre o pull request no GitHub ou no GitLab; para qualquer outro serviço de hospedagem, a página de criação de pull request desse serviço é aberta no navegador. Quando terminar, selecione **Ver PR**.

## Aprovações

Compilações e testes são executados sem pedir aprovação. Excluir arquivos, enviar alterações, mudar bancos de dados, fazer implantações e qualquer ação que envolva segredos exigem sua aprovação. O cartão informa o motivo, por exemplo, **Executar este comando?** com **Exclui arquivos** ou **Altera um banco de dados**, e você escolhe **Permitir** ou **Rejeitar**. Seu administrador pode definir quais ações sempre exigem aprovação.

> [!IMPORTANT]
> Nenhuma alteração é enviada sem sua autorização. Seu projeto é uma pasta no seu computador e, com o Git, toda edição feita pelo Dvina pode ser desfeita.

## Teste em um simulador ou emulador

No aplicativo para desktop, o Dvina pode testar seu app neste computador da mesma forma que seus usuários vão usá-lo: em um navegador, no Simulador do iOS em um Mac ou no Emulador do Android em um Mac, Windows ou Linux.

1. Abra o Dock e escolha a linha **Dispositivo**.
2. Em **Este dispositivo**, escolha **Navegador**, **Simulador do iOS** ou **Emulador do Android**.

A visualização abre no painel lateral. Se o simulador estiver desligado, ele inicia quando você o abre. Para usar outro, escolha **Escolher um dispositivo** na parte superior da visualização; cada dispositivo mostra seu sistema e se está **Em execução** ou **Desligado**.

Para mostrar ou ocultar o navegador, pressione <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> em um Mac ou <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> no Windows e no Linux. Enquanto o Dvina trabalha em uma visualização que você não está vendo, a linha **Dispositivo** exibe um ponto.

### Permita que o Dvina use um dispositivo

Na primeira vez que o Dvina usa um simulador ou emulador, ele pede permissão, por exemplo, **Permitir que o Dvina use o iPhone 17 Pro?**, porque o Dvina vê a tela do dispositivo. Por isso, não entre nas suas contas reais nele. Escolha **Permitir** ou **Rejeitar**. O dispositivo guarda sua resposta, então a pergunta não se repete em outro chat. Até você permitir, a visualização oferece a opção **Permitir que o Dvina use este dispositivo**.

Enquanto o Dvina trabalha, a visualização informa **O Dvina está usando este dispositivo**, e o chat mostra o dispositivo ao vivo. Escolha **Ver em tamanho maior** para ampliar. Ações de envio, pagamento e exclusão no dispositivo sempre exigem sua aprovação.

Para usar o dispositivo você mesmo, escolha **Assumir o controle**. Seus toques e teclas são enviados ao dispositivo, e você pode pressionar **Início** e, no Android, **Voltar** e **Apps recentes**. Quando terminar, escolha **Devolver o controle**, e o Dvina continua.

### Configure o Simulador do iOS

Se o Simulador do iOS não estiver configurado, a linha dele abre uma lista de verificação, **Configurar o Simulador do iOS**. Cada etapa é marcada automaticamente quando concluída, mesmo que você a tenha feito em outro lugar.

1. **Instale o Xcode:** Escolha **Abrir a App Store**. O Xcode é gratuito e tem cerca de 7 GB; abra-o uma vez após a instalação.
2. **Selecione o Xcode:** Escolha **Copiar o comando** e execute-o no Terminal. Ele pede sua senha, por isso o Dvina nunca o executa por você.
3. **Adicione o simulador do iOS:** No Xcode, vá a Ajustes › Componentes e baixe o iOS, ou execute o comando no Terminal.
4. **Crie um dispositivo:** Escolha **Criar um iPhone**. Nada é baixado.

### Configure o Emulador do Android

Se o Emulador do Android não estiver configurado, a linha dele abre uma lista de verificação, **Configurar o emulador do Android**.

1. **Instale o Android Studio:** Escolha **Baixar o Android Studio**. Ele instala os componentes necessários para executar o emulador; abra-o uma vez após a instalação.
2. **Adicione o emulador e as ferramentas da plataforma:** Execute o comando em um terminal ou adicione-os em Android Studio › SDK Manager.
3. **Ative a aceleração de hardware:** No Windows e no Linux, execute o comando você mesmo, pois ele exige sua senha ou um administrador. Depois, encerre a sessão e entre novamente no Linux, ou reinicie o Windows. No Mac, não é preciso fazer nada nesta etapa.
4. **Adicione uma imagem do sistema:** Execute o comando em um terminal ou adicione uma em Android Studio › SDK Manager. O download é grande.
5. **Crie um emulador:** Escolha **Criar um emulador**. Nada é baixado.

Se seu administrador desativou os simuladores, as linhas mostram **Desativado pelo seu administrador**.

## Trabalhe de qualquer lugar

Pelo celular ou pela web, peça o que precisa no chat. Dvina faz o trabalho no projeto no seu computador, e as alterações ficam aguardando sua revisão. Seu computador precisa estar ligado, com Dvina aberto.

## Quando usar

- Você está trabalhando em um software de verdade e quer contar com todo o histórico: as notas, as decisões e as conversas do mês passado.
- Você quer que uma correção seja feita enquanto está longe da sua mesa.
- Você quer que várias alterações sejam feitas ao mesmo tempo, cada uma pronta para revisão.

## Dicas

- **Registre suas regras de trabalho.** Descreva como você trabalha em AGENTS.md ou CLAUDE.md, e Dvina segue essas orientações.
- **Teste em um celular.** Está criando um app? Dvina pode testá-lo em um simulador de iPhone ou em um emulador de Android, navegando com toques como seus usuários farão. Veja [Testar em um simulador ou emulador](#test-on-a-simulator-or-emulator).
- **Não trabalha com desenvolvimento?** Para criar apps e páginas funcionais, use [Criar](/docs/use-dvina/features/create).

## Conteúdo relacionado

- [Projetos](/docs/use-dvina/features/projects)
- [Tarefas](/docs/use-dvina/features/tasks)
- [Uso do computador](/docs/use-dvina/features/computer-use)
- [Instalar](/docs/use-dvina/get-started/install)
