Skip to main content

Acerca de la CLI de GitHub Copilot

Obtén información sobre el uso de Copilot desde la línea de comandos.

¿Quién puede utilizar esta característica?

CLI de GitHub Copilot está disponible con todos los planes Copilot. Si recibes Copilot de una organización, la directiva de CLI de Copilot debe estar habilitada en la configuración de la organización.

Introducción

La interfaz de la línea de comandos (CLI) para GitHub Copilot te permite usar Copilot directamente desde el terminal. Puedes usarlo para responder preguntas, escribir y depurar código e interactuar con GitHub.com. Por ejemplo, puedes pedir a Copilot que realice algunos cambios en un proyecto y cree una solicitud de incorporación de cambios.

CLI de GitHub Copilot proporciona acceso rápido a un eficaz agente de inteligencia artificial, sin tener que salir del terminal. Puede ayudarte a completar tareas más rápidamente trabajando en tu nombre y puedes trabajar de forma iterativa con CLI de GitHub Copilot para compilar el código que necesitas.

Sistemas operativos compatibles

Para conocer las instrucciones de instalación, consulta Instalación de la CLI de GitHub Copilot.

Modos de uso

CLI de GitHub Copilot tiene dos interfaces de usuario: interactiva y programática.

Interfaz interactiva

Para iniciar una sesión interactiva, escriba copilot. Dentro de una sesión interactiva, puede tener una conversación con Copilot. Puede solicitar a Copilot que realice una o varias tareas, y puede proporcionar retroalimentación para dirigir el trabajo.

Captura de pantalla del mensaje de bienvenida en la interfaz interactiva de Copilot.

La interfaz interactiva tiene dos modos. Además del modo predeterminado ask/execute, también hay un modo de plan en el que Copilot creará un plan de implementación estructurado para una tarea que desea completar.

Presione Mayús+Tab para alternar entre los modos. En el modo de plan, Copilot analiza la solicitud, formula preguntas aclarantes para comprender el ámbito y los requisitos y crea un plan antes de escribir cualquier código. Esto le ayuda a detectar malentendidos antes de escribir cualquier código y mantener el control de tareas complejas y de varios pasos.

Interfaz de programación

También puede pasar a la CLI una única solicitud directamente en la línea de comandos. La CLI completa la tarea y, a continuación, se cierra.

Para usar la CLI mediante programación, incluya la -p opción de línea de comandos o --prompt en el comando. Para permitir que Copilot modifique y ejecute archivos, también debe usar una de las opciones de aprobación que se describen más adelante en este artículo; vea Permitir que las herramientas se usen sin aprobación manual ). Por ejemplo:

Bash
copilot -p "Show me this week's commits and summarize them" --allow-tool 'shell(git)'

Como alternativa, puedes usar un script para generar opciones de línea de comandos y canalizar esto a copilot. Por ejemplo:

Bash
./script-outputting-options.sh | copilot

Precaución

Si usas una opción de aprobación automática como --allow-all-tools, Copilot tiene el mismo acceso que a los archivos del equipo y puede ejecutar cualquier comando de shell que puedas ejecutar, sin obtener la aprobación previa. Consulta Consideraciones de seguridad, más adelante en este artículo.

Casos de uso de CLI de GitHub Copilot

En las secciones siguientes se proporcionan ejemplos de tareas que puedes completar con CLI de GitHub Copilot.

Tareas locales

  • Desde dentro de un directorio de proyecto, puedes pedir a Copilot que realice un cambio en el código del proyecto. Por ejemplo:

    Change the background-color of H1 headings to dark blue

    Copilot busca el archivo CSS donde se definen los encabezados H1 y cambia el valor de color.

  • Pide a Copilot que te informe sobre los cambios realizados en un archivo:

    Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made

  • Usa Copilot para ayudarte a mejorar el código o la documentación del proyecto.

    • Suggest improvements to content.js

    • Rewrite the readme in this project to make it more accessible to newcomers

  • Usa Copilot para ayudarte a realizar operaciones de Git.

    • Commit the changes to this repo

    • Revert the last commit, leaving the changes unstaged

  • Pide a Copilot que cree una aplicación desde cero, por ejemplo, como prueba de concepto.

    Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser.

  • Pide a Copilot que explique por qué un cambio realizado no funciona según lo esperado o indica a Copilot que corrija un problema con el último cambio que realizó. Por ejemplo:

    You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"

