Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
Devin es compatible con Windows como plataforma de compilación y de sesiones. Los entornos de Windows usan el mismo shell de bash (Git Bash) que Linux, por lo que la mayoría de los comandos de plantilla funcionan en ambas plataformas sin modificaciones.
La compatibilidad con Windows está disponible actualmente de forma limitada. Si te interesa probar Windows con Devin, contáctanos para obtener más información y solicitar acceso.
La compatibilidad con Windows se basa en el mismo sistema de configuración declarativa que Linux. La principal diferencia está en el campo runs-on de tu plantilla, que le indica a Devin en qué plataforma debe compilarse y ejecutarse.
Como ambas plataformas usan bash, puedes escribir los mismos comandos de shell tanto en Linux como en Windows. Las principales diferencias están en la estructura del sistema de archivos y en los gestores de paquetes disponibles:
| Aspecto | Linux (predeterminado) | Windows |
|---|
| Directorio de inicio | /home/ubuntu | /c/Users/Administrator |
| Directorio del repositorio | ~/repos/<repo-name> | /c/Users/Administrator/repos/<repo-name> |
| Gestor de paquetes | apt-get | choco, winget o instaladores directos |
Crear plantillas para Windows
Si tu repositorio solo es compatible con Windows, usa runs-on: windows en el nivel 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 compilar el mismo repositorio tanto en Linux como en Windows, usa el formato YAML de varios bloques. Cada bloque declara su propia etiqueta 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 bloque genera una compilación de instantánea independiente para su plataforma. Las sesiones se inician a partir de la instantánea específica de la plataforma.
El campo runs-on corresponde a una configuración de máquina registrada en tu cuenta:
| Valor | Plataforma |
|---|
default o linux | Linux (plataforma predeterminada) |
windows | Windows |
Puedes especificar runs-on como una cadena o una lista:
# Plataforma única
runs-on: windows
# Múltiples plataformas en un bloque (los mismos comandos se ejecutan en cada una)
runs-on: [default, windows]
Cuando un bloque enumera múltiples plataformas, el sistema de compilación crea una instantánea por plataforma con los mismos comandos.
La sintaxis de lista ejecuta comandos idénticos en cada plataforma de la lista. Úsala solo cuando los comandos sean realmente multiplataforma (e.g., npm install, uv sync). Para comandos específicos de cada plataforma (como apt-get en Linux o choco en Windows), usa en su lugar el formato de múltiples bloques: un bloque por plataforma.
Comportamiento de la sesión en Windows
Las sesiones de Windows usan Git Bash como shell predeterminado, el mismo shell de bash que se usa en Linux. La sintaxis estándar de bash funciona en ambas plataformas:
- run: |
export MY_VAR="hello"
echo $MY_VAR
Windows usa el formato de rutas de Git Bash (/c/... en lugar de C:\...):
# Rutas de Linux
- run: cp config.json ~/.config/myapp/config.json
# Rutas de Windows (formato Git Bash)
- run: cp config.json /c/Users/Administrator/.config/myapp/config.json
Los secretos están disponibles como variables de entorno durante las sesiones y se usan con la sintaxis estándar de bash ($SECRET_NAME):
maintenance:
- name: "Configure registry"
run: |
npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
En Windows, los archivos subidos se guardan en /c/Users/Administrator/.files/ en lugar de en /home/ubuntu/.files/.
Consejos sobre plantillas para Windows
Usa choco (Chocolatey), winget o scripts de descarga directa:
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
Proyecto .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
Proyecto de 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