Pular para o conteúdo principal
Referência rápida da sintaxe e do comportamento de environment.yaml. Para conceitos e guias, consulte Configuração do ambiente.

Referência de campos

Campos de nível superior

CampoTipoObrigatórioExecutado duranteDescrição
initializestring ou listaNãoApenas no buildComandos de configuração executados uma única vez. Os resultados são salvos na imagem da máquina. Deve ser idempotente.
maintenancestring ou listaNãoBuild + início da sessãoComandos recorrentes de dependências. Mantenha-os rápidos e incrementais.
knowledgelista de objetosNãoNunca (apenas para referência)Informações carregadas no contexto do Devin no início da sessão.

Campos da etapa (formato expandido)

CampoTipoObrigatórioDescrição
namestringNãoRótulo legível exibido nos build logs. Facilita a identificação de falhas.
runstringNãoComando(s) de shell a executar. Há suporte a strings com várias linhas. Etapas sem run são puladas.

Campos de uma entrada do Knowledge

CampoTipoObrigatórioDescrição
namestringSimIdentificador (por exemplo, test, lint, startup, architecture, notes).
contentsstringSimO conteúdo de referência. Não é executado como comandos.

Detalhes de execução

  • Os comandos são executados em bash com set -e ativado — se qualquer linha falhar, a etapa é interrompida imediatamente.
  • Os comandos específicos do repo são executados a partir da raiz do repo (~/repos/<repo-name>). Os comandos do Enterprise e em nível da organização são executados a partir do diretório home (~).
  • Cada etapa no formato expandido é executada em seu próprio contexto de shell.
EscopoTempo limite
Comando individual1 hora
Build total2 horas
Boas práticas:
  • Use subshells para comandos em subdiretórios: (cd packages/frontend && npm install).
  • Prefira instalações incrementais em maintenance (por exemplo, npm install em vez de npm ci).
  • Evite comandos de build (npm run build, make) em maintenance — eles são executados em todas as sessões.
  • Adicione as flags -y para evitar prompts interativos: sudo DEBIAN_FRONTEND=noninteractive apt-get install -y.
  • Os comandos devem ser seguros para executar várias vezesmaintenance é executado em todas as sessões.

Ferramentas pré-instaladas

A imagem base do Devin (Ubuntu 22.04, x86_64) inclui estas ferramentas. Você não precisa instalá-las.
CategoriaIncluído
LinguagensNode.js (via nvm), Python 3.12 (via pyenv, com 3.9–3.11 também disponível), Rust (via rustup), Java (OpenJDK 17), Scala, Go
Gerenciadores de pacotesnpm, yarn, pnpm, pip, cargo
Controle de versãogit, gh (GitHub CLI), git-lfs
ContêineresDocker (com plugin Compose — use docker compose, não docker-compose)
Ferramentas de buildmake, build-essential (gcc, g++)
Utilitárioscurl, wget, jq, ripgrep, direnv, awscli, ffmpeg, Homebrew, OpenVPN
NavegadoresChrome (para testing no navegador)
Esta lista pode não ser exaustiva. Execute which <tool> ou <tool> --version em uma sessão do Devin para verificar. Se algo estiver faltando, instale-o na sua seção initialize.

Glossário

TermoDefinição
ConfiguraçãoUma configuração de ambiente salva (o conteúdo YAML). Cada repo/org/enterprise tem a sua própria.
Versão da configuraçãoUma revisão específica de uma configuração. Cada salvamento cria uma nova versão.
BuildO processo de executar sua configuração para criar uma imagem da máquina.
Imagem da máquinaO ambiente salvo criado por um build bem-sucedido. As sessões são inicializadas a partir da imagem bem-sucedida mais recente.
ConfiguradoUm repositório com configuração YAML explícita (initialize/maintenance/knowledge).
IncluídoUm repositório clonado na imagem da máquina, mas sem configuração personalizada.
DisponívelUm repositório acessível à org, mas não adicionado ao ambiente.
$ENVRCUm arquivo especial para definir variáveis de ambiente. Semelhante ao $GITHUB_ENV do GitHub Actions.
Sucesso parcialUm build em que a parte principal foi bem-sucedida, mas algumas configurações no nível do repositório falharam.

Próximas etapas