> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração clássica

> Configure o ambiente do Devin por meio do assistente interativo clássico.

<Info>Está procurando configuração declarativa? Consulte [Configuração declarativa (blueprints)](/pt-BR/onboard-devin/environment/blueprints) para a abordagem recomendada em novas configurações.</Info>

O Devin funciona carregando um snapshot de uma máquina virtual no início de cada sessão. Para que seja o mais eficaz possível, esse snapshot deve incluir todos os repositórios nos quais você quer que o Devin trabalhe, bem como quaisquer ferramentas ou dependências de que ele possa precisar para trabalhar na sua base de código. Assim, o Devin pode se concentrar em escrever código em vez de ter que configurar o ambiente toda vez!

Neste guia, veremos como integrar o Devin a um dos seus repositórios e configurar o ambiente do Devin (o snapshot da máquina virtual). Você pode encarar isso como configurar o notebook do Devin para o primeiro dia de trabalho.

<Tip>
  Configurar corretamente o ambiente do Devin melhorará significativamente o
  desempenho dele na sua base de código. Imagine se, toda vez que você
  começasse uma tarefa, seu notebook e parte da sua memória fossem apagados — é
  isso que acontece com o Devin com uma configuração incorreta ou incompleta!
</Tip>

<div id="add-a-repository">
  ## Adicionar um repositório
</div>

Primeiro, certifique-se de que o Devin tenha acesso aos seus repositórios. Repositórios podem ser adicionados a qualquer momento configurando o acesso do Devin em:

