Resumen
.devin/blueprint.yaml. Sincronizas el archivo con Devin mediante la API o la UI, y luego activas una compilación de instantánea para aplicar los cambios.
Esto te da el mismo workflow que usas para el código de la aplicación: editar en tu IDE, abrir un pull request, obtener una revisión, hacer merge y luego sincronizar + compilar mediante un paso de CI o desde la UI.
| Enfoque | Dónde está el blueprint | Cómo lo editas | Cómo se aplican los cambios |
|---|---|---|---|
| Base de datos (predeterminado) | La UI de Settings de Devin | Editarlo en el navegador | Se guarda inmediatamente al hacer clic |
| Basado en Git | .devin/blueprint.yaml en tu repo | Editarlo en tu IDE, hacer merge de un PR | Llama a la API de sincronización (o haz clic en Sync en la UI) y luego activa una compilación |
Los blueprints basados en Git usan el mismo formato YAML que el editor de la UI. Consulta la Blueprint reference para ver la especificación completa de los campos.
Primeros pasos
1. Crear el archivo blueprint
.devin/blueprint.yaml en la raíz de tu repositorio:
2. Haz push a la rama predeterminada
.devin/blueprint.yaml a la rama predeterminada de tu repositorio (normalmente main o master).
Si el repositorio ya está conectado al Environment de Devin, debes iniciar una sincronización (mediante la API o el botón Sync de la UI) para que Devin detecte el archivo. Si estás agregando el repo por primera vez, el descubrimiento inicial lee el blueprint desde Git.
3. Verificar en la UI
Cómo funciona la sincronización
.devin/blueprint.yaml del HEAD de la rama predeterminada del repo y actualizar las versiones de blueprint almacenadas en Devin. La sincronización no se realiza automáticamente al hacer push; debes activarla explícitamente:
- Sincronización mediante la API — Llama al endpoint de sincronización de la v3 (consulta Sincronización mediante la API más abajo). Este es el enfoque recomendado para los pipelines de CI/CD.
- Sincronización en la UI — Haz clic en el botón Sync en el editor de blueprint. Esto también activa una compilación de instantánea si el contenido cambió.
- Al agregar un repo al Environment — Si
.devin/blueprint.yamlexiste en la rama predeterminada, el blueprint se obtiene automáticamente desde Git durante la detección inicial.
Sync vs. compilación
- Sync obtiene el archivo
.devin/blueprint.yamlmás reciente de Git y almacena una nueva versión del blueprint. - Build crea una nueva imagen de instantánea a partir de las versiones actuales del blueprint.
Sincronización mediante la API
.devin/blueprint.yaml. Normalmente, esto se hace desde un pipeline de CI/CD (p. ej., un paso posterior a la fusión en GitHub Actions).
Flujo de principio a fin
Paso 1: Sincroniza el blueprint
.devin/blueprint.yaml de la rama predeterminada:
repo_name acepta owner/repo para GitHub o la URL completa del proveedor para otros hosts (p. ej., https://gitlab.com/org/repo).
Paso 2: Iniciar una compilación
Paso 3: Consultar el estado de la compilación (opcional)
status pasa por los siguientes valores: running → succeeded o failed.
Sincronización a nivel Enterprise
Ejemplo: flujo de trabajo de GitHub Actions
push a la rama predeterminada que afecte al archivo blueprint:
Necesitas un usuario de servicio o un token de acceso personal con permisos de escritura en Environment. Guarda el token como
DEVIN_API_TOKEN y tu org ID como DEVIN_ORG_ID en los secretos del repositorio.Edición de blueprints basados en Git
Crear una PR desde el editor
- Abre el editor de blueprint en Settings > Environment > Blueprints
- Edita el YAML en el editor
- Haz clic en Create PR
- Devin abre una pull request en tu repositorio que actualiza
.devin/blueprint.yaml - Revisa, aprueba y haz merge de la PR
- La siguiente sincronización detecta el cambio y activa una compilación
Edita directamente en tu repositorio
- Edita
.devin/blueprint.yamlen tu IDE o en tu proveedor de Git - Confirma y haz push a la rama predeterminada (o abre una solicitud de extracción (PR) y fusiónala)
- Inicia una sincronización mediante la API o haz clic en Sync en la UI
Sugerencias de Devin
.devin/blueprint.yaml en lugar de guardarse directamente en la base de datos. Luego revisas y fusionas la PR como cualquier otro cambio de código.
Monorepos y espacios de trabajo
includes para definir blueprints independientes para cada espacio de trabajo. Cada espacio de trabajo tiene su propio archivo .devin/blueprint.yaml en su subdirectorio.
Blueprint raíz con inclusiones
.devin/blueprint.yaml raíz define qué espacios de trabajo tienen sus propios blueprints:
Blueprints de espacios de trabajo
.devin/blueprint.yaml:
Reglas de inclusión
- Cada entrada de
includeses una ruta de subdirectorio (p. ej.,packages/frontend). Devin busca.devin/blueprint.yamldentro de ese directorio. - También se puede usar la ruta completa:
packages/frontend/.devin/blueprint.yaml. - Solo el blueprint raíz puede contener
includes. No se permiten inclusiones anidadas (un blueprint incluido que, a su vez, declareincludes). - Cada ruta de espacio de trabajo solo puede aparecer una vez en
includes. - Si falta un archivo incluido en el repositorio, ese espacio de trabajo se considera eliminado y se elimina su blueprint.
Cambiar entre los modos Git y de base de datos
Cambiar a Git
- Crea
.devin/blueprint.yamlen tu repositorio con el contenido deseado - Haz push a la rama predeterminada
- En el editor de blueprint, haz clic en el menú desplegable de origen y selecciona tu proveedor de Git (por ejemplo, “GitHub”)
- Devin sincroniza el archivo desde Git y cambia al modo basado en Git
Cambiar al modo de base de datos
- En el editor de blueprint, haz clic en el menú desplegable de origen y selecciona Database
- Se conserva el contenido actual, pero los futuros pushes a
.devin/blueprint.yamlya no actualizarán el blueprint - Ahora puedes editar y guardar directamente en la interfaz de usuario
Espacios de trabajo desvinculados
Historial de versiones
- Origen:
git_syncpara las versiones creadas por sincronización,manualpara las versiones creadas en la interfaz de usuario - SHA del commit: el commit de la rama predeterminada sobre el que se ejecutó la sincronización (enlaza al commit en tu proveedor de Git)
YAML multidocumento
.devin/blueprint.yaml admite YAML multidocumento con el separador ---. Esto te permite definir configuraciones específicas de la plataforma en un solo archivo:
Solución de problemas
La plantilla no se sincroniza
- ¿Está el archivo en la ruta correcta? Debe estar en
.devin/blueprint.yamlen la raíz del repositorio (o en<espacio de trabajo>/.devin/blueprint.yamlpara los espacios de trabajo incluidos). - ¿Iniciaste una sincronización? La sincronización no ocurre automáticamente al hacer push. Llama al endpoint de la API de sincronización o haz clic en el botón Sync en la UI.
- ¿Está el repositorio en el Environment de Devin? La repo debe agregarse en Settings > Environment > Blueprints para que se ejecute la sincronización.
- ¿Está habilitado el modo basado en Git? El blueprint debe estar en modo basado en Git (no en modo de base de datos) para que la sincronización lo actualice.
Errores de YAML inválido
.devin/blueprint.yaml contiene YAML inválido o no se ajusta al esquema del blueprint, la sincronización falla. Corrige el archivo en la rama predeterminada y vuelve a sincronizar. El editor de blueprint en la UI valida el esquema y muestra los errores antes de que crees una PR, lo que ayuda a detectar problemas antes de que lleguen a la rama predeterminada.
La plantilla muestra “Database” después de hacer push
.devin/blueprint.yaml pero el editor sigue mostrando “Database” como origen, puede que el blueprint todavía no se haya cambiado al modo basado en Git. Usa el menú desplegable de origen para cambiar a tu proveedor de Git, lo que activa la sincronización inicial.
