{"meta":{"title":"Configuración del repositorio para el aplicación Copilot de GitHub","intro":"Defina instrucciones, scripts y comportamiento de automatización específicos del repositorio para .GitHub Copilot app","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/reference","title":"Referencia"},{"href":"/es/copilot/reference/github-copilot-app-reference","title":"Referencia GitHub Copilot app"},{"href":"/es/copilot/reference/github-copilot-app-reference/repository-configuration","title":"Configuración del repositorio"}],"documentType":"article"},"body":"# Configuración del repositorio para el aplicación Copilot de GitHub\n\nDefina instrucciones, scripts y comportamiento de automatización específicos del repositorio para .GitHub Copilot app\n\nUse `.github/github-app.yml` en el repositorio para definir cómo GitHub Copilot app debe comportarse para ese proyecto.\n\nTambién puede editar esta configuración del proyecto en la interfaz de usuario de la aplicación. Si `.github/github-app.yml` ya existe, los cambios de la interfaz de usuario se vuelven a escribir en ese archivo. Si aún no existe, puede crearlo a partir de la configuración actual del proyecto en la aplicación.\n\n## Acerca de la ubicación del archivo de configuración\n\nCree el archivo en:\n\n```text copy\n.github/github-app.yml\n```\n\nLa aplicación también admite el nombre de archivo `.github/copilot-desktop.yml` heredado para la compatibilidad con versiones anteriores.\n\nPara conocer los pasos de personalización basados en la interfaz de usuario, consulte [Personalización del aplicación Copilot de GitHub](/es/copilot/how-tos/github-copilot-app/customize-github-copilot-app).\n\n## Revisar y confiar en la configuración\n\nCuando la aplicación detecta una configuración del repositorio, no aplica instrucciones de repositorio, scripts u otras opciones del archivo hasta que revise y acepte la configuración. Esto le protege de ejecutar comandos o aplicar la configuración agregada por otro colaborador. Las configuraciones que cree o actualice a través de la interfaz de usuario de la aplicación son de confianza automáticamente.\n\n> \\[!WARNING]\n> Antes de aceptar una configuración de repositorio, revise todos los comandos configurados y las dependencias que ejecuta. Los scripts y sus procesos secundarios reciben las GitHub credenciales descritas más adelante en este artículo, por lo que nunca se configuran para registrar o conservar estas variables de entorno.\n\nSi el archivo cambia fuera de la aplicación, incluidos los cambios en espacios en blanco o comentarios, debe revisar y aceptar la configuración actualizada antes de que la aplicación la aplique. Hasta que acepte la versión actual, la aplicación sigue usando la configuración del proyecto que se configuró anteriormente en la aplicación.\n\n## Ejemplo de configuración\n\n```yaml copy\ninstructions: |\n  Use bun instead of npm.\n\nscripts:\n  - name: Setup\n    command: bun install\n    triggers:\n      - session.create\n  - name: Run\n    command: bun run dev\n  - name: Archive cleanup\n    command: rm -rf node_modules\n    triggers:\n      - session.archive\n\nserver_ready_pattern: '(?i)Local:\\s+(https?://\\S+)'\nauto_open_in_browser: true\n\nautomation:\n  auto_issue_session: true\n  remote_control: false\n```\n\n## Configuración de instrucciones y scripts\n\n### `instructions`\n\nUse `instructions` para agregar instrucciones específicas del repositorio al sistema para solicitar sesiones en el proyecto. Si también configura instrucciones globales en la aplicación, primero se aplican las instrucciones globales, seguidas de las instrucciones del proyecto.\n\n### `scripts`\n\nUse `scripts` para definir comandos que aparecen en la aplicación y que se pueden ejecutar manualmente o en desencadenadores específicos.\n\nCada elemento de script admite:\n\n* `name` (`string`): nombre para mostrar en la interfaz de usuario.\n* `command` (`string`): comando que se va a ejecutar.\n* `triggers` (`string[]`, opcional): eventos que ejecutan automáticamente el script.\n\nLos scripts sin `triggers` son manuales.\n\n### Valores de desencadenador\n\nUse valores de desencadenador canónicos en el archivo:\n\n* `session.create`\n* `session.archive`\n\nLa aplicación también acepta estos alias heredados al analizar los archivos existentes:\n\n* `workspace.create` (alias para `session.create`)\n* `workspace.archive` (alias para `session.archive`)\n\nCuando se ejecuta un script desencadenado, `COPILOT_SCRIPT_TRIGGER` se establece en el valor canónico:\n\n* `session.create`\n* `session.archive`\n\n## Configuración de la detección de servidores y el comportamiento del explorador\n\n### `server_ready_pattern`\n\n`server_ready_pattern` es una expresión regular que se usa para detectar cuándo un script de ejecución ha iniciado un servidor.\n\nLos patrones usan la sintaxis admitida por la caja de `regex` Rust. Para obtener más información sobre la [sintaxis, consulte Sintaxis](https://docs.rs/regex/1/regex/#syntax) en la documentación de crate. Si el patrón no es válido, la aplicación usa su patrón de detección de servidor predeterminado.\n\nUse un primer grupo de captura para la dirección URL o el puerto detectados. La aplicación lee el grupo `1`de captura :\n\n* Si la captura es una dirección URL (`http://...` o `https://...`), se usa la dirección URL.\n* Si la captura es solo un número de puerto (por ejemplo `3000`), la aplicación la convierte en `http://localhost:3000`.\n\n### `auto_open_in_browser`\n\nSi `auto_open_in_browser` es `true`, la aplicación abre la dirección URL de ejecución detectada en el explorador integrado. Si se omite este campo, el valor predeterminado efectivo es `true`.\n\n## Configuración del comportamiento de automatización\n\nEstablezca las opciones de automatización en `automation`:\n\n* `automation.auto_issue_session` (`boolean`) controla si la aplicación inicia automáticamente una sesión con contexto de problema. Si se omite, el valor predeterminado efectivo es `true`.\n* `automation.remote_control` (`boolean`) controla si se puede acceder a las sesiones desde la GitHub interfaz web o GitHub Mobile. Si se omite, el valor predeterminado efectivo es `false`.\n\nSi el Copilot puesto procede de una organización, la directiva \"Almacenar sesiones locales en la nube\" aplicables debe establecerse en \"Ver y controlar\" para que el control remoto esté disponible. La configuración administrada por la `remoteControl` empresa puede restringir aún más el control remoto incluso cuando `automation.remote_control` es `true`. Para obtener más información, vea [Acerca del control remoto de sesiones GitHub Copilot CLI](/es/copilot/concepts/agents/copilot-cli/about-remote-control) y [Configuración administrada por la empresa](/es/copilot/reference/enterprise-administrators/enterprise-managed-settings).\n\n## Variables de entorno en tiempo de ejecución para scripts\n\nLos scripts se ejecutan con estas variables de entorno proporcionadas por la aplicación:\n\n| Variable                 | Description                                                                                                   |\n| ------------------------ | ------------------------------------------------------------------------------------------------------------- |\n| `COPILOT_WORKSPACE_NAME` | Nombre del área de trabajo actual.                                                                            |\n| `COPILOT_WORKSPACE_PATH` | Ruta de acceso absoluta al área de trabajo.                                                                   |\n| `COPILOT_ROOT_PATH`      | Ruta de acceso absoluta a la desprotección raíz del proyecto.                                                 |\n| `COPILOT_DEFAULT_BRANCH` | Project rama predeterminada.                                                                                  |\n| `COPILOT_PORT`           | Puerto webSocket de la aplicación para el contexto del área de trabajo actual.                                |\n| `COPILOT_SCRIPT_TRIGGER` | Desencadenador que inició el script (solo se establece para scripts desencadenados).                          |\n| `GH_TOKEN`               | Token de la cuenta seleccionada GitHub .                                                                      |\n| `GH_HOST`                | Host para la cuenta seleccionada GitHub .                                                                     |\n| `COPILOT_GH_ACCOUNT_*`   | Tokens específicos de host y cuenta para cada cuenta que ha iniciado sesión, incluida la cuenta seleccionada. |\n\nPara cada `COPILOT_GH_ACCOUNT_*` variable, la aplicación reduce en minúsculas el host y el inicio de sesión, deja sin cambios las letras ASCII y los dígitos, y reemplaza cada otro byte UTF-8 por su valor hexadecimal en mayúsculas rodeado de caracteres de subrayado. El nombre de la variable usa el formato `COPILOT_GH_ACCOUNT_<HOST>_<LOGIN>`. Por ejemplo, el token de `alice` en `github.com` es `COPILOT_GH_ACCOUNT_github_2E_com_alice`y el token de `user` en `ghe-example.com` es `COPILOT_GH_ACCOUNT_ghe_2D_example_2E_com_user`.\n\n## Compatibilidad heredada\n\nPor motivos de compatibilidad con versiones anteriores, la aplicación todavía puede analizar la forma anterior basada en `scripts` objetos:\n\n```yaml copy\nscripts:\n  setup: bun install\n  run: bun run dev\n  archive: rm -rf node_modules\n```\n\nEn esta forma heredada:\n\n* `setup` se asigna a un script con el desencadenador create.\n* `archive` se asigna a un script con el desencadenador de archivo.\n* `run` se asigna a entradas de script manuales y puede ser una cadena de comando única o una lista de `{ name, command }` objetos."}