Tareas que implican GitHub.com

  • Captura y muestra detalles sobre tu trabajo de GitHub.com.

    • List my open PRs

      Se muestran sus solicitudes de incorporación de cambios abiertas de cualquier repositorio en GitHub. Para obtener resultados más específicos, incluye el nombre del repositorio en la indicación:

    • List all open issues assigned to me in OWNER/REPO

  • Pide a Copilot que trabaje en una propuesta:

    I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch.

  • Pide a Copilot que realice cambios en los archivos y genere una solicitud de incorporación de cambios en GitHub.com.

    • In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub.

    • Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"

    Copilot crea una solicitud de incorporación de cambios en GitHub.com, en su nombre. Estás marcado como autor de la solicitud de incorporación de cambios.

  • Pide a Copilot que cree una propuesta para ti en GitHub.com.

    Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it.

  • Pide a Copilot que compruebe los cambios de código en una solicitud de incorporación de cambios.

    Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.

    Copilot responde en la CLI con un resumen de los problemas que encuentra.

  • Administrar solicitudes de incorporación de cambios de CLI de GitHub Copilot.

    • Merge all of the open PRs that I've created in octo-org/octo-repo

    • Close PR #11 on octo-org/octo-repo

  • Buscar tipos específicos de propuestas.

    Use the GitHub MCP server to find good first issues for a new team member to work on from octo-org/octo-repo

    Nota:

    Si sabes que un servidor MCP específico puede lograr una tarea determinada, especificarla en la indicación puede ayudar a Copilot a proporcionar los resultados que desees.

  • Buscar flujos de trabajo específicos de GitHub Actions.

    List any Actions workflows in this repo that add comments to PRs

  • Crear un flujo de trabajo de GitHub Actions.

    Branch off from main and create a GitHub Actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.

Dirección de la conversación

Puede interactuar con Copilot mientras procesa la información para dirigir la conversación.

  •         **Poner en cola mensajes adicionales**: envíe mensajes de seguimiento para dirigir la conversación en una dirección diferente, o ponga en cola instrucciones adicionales para que Copilot las procese una vez finalizada su respuesta actual. Esto hace que las conversaciones se sientan más naturales y te mantienen en control.
    
  •         **Comentarios inmediatos sobre el rechazo**: al rechazar una solicitud de permiso de herramienta, puede proporcionar a Copilot comentarios inmediatos sobre el rechazo para que pueda adaptar su enfoque sin detenerse por completo. Esto hace que la conversación fluya de forma más natural cuando quiera guiar a Copilot lejos de ciertas acciones.
    

Administración automática de contextos

CLI de GitHub Copilot administra automáticamente el contexto de la conversación:

  •         **Compactación automática**: Cuando la conversación se aproxima al 95% del límite de tokens, Copilot comprime automáticamente el historial en segundo plano sin interrumpir el flujo de trabajo. Esto permite sesiones prácticamente infinitas.
    
  •         **Control manual**: use `/compact` para comprimir manualmente el contexto en cualquier momento. Presione <kbd>Escape</kbd> para cancelar si cambia de opinión.
    
  •         **Visualización del uso**: el `/context` comando muestra un desglose detallado del uso de tokens para que pueda comprender cómo se usa la ventana de contexto.
    

Personalización de CLI de GitHub Copilot

Puede personalizar CLI de GitHub Copilot de varias maneras:

  •         **Instrucciones personalizadas: las instrucciones personalizadas** permiten proporcionar Copilot contexto adicional en el proyecto y cómo compilar, probar y validar sus cambios. Todos los archivos de instrucciones personalizados ahora se combinan en lugar de usar alternativas basadas en prioridad. Para más información, consulta [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).
    
  •         **Servidores del Protocolo de Contexto de Modelo (MCP)**: los servidores MCP permiten proporcionar a Copilot acceso a diferentes fuentes de datos y herramientas. Para más información, consulta [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server).
    
  •         **Agentes personalizados**: Agentes personalizados le permiten crear distintas versiones especializadas de Copilot para tareas específicas. Por ejemplo, podría personalizar Copilot para ser un ingeniero de front-end especializado siguiendo las directrices de su equipo. CLI de GitHub Copilot incluye agentes personalizados a los que delega automáticamente tareas comunes. Para más información, consulta [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents).
    
  •         **Enlaces**: los enlaces permiten ejecutar comandos de shell personalizados en puntos clave durante la ejecución del agente, lo que le permite agregar validación, registro, examen de seguridad o automatización del flujo de trabajo. Consulta [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-hooks).
    
  •         **Aptitudes: las aptitudes** permiten mejorar la capacidad de Copilot para realizar tareas especializadas con instrucciones, scripts y recursos. Para más información, consulta [AUTOTITLE](/copilot/concepts/agents/about-agent-skills).
    
  •         **Memoria de Copilot**: Memoria de Copilot permite a Copilot construir una comprensión persistente de su repositorio almacenando "memorias", que son piezas de información sobre convenciones de codificación, patrones y preferencias que Copilot deduce a medida que trabaja. Esto reduce la necesidad de explicar repetidamente el contexto en las indicaciones y hace que las sesiones futuras sea más productiva. Para más información, consulta [AUTOTITLE](/copilot/concepts/agents/copilot-memory).
    