* **Teams**: [Settings > Conexões](https://app.devin.ai/settings/connections)
* **Enterprise**: [Enterprise Settings > Integrations](https://app.devin.ai/settings/connected-accounts)

Agora, dentro de uma organização, acesse a [Devin's Machine](https://app.devin.ai/machine) e clique em **Add repository**. Selecione os repositórios que você quer adicionar ao ambiente do Devin e clique em **Start** para começar a configurá-los.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Start-Repo-Setup.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=6337c4725e562caa5c847e46b5d3353c" alt="Devin" width="1764" height="548" data-path="images/onboard-devin/Start-Repo-Setup.png" />
</Frame>

<Tip>
  A máquina do Devin está executando Ubuntu 22.04 (x86\_64). Tente pressionar Ctrl+K no terminal para gerar automaticamente um comando de instalação.
</Tip>

<div id="set-up-the-repository-and-development-environment">
  ## Configurar o Repositório e o Ambiente de Desenvolvimento
</div>

Ao entrar em Repo Setup, você verá três painéis:

1. **Etapas de Configuração do Repositório**: Exibe as 8 etapas de configuração em ordem, junto com os comandos resultantes que serão salvos na sua configuração.
2. **Agente de Configuração Devin AI**: Devin pode sugerir o que fazer em cada etapa com base no seu repositório específico e iterar sobre a configuração até que ela esteja pronta para ser salva.
3. **terminal do VS Code**: Permite que você execute quaisquer comandos ou navegue pelo sistema de arquivos diretamente no ambiente do VSCode integrado.

<div id="ai-generated-suggestions">
  ### Sugestões geradas por IA
</div>

Ao adicionar um repositório, Devin gera automaticamente sugestões de configuração para cada etapa, com base na análise da sua base de código. Você pode aceitar ou rejeitar cada sugestão individualmente ou iterar sobre elas com o Devin AI Setup Agent.

<div id="repository-setup-steps">
  ### Etapas de Configuração do Repositório
</div>

<Steps>
  <Step title="Git Pull">
    O comando que o Devin executa no início de cada sessão para obter as alterações mais recentes do repositório. Na maioria dos casos, você deve manter o comando padrão. Certifique-se de que o Devin tenha acesso a quaisquer submódulos no repositório.
  </Step>

  <Step title="Configurar Segredos">
    Configure quaisquer segredos ou variáveis de ambiente de que o Devin precise para trabalhar com o seu repositório. Consulte [Configuração de segredos](#configuring-secrets) para mais detalhes.
  </Step>

  <Step title="Instalar Dependências">
    Comandos para instalar as dependências iniciais do seu repositório. Esses comandos são executados uma única vez durante a configuração para preparar o ambiente do Devin.
  </Step>

  <Step title="Manter Dependências">
    Comandos que o Devin executa após o git pull, durante a inicialização da sessão, caso novas dependências tenham sido adicionadas. Normalmente, isso deve ser o mesmo comando que você usa para instalar dependências (por exemplo, `npm install`, `pip install -r requirements.txt`, etc.).
  </Step>

  <Step title="Configurar Lint">
    Comandos que o Devin deve usar para executar o lint ou verificar erros de sintaxe. O Devin analisará a saída desses comandos antes de fazer commit das alterações.
  </Step>

  <Step title="Configurar Testes">
    Comandos que o Devin deve usar para executar testes. Assim como com os comandos de lint, o Devin analisará a saída desses comandos antes de fazer commit das alterações.
  </Step>

  <Step title="Executar App Localmente">
    Informe ao Devin como executar seu código localmente. Isso é útil se o Devin precisar executar seu código para testar ou depurar alterações. Você pode usar o navegador do Devin para fazer login nos sites que deseja que o Devin use. Adicione credenciais de login a [secrets](/pt-BR/product-guides/secrets) se a sessão de login expirar.
  </Step>

  <Step title="Observações Adicionais">
    Adicione quaisquer instruções adicionais para o Devin ao trabalhar neste repositório.
  </Step>
</Steps>

<div id="finish-or-save-setup">
  ### Concluir ou Salvar Configuração
</div>

Quando estiver satisfeito com a configuração, clique em **Finish Setup** para salvar a configuração. Isso vai reproduzir todos os comandos das etapas de configuração para preparar o ambiente do Devin.

Se você ainda não terminou suas alterações, clique em **Finish Later** para salvar a configuração. Isso manterá a configuração em andamento e permitirá que você volte a ela depois. No entanto, observe que **apenas uma configuração pode estar em andamento por vez**, então não recomendamos usar essa opção a menos que seja absolutamente necessário.

<Tip>
  **Dicas para configurar comandos:**

  * Execute primeiro os comandos no terminal do VS Code para aproveitar o cache antes de verificar.
  * Se um comando precisar ser executado em um diretório específico, use `cd` da seguinte forma: `cd &lt;directory&gt; &amp;&amp; &lt;command&gt;`.
  * Se o seu projeto não tiver um comando de lint, você pode incluir o comando de build para que o Devin verifique erros de compilação.
  * Se o procedimento de lint ou de testes do seu projeto for complexo, você pode pular essas etapas e explicá-las ao Devin na etapa Additional Notes.
  * Consulte a [seção de solução de problemas](#troubleshooting) se encontrar problemas ao verificar seus comandos.
</Tip>

<div id="configure-previously-added-repositories">
  ## Configurar repositórios adicionados anteriormente
</div>

Você pode editar ou adicionar um novo repositório a qualquer momento em [Settings > Devin's Machine](https://app.devin.ai/machine).

Para editar um repositório existente, clique em **Configure** no canto superior direito da página, em Add/Modify/Remove repo, selecione o repositório que você quer editar e clique em submit.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Configure-Devins-Machine.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=013282a4c4e0f00111f2b150a2fa946b" alt="Devin" width="1742" height="832" data-path="images/onboard-devin/Configure-Devins-Machine.png" />
</Frame>

Como alternativa, você pode selecionar, na lista, o repositório existente que deseja editar e clicar em **Modify repo setup** para editar as etapas de configuração.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/modify-repo-setup.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=9a066de8525859099c694d420ebab1f6" alt="Devin" width="2098" height="1634" data-path="images/onboard-devin/modify-repo-setup.png" />
</Frame>

<div id="machine-version-history">
  ### Histórico de versões da máquina
</div>

Se, durante a configuração, você acidentalmente fizer uma alteração incompatível, poderá reverter para um snapshot anterior do ambiente. Vá para [Settings > Devin's Machine](https://app.devin.ai/machine), mude para a aba **Version History** e restaure um snapshot anterior que você sabe que estava funcionando corretamente.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Devin-Machine-Version-History.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=fab3db71873fc8c3049a497730d4ca77" alt="Devin" width="1746" height="1082" data-path="images/onboard-devin/Devin-Machine-Version-History.png" />
</Frame>

<div id="configuring-secrets">
  ## Configurando segredos
</div>

Segredos como chaves de API, senhas e tokens podem ser adicionados no painel de [secrets](/pt-BR/product-guides/secrets). Sempre que possível, recomendamos usar um arquivo `.env` no ambiente do Devin com [`direnv`](https://direnv.net/) para gerenciar automaticamente as variáveis de ambiente. Consulte o [exemplo de configuração de variáveis de ambiente](#configuring-environment-variables) abaixo para obter mais detalhes.

<div id="examples">
  ## Exemplos
</div>

Abaixo estão alguns exemplos de como configurar o ambiente do Devin para diferentes casos de uso.

Como o Devin executa todos os comandos usando bash, uma prática comum é editar o arquivo `~/.bashrc` para configurar automaticamente o shell do Devin. Você pode executar `devin ~/.bashrc` no terminal para editar o arquivo no VS Code.

<div id="configuring-environments-automatically-for-different-repositories">
  ### Configurando ambientes automaticamente para diferentes repositórios
</div>

<Tip>
  Após 24 de abril de 2025, as equipes que se inscreverem no Devin devem ver a seção `custom_cd`
  já presente no arquivo `~/.bashrc`. Você só precisará atualizar essa
  seção para os seus próprios repositórios.
</Tip>

Suponha que você tenha dois repositórios que exijam versões diferentes do Node e queira que o Devin use automaticamente a versão correta para cada repositório. Usaremos o [`nvm`](https://github.com/nvm-sh/nvm) para instalar e gerenciar as versões do Node. O `nvm` já deve estar instalado na máquina do Devin.

Primeiro, vamos instalar as duas versões do Node executando os seguintes comandos no terminal do VS Code:

```bash theme={null}
nvm install 18
nvm install 20
```

Em seguida, abra o arquivo `~/.bashrc` executando `devin ~/.bashrc` no terminal. Adicione o seguinte ao arquivo `~/.bashrc`.

```bash theme={null}
function custom_cd() {
  builtin cd "$@"

  if [[ "$PWD" == "$HOME/repos/node18"* ]]; then
    nvm use 18 >/dev/null 2>&1
  elif [[ "$PWD" == "$HOME/repos/node20"* ]]; then
    nvm use 20 >/dev/null 2>&1
  fi
}

alias cd='custom_cd'
cd $PWD
```

Isso executará `nvm use 18` sempre que Devin estiver no repositório `node18` e `nvm use 20` sempre que Devin estiver no repositório `node20`.

<div id="configuring-environment-variables">
  ### Configurando variáveis de ambiente
</div>

[`direnv`](https://direnv.net/) já vem pré-instalado na máquina do Devin e pode ser usado para gerenciar variáveis de ambiente por repositório. O hook do direnv já está configurado em `~/.bashrc`.

Para configurar variáveis de ambiente para um repositório, crie um arquivo `.envrc` na raiz do repositório. Por exemplo:

```bash theme={null}
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
```

Por fim, vamos executar `direnv allow` no terminal para carregar as variáveis de ambiente.

Agora o Devin terá as variáveis de ambiente do nosso arquivo `.envrc` adicionadas ao seu ambiente ao trabalhar em nosso repositório em sessões futuras.

<Tip>
  Recomendamos adicionar `.envrc` ao seu arquivo `.gitignore` para que o Devin não
  faça commit desse arquivo acidentalmente no repositório.
</Tip>

<div id="adding-directories-to-the-system-path">
  ### Adicionando diretórios ao PATH do sistema
</div>

Podemos editar `~/.bashrc` para adicionar diretórios ao PATH do sistema. Isso facilitará para o Devin executar os executáveis nesses diretórios. Por exemplo, podemos acrescentar o seguinte ao `~/.bashrc`, o que adicionará o diretório `~/bin` ao PATH do sistema.

```bash theme={null}
export PATH="$HOME/bin:$PATH"
```

Agora, Devin poderá executar os arquivos executáveis no diretório `~/bin` sem precisar especificar o caminho completo.

<div id="logging-in-to-websites">
  ## Fazendo login em sites
</div>

Durante a configuração do ambiente, você pode usar a guia Browser para fazer login em qualquer site com o qual queira que o Devin interaja. Esses cookies de sessão serão armazenados no ambiente do Devin e estarão disponíveis para o Devin em sessões futuras. Se você estiver usando um site que encerra sua sessão com frequência, também é recomendável configurar credenciais para o Devin no seu painel de [Secrets](/pt-BR/product-guides/secrets).

<div id="scripted-browser-use-via-playwright">
  ### Uso do navegador por script via Playwright
</div>

Para apps que exigem autenticação via navegador (SSO, OAuth etc.) ou preenchimento sistemático de dados, o Devin pode escrever e executar scripts Playwright para automatizar esses fluxos no próprio navegador em execução dele. Você também pode escrever esses scripts por conta própria e adicioná-los ao seu repo. O navegador Chrome do Devin expõe um endpoint **Chrome DevTools Protocol (CDP)** em `http://localhost:29229`, ao qual o Playwright pode se conectar.

```python theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("http://localhost:29229")
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()

    # Automatize seu fluxo de login aqui
    page.goto("https://your-app.com/login")
    page.fill('input[name="email"]', "user@example.com")
    page.fill('input[name="password"]', "password")
    page.click('button[type="submit"]')
    page.wait_for_url("**/dashboard")
```

Depois que o script é executado, a sessão autenticada (cookies, localStorage, tokens de autenticação) permanece no navegador do Devin. Devin pode então atualizar páginas, navegar e interagir com o app normalmente — o login é preservado.

<Tip>
  Armazene os scripts de login no diretório `.agents/skills/` do seu repositório e referencie as credenciais por meio de [Segredos](/pt-BR/product-guides/secrets) para que Devin possa se reautenticar automaticamente em cada sessão. Consulte [Computer Use — Uso de navegador por script](/pt-BR/work-with-devin/computer-use#scripted-browser-use-via-playwright) para mais detalhes.
</Tip>

<div id="troubleshooting">
  ## Resolução de problemas
</div>

<div id="why-arent-my-commands-being-verified">
  ### Por que meus comandos não estão sendo verificados?
</div>

Se você encontrar um erro ao verificar um dos comandos, tente inspecionar a saída dele e também tente executar o comando você mesmo em um novo terminal.

1. Verifique o caminho do executável que você está executando. Recomendamos fortemente usar caminhos absolutos ou [adicionar executáveis ao PATH do sistema](#adding-directories-to-the-system-path).
2. Certifique-se de que você instalou as ferramentas e dependências necessárias para executar o comando. Se ainda não tiver feito isso, use o Setup Agent ou o terminal do VS Code para instalá-las e tente verificar novamente.
3. Verifique se os comandos estão sendo executados no diretório correto. Se os comandos precisarem ser executados em um diretório específico, você pode usar `cd` desta forma: `cd <directory> && <command>`.
4. Verifique se você está usando as **versões corretas das linguagens de programação** (por exemplo, versões corretas de Node, Python, etc.).
5. Talvez você queira **modificar seu `~/.bashrc`** para usar automaticamente o ambiente correto.
   Consulte nosso guia para ver um exemplo de [como usar a versão correta da linguagem para repositórios diferentes](#configuring-environments-automatically-for-different-repositories).

<div id="my-commands-work-when-i-run-them-manually">
  ### Meus comandos funcionam quando eu os executo manualmente
</div>

Verifique se você configurou seu `.bashrc` para que um novo shell Bash tenha acesso às ferramentas necessárias. Tente executar seus comandos em um novo terminal. Se eles não funcionarem, você provavelmente precisará editar seu `.bashrc`, por exemplo, executando certos comandos de configuração ou ajustando o PATH do sistema.
Confira nosso guia para um exemplo de [como usar a versão correta da linguagem para diferentes repositórios](#configuring-environments-automatically-for-different-repositories).

Os comandos expiram (timeout) após 5 minutos. Você pode aquecer o cache executando os comandos no terminal do VS Code antes de verificar. Não recomendamos passar ao Devin comandos que demorem mais de 5 minutos para executar, pois isso o deixará significativamente mais lento.

<div id="devin-cant-run-my-linttest-commands-in-sessions">
  ### Devin não consegue executar meus comandos de lint/test em sessões
</div>

Verifique a saída do terminal do Devin para ver se você consegue identificar algum erro. Você também pode tentar executar os comandos em um novo terminal para verificar se eles funcionam. Se necessário, você pode refazer o processo de configuração do repositório para fazer alterações no ambiente do Devin.

<div id="the-git-pull-step-isnt-working">
  ### A etapa de git pull não está funcionando
</div>

Confira se o Devin tem acesso ao repositório e aos submódulos do repositório. Consulte também a [documentação da integração com o GitHub](/pt-BR/integrations/gh) caso encontre algum problema de permissão.

<div id="all-done">
  ## Tudo pronto!
</div>

Parabéns! Você concluiu a configuração do Devin e já pode começar a construir juntos. É hora de iniciar [sua primeira sessão](/pt-BR/get-started/first-run). Lembre-se de que o Devin funciona melhor quando você:

* Diz ao Devin como verificar seu progresso
* Divide tarefas grandes em partes menores
* Compartilha requisitos detalhados desde o início
* Executa várias sessões em paralelo

Se precisar de suporte, não hesite em nos enviar um e-mail para [support@cognition.ai](mailto:support@cognition.ai).
