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.
Esta es la referencia completa de los campos de los blueprints. Para obtener una introducción a los blueprints y cómo se integran en el entorno de Devin, consulta Configuración declarativa
del entorno.
Descripción general
| Sección | Propósito | ¿Se ejecuta? |
|---|---|---|
initialize | Instalar herramientas del sistema, entornos de ejecución y CLIs globales | Sí, durante cada compilación |
maintenance | Instalar y actualizar las dependencias del proyecto | Sí, durante las compilaciones. Se muestra al agente al inicio de la sesión (no se ejecuta automáticamente). |
knowledge | Indicarle a Devin cómo ejecutar lint, pruebas, compilaciones y otra información específica del proyecto | No, se proporciona como referencia |
initialize se ejecuta solo durante las compilaciones. Los resultados se guardan en la instantánea. maintenance se ejecuta durante las compilaciones (después de initialize). Al inicio de cada sesión, los comandos de maintenance no se ejecutan automáticamente; en su lugar, se muestran al agente como contexto para que sepa qué comandos de dependencias ejecutar si es necesario (p. ej., después de traer el código más reciente). Los comandos deben seguir siendo rápidos e incrementales. Las compilaciones se ejecutan automáticamente cuando cambia tu blueprint y de forma periódica (cada ~24 horas).
initialize
initialize para instalar herramientas y entornos de ejecución que no dependan del estado específico de tu código: entornos de ejecución de lenguajes, paquetes del sistema y CLI globales.
Forma sencilla
Forma estructurada
run.
Cuándo usar initialize vs. maintenance
Coloca en initialize | Coloca en maintenance |
|---|---|
| Instalación del entorno de ejecución | npm install / pip install |
Paquetes del sistema (apt-get) | bundle install |
| Herramientas de CLI globales | go mod download |
| Configuración única | Actualizaciones de la caché de dependencias |
GitHub Actions (setup-python, etc.) | Scripts de configuración específicos del repositorio |
initialize; los comandos de dependencias que siguen los archivos de bloqueo de tu código van en maintenance.
maintenance
maintenance para instalar dependencias y ejecutar otros comandos que deban ejecutarse después de clonar tu código. Estos comandos se ejecutan durante las compilaciones y se muestran al agente al inicio de la sesión para que pueda volver a ejecutarlos si las dependencias han cambiado. Aquí es donde van npm install, pip install, uv sync y comandos similares.
Para los blueprints a nivel de repositorio, los comandos
maintenance se ejecutan desde el directorio raíz del repositorio. Para los blueprints a nivel de organización, se ejecutan desde el directorio de inicio (~).knowledge
knowledge no se ejecuta. Proporciona información de referencia que Devin utiliza cuando trabaja en tu proyecto. Aquí es donde le indicas a Devin los comandos correctos para linting, pruebas, compilación y cualquier otro flujo de trabajo específico del proyecto.
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Identificador de este elemento de conocimiento (p. ej., lint, test, build) |
contents | string | Texto libre con comandos, instrucciones o notas |
name es una etiqueta. Por convención, lint, test y build son los nombres estándar. Devin los usa como referencia al verificar su trabajo. Puede agregar cualquier elemento de conocimiento adicional con nombres personalizados:
Tipos de pasos
initialize o maintenance utiliza uno de estos dos tipos: comandos de shell (run) o GitHub Actions (uses).
Comandos de shell (run)
| Campo | Tipo | Descripción |
|---|---|---|
name | string (optional) | Etiqueta descriptiva del paso |
run | string | Comando(s) de shell que se ejecutarán |
env | map (optional) | Variables de entorno adicionales para este paso |
- Los comandos se ejecutan en bash. Si algún comando de un script de varias líneas falla, todo el paso se detiene de inmediato.
- Los blueprints a nivel de organización se ejecutan en el directorio de inicio (
~). - Los blueprints a nivel de repositorio se ejecutan en la raíz del repositorio clonado.
- Cada paso tiene un tiempo de espera de 1 hora.
- Los secretos están disponibles automáticamente como variables de entorno.
GitHub Actions (uses)
| Campo | Tipo | Descripción |
|---|---|---|
name | string (optional) | Etiqueta legible para el paso |
uses | string | Referencia de GitHub Action |
with | map (optional) | Parámetros de entrada de la acción |
env | map (optional) | Variables de entorno adicionales para este paso |
github.com/ como el sufijo @<ref> son obligatorios. La ref suele ser una etiqueta de versión como v5.
Acciones de uso común:
| Acción | Propósito | Ejemplo de with |
|---|---|---|
github.com/actions/setup-python@v5 | Instalar Python | python-version: "3.12" |
github.com/actions/setup-node@v4 | Instalar Node.js | node-version: "20" |
github.com/actions/setup-go@v5 | Instalar Go | go-version: "1.22" |
github.com/actions/setup-java@v4 | Instalar Java/JDK | java-version: "21", distribution: "temurin" |
github.com/gradle/actions/setup-gradle@v4 | Instalar Gradle | (ninguno) |
github.com/ruby/setup-ruby@v1 | Instalar Ruby | ruby-version: "3.3" |
with:
Los valores que se pasan mediante with se proporcionan a la acción como entradas, siguiendo las mismas convenciones que los flujos de trabajo de GitHub Actions. Todos los valores se convierten en cadenas.
setup-python agrega el binario de Python a PATH, que sigue disponible en todos los pasos posteriores y en maintenance.
run vs uses: cuál usar
Usa run cuando… | Usa uses cuando… |
|---|---|
Instalas paquetes del sistema (apt-get) | Configuras entornos de ejecución (Python, Node, Go, Java, Ruby) |
| Ejecutas scripts específicos del proyecto | Existe una acción oficial de GitHub para lo que necesitas |
| Configuras archivos o el entorno | Quieres gestión automática de versiones y almacenamiento en caché |
| El comando es simple y autosuficiente | Usarías la misma acción en un workflow de GitHub Actions |
uses para los entornos de ejecución y run para todo lo demás.
Variables de entorno y secretos
Variables de entorno por paso
env:
Variables de entorno compartidas entre pasos ($ENVRC)
$ENVRC:
$ENVRC se exportan automáticamente y están disponibles para todos los pasos siguientes y para la sesión de Devin. Esto funciona de manera similar a $GITHUB_ENV en GitHub Actions.
Secretos
$MY_SECRET).
Los secretos se inyectan antes de ejecutar cada paso durante las compilaciones y se vuelven a inyectar al inicio de cada sesión. Se eliminan de la propia imagen de instantánea, por lo que las credenciales nunca quedan incorporadas en imágenes guardadas de la máquina.
- Secretos de la organización: Están disponibles como variables de entorno en todos los pasos de todos los blueprints de la organización. Configúralos en la pestaña Secrets del editor del blueprint de toda la organización.
- Secretos de Enterprise: Se combinan con los secretos de la organización (los secretos de la organización tienen prioridad si hay conflictos de nombre). Están disponibles en todas las organizaciones de Enterprise.
- Secretos del repositorio: Se escriben en un archivo por repo en
/run/repo_secrets/{owner/repo}/.env.secrets. Durante las compilaciones, los secretos del repo se cargan automáticamente antes de que se ejecuten los pasos del blueprint de ese repo. Durante la sesión, Devin los carga cuando trabaja en el repo. Configúralos en la pestaña Secrets del editor de blueprint del repositorio.
Secretos solo para compilación: Los secretos marcados como “solo para compilación” están disponibles durante las compilaciones de instantánea, pero se eliminan antes de que se guarde la instantánea. Úsalos para credenciales necesarias solo en tiempo de compilación (p. ej.,
para descargar artefactos privados durante
initialize).Archivos adjuntos
.npmrc, settings.xml y archivos de configuración) desde el editor de blueprints. Los archivos subidos se guardan en ~/.files/ y se configura una variable de entorno que apunta a la ruta de cada archivo:
FILE_.
Usa archivos adjuntos en los pasos de tu blueprint:
Blueprints basados en Git
Actualmente, los blueprints basados en Git no son compatibles. Esta función estará disponible próximamente. Podrás almacenar blueprints en tu repositorio y hacer que las compilaciones se activen automáticamente cuando cambien. Por ahora, configura los blueprints desde la interfaz de usuario en Settings > Environment > Blueprints.
Ejemplo completo
Para ver cómo se combinan los blueprints entre niveles (enterprise → org → repo), los estados de compilación, los estados del repositorio y qué activa una recompilación, consulta Compilaciones y
sesiones en la página de configuración declarativa.