Consideraciones de seguridad

Cuando se usa CLI de Copilot, Copilot puede realizar tareas en tu nombre, como ejecutar o modificar archivos, o ejecutar comandos de shell.

Por lo tanto, siempre debes tener en cuenta las consideraciones de seguridad al usar CLI de Copilot, igual que lo harías al trabajar directamente con archivos tú mismo o al ejecutar comandos directamente en el terminal. Siempre debes revisar cuidadosamente los comandos sugeridos cuando CLI de Copilot solicite tu aprobación.

Directorios de confianza

Los directorios de confianza controlan dónde CLI de Copilot puede leer, modificar y ejecutar archivos.

Solo debes iniciar CLI de Copilot desde directorios en los que confíes. No debes usar CLI de Copilot en directorios que puedan contener archivos ejecutables en los que no puedas estar seguro de que confías. Del mismo modo, si inicias la CLI desde un directorio que contiene datos confidenciales, o archivos que no deseas cambiar, podrías exponer esos archivos a un riesgo involuntariamente. Normalmente, no debes iniciar CLI de Copilot desde el directorio principal.

El ámbito de los permisos es heurístico y GitHub no garantiza que se protegerán todos los archivos fuera de los directorios de confianza. Consulte Mitigación de riesgos.

Al iniciar una sesión de CLI de GitHub Copilot, se te pedirá que confirmes que confías en los archivos y, a continuación, en el directorio desde el que iniciaste la CLI. Consulta Configuración de la CLI de GitHub Copilot.

Herramientas permitidas

La primera vez que Copilot necesita usar una herramienta que se pueda usar para modificar o ejecutar un archivo (Por ejemplo, touch, chmod, node, o sed), se te preguntará si deseas permitir que use esa herramienta.

Normalmente, puedes elegir entre tres opciones:

1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
          **La opción 1** permite a Copilot ejecutar este comando concreto, solo esta vez. La próxima vez que necesites usar esta herramienta, se te volverá a preguntar.

          **La opción 2** permite que Copilot use esta herramienta de nuevo, sin pedir permiso, mientras dure la sesión en ejecución. Volverá a solicitar tu aprobación en nuevas sesiones o si reanudas la sesión actual en el futuro. Si eliges esta opción, permites que Copilot use esta herramienta de la manera que considere adecuada. Por ejemplo, si Copilot te pide que le permitas ejecutar el comando `rm ./this-file.txt` y eliges la opción 2, Copilot puede ejecutar cualquier comando `rm` (por ejemplo, `rm -rf ./*`) durante la ejecución actual de esta sesión, sin pedir tu aprobación.

          **La opción 3** cancela el comando propuesto y le permite indicar a Copilot que pruebe un enfoque diferente.

Permitir el uso de herramientas sin aprobación manual

Hay tres opciones de línea de comandos que puede usar, en sesiones interactivas o mediante programación, para determinar las herramientas que Copilot pueden usar sin pedir su aprobación:

  • --allow-all-tools

    Permite que Copilot use cualquier herramienta sin solicitar tu aprobación.

    Por ejemplo, puede usar esta opción con una invocación programática de la CLI para que Copilot pueda ejecutar cualquier comando. Por ejemplo:

    copilot -p "Revert the last commit" --allow-all-tools
    
  • --deny-tool

    Impide que Copilot use una herramienta específica.

    Esta opción tiene prioridad sobre las opciones --allow-all-tools y --allow-tool.

  • --allow-tool

    Permite que Copilot use una herramienta específica sin solicitar tu aprobación.

Uso de las opciones de aprobación

Las opciones --deny-tool y --allow-tool requieren uno de los siguientes argumentos:

  • 'shell(COMMAND)'

    Por ejemplo, copilot --deny-tool 'shell(rm)' impide que Copilot use cualquier comando de rm.

    Para los comandos git y gh, puedes especificar un subcomando de primer nivel determinado para permitir o denegar. Por ejemplo:

    copilot --deny-tool 'shell(git push)'
    

    La especificación de la herramienta es opcional. Por ejemplo, copilot --allow-tool 'shell' permite que Copilot use cualquier comando de shell sin aprobación individual.

  • 'write'

    Este argumento permite o deniega el permiso de herramientas (que no sean comandos de shell) para modificar archivos.

    Por ejemplo, copilot --allow-tool 'write' permite que Copilot edite archivos sin tu aprobación individual.

  • 'MCP_SERVER_NAME'

    Este argumento permite o deniega herramientas del servidor MCP especificado, donde MCP_SERVER_NAME es el nombre de un servidor MCP que has configurado. Las herramientas del servidor se especifican entre paréntesis, con el nombre de la herramienta registrada con el servidor MCP. El uso del nombre del servidor sin especificar una herramienta permite o deniega todas las herramientas de ese servidor.

    Por ejemplo, copilot --deny-tool 'My-MCP-Server(tool_name)' impide que Copilot use la herramienta llamada tool_name desde el servidor MCP llamado My-MCP-Server.

    Puede encontrar el nombre de un servidor MCP escribiendo /mcp en la interfaz interactiva de la CLI y seleccionando el servidor en la lista que se muestra.

