> ## 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.

# Migración a la configuración declarativa

> Pasa de la configuración clásica del entorno a blueprints declarativos. Devin puede encargarse de gran parte de la migración por ti.

La configuración declarativa (blueprints) es la nueva generación de la configuración de entornos: con control de versiones, combinable y con actualizaciones automáticas. Esta guía te explica cómo migrar desde el asistente interactivo clásico.

<Warning>
  La configuración clásica del entorno quedará obsoleta. Hay dos fechas que debes tener en cuenta:

  * **30 de junio de 2026:** Todas las organizaciones pasarán a la configuración declarativa (blueprints). Tu configuración clásica no se eliminará y podrás volver a ella.
  * **31 de julio de 2026:** Tu configuración clásica de la máquina seguirá disponible como referencia hasta esta fecha, para que puedas consultarla o volver a ella mientras terminas la migración. Después del 31 de julio, se eliminará.

  Migra antes del 30 de junio de 2026 para evitar interrupciones. Los clientes Enterprise que necesiten más tiempo deben ponerse en contacto con su equipo de cuenta.
</Warning>

<div id="why-migrate">
  ## ¿Por qué migrar?
</div>

Con el asistente de configuración clásico, el entorno de Devin es una instantánea configurada manualmente que puede desincronizarse con el tiempo. Las dependencias se quedan obsoletas, los cambios de configuración requieren volver a ejecutar el asistente y no hay historial de versiones. La configuración declarativa resuelve esto:

* **Actualizaciones automáticas**: los blueprints se reconstruyen cuando cambia tu repositorio, por lo que las dependencias se mantienen actualizadas
* **Con control de versiones**: la configuración de tu entorno se guarda junto con tu código, con historial completo
* **Componible**: los blueprints de Enterprise, organización y repositorio se combinan por capas de forma ordenada
* **Reproducible**: cada compilación produce el mismo resultado a partir del mismo blueprint
* **Sesiones más rápidas**: las instantáneas se precompilan con los repositorios clonados y las dependencias instaladas, por lo que las sesiones empiezan listas para trabajar

<Info>
  Tu configuración clásica seguirá funcionando hasta el 30 de junio de 2026; después, seguirá disponible para la migración hasta el 31 de julio de 2026, y podrás revertir tu organización a ella antes de esa fecha.
</Info>

<div id="before-you-start">
  ## Antes de empezar
</div>

<AccordionGroup>
  <Accordion title="Comprueba si tu organización cumple los requisitos">
    Busca un banner en la página **Machine Configuration** (la página de configuración clásica) que diga **"Cambiar a la configuración declarativa de Environment"**. Si lo ves, tu organización cumple los requisitos.

    Si no ves el banner, la configuración declarativa todavía no está habilitada para tu organización. Se está implementando gradualmente. Ponte en contacto con el administrador de tu empresa o con soporte.
  </Accordion>

  <Accordion title="Quién puede migrar">
    La migración requiere permisos de **admin de la organización** (`ManageOrgSettings`). Si no eres admin de la organización, verás el mensaje "Admin access required" en la página de migración.
  </Accordion>

  <Accordion title="¿Se puede revertir?">
    Sí, hasta el 31 de julio de 2026. Tu instantánea actual se conserva, así que puedes revertir el cambio antes de esa fecha para que tu organización vuelva a ella. Después del 30 de junio, todas las organizaciones estarán en configuración declarativa, aunque tu configuración clásica de la máquina seguirá disponible para revertir a ella hasta el 31 de julio de 2026.
  </Accordion>
</AccordionGroup>

<div id="migration-steps">
  ## Pasos de migración
</div>

<div id="1-go-to-the-migration-page">
  ### 1. Ve a la página de migración
</div>

Ve a **Settings > Environment migration** o haz clic en **Get started** en el banner que aparece en la página Machine Configuration.

<div id="2-enable-declarative-configuration">
  ### 2. Activa la configuración declarativa
</div>

Haz clic en **Habilitar para la organización**. Esto hace que tu organización use instantáneas basadas en blueprints para las sesiones nuevas.

<Info>Esto no afecta a tu instantánea actual. Se conserva por si necesitas revertir el cambio.</Info>

<div id="3-let-devin-generate-your-blueprints">
  ### 3. Deja que Devin genere tus blueprints
</div>

**Devin hace el trabajo por ti.**

Haz clic en **Iniciar migración** y selecciona los repositorios que quieras migrar primero. No tienes que migrarlo todo de una vez. Empieza con los repositorios que más uses.

Cuando inicias la migración, Devin crea **dos sesiones**:

* Una **sesión principal** que se ejecuta en el nuevo entorno declarativo y genera los blueprints
* Una **sesión auxiliar** que se ejecuta en tu instantánea actual, que Devin usa para inspeccionar lo que está instalado en este momento (versiones de lenguaje, paquetes del sistema, servicios en ejecución, etc.)

Devin examina tu instantánea actual, determina qué herramientas y dependencias están instaladas y genera la configuración de blueprint equivalente. Los resultados aparecen en tu página de **Settings > Environment > Blueprints**.

<Tip>
  Tu instantánea actual es una "caja negra" de todo lo que has ido configurando con el tiempo. Devin inspecciona esa instantánea, cataloga lo que está instalado y lo convierte automáticamente en un blueprint reproducible.
</Tip>

<div id="4-review-and-adjust">
  ### 4. Revisa y ajusta
</div>

Después de que Devin genere los blueprints:

