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.
O Devin oferece suporte ao Windows como plataforma de build e sessão. Os ambientes do Windows usam o mesmo shell bash (Git Bash) do Linux, então a maioria dos comandos de blueprint funciona nas duas plataformas sem necessidade de modificação.
No momento, o suporte ao Windows está disponível de forma limitada. Se você tiver interesse em usar o Windows com Devin, entre em contato conosco para saber mais e obter acesso.
O suporte ao Windows é baseado no mesmo sistema de configuração declarativa do Linux. A principal diferença é o campo runs-on no seu blueprint, que informa ao Devin em qual plataforma fazer build e executar.
Como ambas as plataformas usam bash, você pode escrever os mesmos comandos de shell no Linux e no Windows. As principais diferenças estão na estrutura do sistema de arquivos e nos gerenciadores de pacotes disponíveis:
| Aspecto | Linux (padrão) | Windows |
|---|
| Diretório home | /home/ubuntu | /c/Users/Administrator |
| Diretório do repositório | ~/repos/<repo-name> | /c/Users/Administrator/repos/<repo-name> |
| Gerenciador de pacotes | apt-get | choco, winget ou instaladores diretos |
Como escrever blueprints para Windows
Se o seu repositório for compatível apenas com Windows, use runs-on: windows no nível superior:
runs-on: windows
initialize:
- name: "Install Node.js"
uses: github.com/actions/setup-node@v4
with:
node-version: "20"
- name: "Install build tools"
run: |
choco install visualstudio2022buildtools -y
choco install python --version=3.12 -y
maintenance: |
npm install
knowledge:
- name: lint
contents: npm run lint
- name: test
contents: npm test
- name: build
contents: npm run build
Para fazer o build do mesmo repositório tanto em Linux quanto em Windows, use o formato YAML de múltiplos blocos. Cada bloco declara seu próprio rótulo runs-on:
- runs-on: default
initialize: |
curl -LsSf https://astral.sh/uv/install.sh | sh
apt-get update && apt-get install -y build-essential
maintenance: |
uv sync
knowledge:
- name: test
contents: uv run pytest
- runs-on: windows
initialize: |
choco install python --version=3.12 -y
maintenance: |
uv sync
knowledge:
- name: test
contents: uv run pytest
Cada bloco gera um build do snapshot separado para sua plataforma. As sessões são inicializadas a partir do snapshot específico da plataforma.
O campo runs-on corresponde a uma configuração de máquina registrada na sua conta:
| Valor | Plataforma |
|---|
default ou linux | Linux (plataforma padrão) |
windows | Windows |
Você pode especificar runs-on como uma string ou uma lista:
# Plataforma única
runs-on: windows
# Múltiplas plataformas em um bloco (os mesmos comandos são executados em cada uma)
runs-on: [default, windows]
Quando um bloco lista várias plataformas, o sistema de build cria um snapshot por plataforma usando os mesmos comandos.
A sintaxe de lista executa comandos idênticos em todas as plataformas da lista. Use-a apenas quando os comandos forem realmente compatíveis com várias plataformas (e.g., npm install, uv sync). Para comandos específicos de cada plataforma (como apt-get no Linux ou choco no Windows), use o formato com vários blocos — um bloco por plataforma.
Comportamento da sessão no Windows
Nas sessões do Windows, o Git Bash é usado como shell padrão — o mesmo bash usado no Linux. A sintaxe padrão do bash funciona em ambas as plataformas:
- run: |
export MY_VAR="hello"
echo $MY_VAR
O Windows usa o formato de caminho do Git Bash (/c/... em vez de C:\...):
# Caminhos Linux
- run: cp config.json ~/.config/myapp/config.json
# Caminhos Windows (formato Git Bash)
- run: cp config.json /c/Users/Administrator/.config/myapp/config.json
Os segredos ficam disponíveis como variáveis de ambiente durante as sessões, usando a sintaxe padrão do bash ($SECRET_NAME):
maintenance:
- name: "Configure registry"
run: |
npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
No Windows, os arquivos importados são gravados em /c/Users/Administrator/.files/ em vez de /home/ubuntu/.files/.
Dicas de Blueprint para Windows
Use choco (Chocolatey), winget ou scripts de download direto:
initialize:
- name: "Install Chocolatey packages"
run: |
choco install git -y
choco install nodejs-lts -y
choco install python --version=3.12 -y
- name: "Install with winget"
run: |
winget install --id Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
Projeto .NET:
runs-on: windows
initialize:
- name: "Install .NET SDK"
run: |
winget install --id Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
maintenance: |
dotnet restore
knowledge:
- name: build
contents: dotnet build
- name: test
contents: dotnet test
- name: lint
contents: dotnet format --verify-no-changes
Projeto Visual Studio / C++:
runs-on: windows
initialize:
- name: "Install Visual Studio Build Tools"
run: |
choco install visualstudio2022buildtools -y
choco install visualstudio2022-workload-vctools -y
maintenance: |
msbuild /t:Restore MySolution.sln
knowledge:
- name: build
contents: msbuild MySolution.sln /p:Configuration=Release
- name: test
contents: vstest.console.exe bin/Release/Tests.dll