Combinación de opciones de aprobación

Puedes usar una combinación de opciones de aprobación para determinar exactamente qué herramientas puede usar Copilot sin pedir tu aprobación.

Por ejemplo, para evitar que Copilot use los comandos rm y git push, pero permitir automáticamente el resto de herramientas, usa:

copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'

Para evitar que Copilot use la herramienta tool_name del servidor MCP denominado My-MCP-Server, pero permitir que todas las demás herramientas de ese servidor se usen sin aprobación individual, usa:

copilot --allow-tool 'My-MCP-Server' --deny-tool 'My-MCP-Server(tool_name)'

Implicaciones de seguridad de la aprobación automática de herramientas

Es importante tener en cuenta las implicaciones de seguridad del uso de las opciones de línea de comandos de aprobación. Estas opciones permiten a Copilot ejecutar los comandos necesarios para completar la solicitud, sin tener la oportunidad de revisar y aprobar esos comandos antes de que se ejecuten. Aunque esto simplifica los flujos de trabajo y permite el funcionamiento sin supervisión de la CLI, aumenta el riesgo de que se realicen acciones no deseadas que puedan provocar la pérdida de datos o daños, u otros problemas de seguridad.

Puede controlar qué herramientas puede usar la CLI de Copilot respondiendo a las solicitudes de aprobación cuando Copilot intenta usar una herramienta, especificando permisos con marcas de línea de comandos o (en una sesión interactiva) mediante comandos de barra diagonal (como /allow-all y /yolo). Consulta Configuración de la CLI de GitHub Copilot.

Mitigación de riesgos

Puede mitigar los riesgos asociados al uso de las opciones de aprobación automática mediante la ejecución de CLI de Copilot en un entorno restringido, como una máquina virtual, un contenedor o un sistema dedicado, con permisos estrechamente controlados y acceso a la red. Esto reduce los posibles daños que podrían producirse al permitir que Copilot ejecute comandos que no hayas revisado ni comprobado.

Limitaciones conocidas de la directiva de servidor MCP

Actualmente, CLI de Copilot no puede admitir las siguientes directivas de servidor MCP a nivel de organización:

  •         **Servidores MCP de Copilot**, que controla si los servidores MCP pueden utilizarse con Copilot.
    
  •         **URL del Registro de MCP**, que controla qué registro de MCP Copilot permitirá usar a los servidores MCP.
    

Para obtener más información sobre estas directivas, consulte Uso del servidor MCP en su empresa.

Uso del modelo

El modelo predeterminado usado por CLI de GitHub Copilot es Claude Sonnet 4.5. GitHub se reserva el derecho de cambiar este modelo.

Puede cambiar el modelo usado por CLI de GitHub Copilot mediante el comando de barra /model o la opción de la línea de comandos --model. Escriba este comando y, a continuación, seleccione un modelo de la lista.

Cada vez que envíe una solicitud a Copilot en la interfaz interactiva de CLI de Copilot, y cada vez que use CLI de Copilot en modo programático, la cuota mensual de solicitudes premium de Copilot se reduce en uno y se multiplica por el multiplicador que se muestra entre paréntesis en la lista de modelos. Por ejemplo, Claude Sonnet 4.5 (1x) indica que con este modelo, cada vez que envía un mensaje de inicio, su cuota de solicitudes premium se reduce en uno. Para obtener información sobre las solicitudes Premium, consulta Solicitudes en GitHub Copilot.

Usar CLI de Copilot a través de ACP

ACP (el protocolo de cliente del agente) es un estándar abierto para interactuar con los agentes de IA. Permite usar CLI de Copilot como agente en cualquier herramienta de terceros, IDE o sistema de automatización que admita este protocolo.

Para más información, consulta Servidor ACP de la CLI de Copilot.

Comentarios

Si tienes algún comentario sobre los datos de CLI de GitHub Copilot, háznoslo saber mediante el comando de barra diagonal /feedback en una sesión interactiva y eligiendo una de las opciones. Puedes completar una encuesta privada de comentarios, enviar un informe de errores o sugerir una nueva característica.

Lectura adicional

  •         [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli)
    
  •         [AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/copilot-cli)