1. Ve a **Settings > Environment > Blueprints** para revisar lo que se generó
2. Comprueba el estado de la compilación. Busca **Success**.
3. Inicia una sesión de prueba para verificar que todo funcione:
   * Confirma que los repos estén clonados y que las dependencias estén instaladas
   * Intenta ejecutar tus comandos de lint, pruebas y compilación
   * Verifica que cualquier herramienta o runtime personalizado esté disponible

Si falta algo, edita el blueprint directamente. Puedes agregar pasos de `initialize`, comandos de `maintenance` o entradas de `Knowledge`.

<div id="rolling-back">
  ## Revertir
</div>

Si algo no funciona, puedes revertir el cambio antes del 31 de julio de 2026:

1. Ve a **Settings > Environment migration**
2. Haz clic en **Revert to classic**
3. Tu organización vuelve inmediatamente a usar la instantánea anterior

Tu instantánea actual se conserva por completo. No se pierde nada. Puedes intentar la migración de nuevo cuando estés listo.

<Info>
  Después del 30 de junio de 2026, todas las organizaciones funcionarán con configuración declarativa, pero la configuración clásica de tu máquina seguirá disponible para revertir el cambio hasta el 31 de julio de 2026, cuando se eliminará. Los clientes Enterprise que necesiten más tiempo deben ponerse en contacto con su equipo de cuenta.
</Info>

<div id="mapping-classic-setup-steps-to-blueprints">
  ## Equivalencia entre los pasos de configuración clásicos y los blueprints
</div>

Si prefieres escribir tu blueprint manualmente (o quieres comprender esta equivalencia), así es como corresponden los pasos del asistente clásico:

| Paso de configuración clásico | Equivalente en blueprint                   | Notas                                                                                                   |
| ----------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------- |
| Git pull                      | *Automático*                               | Los blueprints gestionan `git clone` y `git pull` automáticamente                                       |
| Secrets                       | Pestaña Secrets en el editor de blueprints | Configura en la pestaña **Secrets** dentro de cada editor de blueprints                                 |
| Instalar dependencias         | `initialize`                               | Configuración única: entornos de ejecución, paquetes del sistema, herramientas globales                 |
| Mantenimiento de dependencias | `maintenance`                              | Comandos de dependencias expuestos al agente al inicio de la sesión: `npm install`, `pip install`, etc. |
| Lint                          | `knowledge` (`name: lint`)                 | Solo como referencia; no se ejecuta durante las compilaciones                                           |
| Test                          | `knowledge` (`name: test`)                 | Solo como referencia; no se ejecuta durante las compilaciones                                           |
| Ejecutar la app               | `knowledge` (`name: dev-server`)           | Solo como referencia; no se ejecuta durante las compilaciones                                           |
| Notas adicionales             | `knowledge`                                | Entradas libres para Devin                                                                              |

<div id="example">
  ### Ejemplo
</div>

**Configuración clásica:**

* Instalar dependencias: `nvm use 20 && npm install`
* Actualizar dependencias: `npm install`
* Lint: `npm run lint`
* Ejecutar pruebas: `npm test`
* Ejecutar la aplicación: `npm run dev`

**Blueprint equivalente:**

```yaml theme={null}
initialize: |
  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  source ~/.bashrc
  nvm install 20

maintenance: |
  npm install

knowledge:
  - name: lint
    contents: npm run lint
  - name: test
    contents: npm test
  - name: dev-server
    contents: npm run dev
```

<div id="troubleshooting">
  ## Solución de problemas
</div>

<AccordionGroup>
  <Accordion title="La compilación falló">
    Consulta los logs de compilación para identificar el error específico. Causas comunes:

    * Un comando que funcionaba en el terminal de configuración clásica no funciona en el contexto de compilación (p. ej., prompts interactivos que requieren flags `-y`)
    * Faltan secrets (asegúrate de que estén configurados en la pestaña **Secrets** del editor de blueprints)
    * Compara los comandos de tu blueprint con los comandos originales para detectar diferencias
  </Accordion>

  <Accordion title="Faltan dependencias en las sesiones">
    Asegúrate de que la sección `maintenance` incluya los mismos comandos de instalación de dependencias que el paso clásico **mantenimiento de dependencias**. Comandos como `npm install` o `pip install -r requirements.txt`
    deben ir en `maintenance`, no en `initialize`.
  </Accordion>

  <Accordion title="Devin no sabe cómo ejecutar lint ni pruebas">
    Verifica que la sección `knowledge` tenga elementos llamados `lint` y `test` con los comandos correctos. Devin busca estos nombres al verificar su trabajo.
  </Accordion>

  <Accordion title="Los cambios personalizados del perfil de shell no se aplican">
    Si tu configuración clásica modificaba `~/.bashrc`, `~/.profile` u otro archivo de configuración del shell, mueve esos cambios a `initialize`:

    ```yaml theme={null}
    initialize: |
      echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
      echo 'export NODE_ENV=development' >> ~/.bashrc
    ```
  </Accordion>

  <Accordion title="Git pull no funciona">
    Los blueprints gestionan `git clone` automáticamente durante las compilaciones. Si los repos no se están clonando, verifica que estén agregados en la página **Settings > Environment > Blueprints** y que Devin tenga acceso a través de tu integración con Git.
  </Accordion>
</AccordionGroup>

<div id="related-pages">
  ## Páginas relacionadas
</div>

* [Configuración declarativa de Environment](/es/onboard-devin/environment/blueprints)
* [Referencia del blueprint](/es/onboard-devin/environment/blueprint-reference)
* [Biblioteca de plantillas](/es/onboard-devin/environment/templates)
