GitHub Copilot para la línea de comandos

Completado

GitHub Copilot no es solo para entornos de desarrollo integrados (IDE), ahora es un asistente eficaz en el terminal. La CLI de Copilot de GitHub lleva a Copilot directamente a la línea de comandos, donde puede explicar comandos, sugerir comandos de shell desde lenguaje natural y ayudarle a trabajar de forma segura e interactiva con los archivos y proyectos.

La CLI de Copilot usa la autenticación de GitHub y se ejecuta independientemente de la CLI de GitHub, aunque usa las credenciales existentes. Tanto si no está familiarizado con la línea de comandos como si es un desarrollador experimentado, la CLI de Copilot reduce las estimaciones y acelera los flujos de trabajo diarios.

En esta unidad se describe lo siguiente:

  • Instalación y ejecución de la CLI de GitHub Copilot
  • Sesiones interactivas en el terminal
  • Comandos de barra diagonal y entrada de lenguaje natural
  • Configuración y opciones

Instalación e inicio de la CLI de Copilot

Instale a través de Homebrew en macOS y Linux:

brew install copilot-cli

O bien, use el script de instalación oficial:

curl -fsSL https://gh.io/copilot-install | bash

Inicie la CLI de Copilot en modo interactivo:

copilot

Muestra un banner de bienvenida y una solicitud:

Captura de pantalla del banner del modo interactivo de Copilot.

En el primer inicio, Copilot pregunta si confía en los archivos de la carpeta actual. Copilot puede leer, modificar o ejecutar archivos en este directorio durante la sesión, por lo que solo puede continuar en ubicaciones de confianza.

Captura de pantalla del directorio de especificación interactiva de Copilot.

Puede usar @ para seleccionar un archivo específico con el que desea trabajar como contexto.

Captura de pantalla de la selección de un archivo en modo interactivo de copilot.

Dentro de una sesión interactiva, puede hacer lo siguiente:

  • Use comandos de barra diagonal (/command) para controlar la sesión y configurar la CLI de Copilot.
  • Escriba mensajes de lenguaje natural para explicar, sugerir o revisar comandos.

En solicitudes de un solo uso sin entrar en modo interactivo completo:

copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"

Comandos de barra diagonal comunes

Los comandos slash son comandos explícitos de control de sesión. Estos son los más comunes:

Comando de barra diagonal Description
/help Mostrar comandos y opciones disponibles
/explain <command> Pida a Copilot que explique cualquier comando de shell
/suggest <task> Pida a Copilot que sugiera un comando de shell para una tarea
/revise Revise la última sugerencia en función de las instrucciones.
/feedback Enviar comentarios sobre una respuesta o sugerencia
/exit Salir del modo interactivo
/model <model> Selección del modelo de IA que se va a usar
/theme [auto|dark|light] Cambiar el tema del terminal
/skills Administración de aptitudes para funcionalidades mejoradas
/mcp Administración de la configuración del servidor MCP
/list-dirs Mostrar directorios permitidos para las operaciones de archivo
/reset-allowed-tools Restablecimiento de la lista de herramientas permitidas

Los comandos de barra diagonal no se pueden reemplazar por mensajes de lenguaje natural. Son la única manera de controlar los ajustes de sesión y la configuración.

Flujos de trabajo de ejemplo

1. Explicar un comando

> Explain what `git reset --hard HEAD` does

Copilot proporcionará una explicación detallada.

Captura de pantalla de la CLI de Copilot que explica un comando en modo interactivo.

2. Sugerir un comando

> Find and delete all .log files in my home folder

Copilot genera una sugerencia de comando y le pide que lo ejecute si está satisfecho con sus sugerencias.

Captura de pantalla de la CLI de Copilot que sugiere un comando en modo interactivo.

3. Revisar una sugerencia

Después de recibir una sugerencia, puede escribir un aviso de seguimiento para revisar el comando sugerido:

> Include only files modified in the last 7 days

Captura de pantalla de la CLI de Copilot que mejora una sugerencia en función del aviso de seguimiento.

4. Proporcionar comentarios

Después de una respuesta o sugerencia:

> /feedback

Captura de pantalla del uso del comando /feedack slash en el modo interactivo de la CLI de Copilot.

Copilot le pide que elija el tipo de comentarios que desea enviar y, a continuación, navegue hasta el formulario adecuado para completar sus comentarios.

5. Salir del modo interactivo

> /exit

Opciones de configuración

En la CLI de Copilot, la configuración se controla mediante:

  1. Comandos de barra diagonal dentro del modo interactivo

    • /model elegir el modelo de IA
    • /theme cambiar el tema del terminal
    • /skills administración de funcionalidades mejoradas
    • /reset-allowed-tools restablecimiento de herramientas
    • /list-dirs ver directorios permitidos
    • /mcp Configuración del servidor MCP
  2. Configuración de la CLI de Copilot (modo no interactivo)

La configuración de la CLI de Copilot se administra mediante avisos de permisos, marcas de línea de comandos y archivos de configuración local. Esta configuración controla lo que Copilot puede acceder y hacer en su nombre.

Entre las opciones de configuración comunes se incluyen:

  • Directorios de confianza: controle dónde Copilot puede leer, editar y ejecutar archivos.
  • Permisos de herramienta: permita o restrinja a Copilot de ejecutar comandos de shell o modificar archivos mediante marcas como --allow-tool o --deny-tool.
  • Permisos de ruta de acceso: controle a qué directorios puede acceder Copilot.
  • Permisos de dirección URL: administre a qué dominios externos puede conectarse Copilot.

Consulte la documentación oficial de la CLI de GitHub Copilot para ver las opciones de configuración completas.

Entornos de ejecución aislados

GitHub Copilot CLI admite entornos de ejecución de espacio aislado que ayudan a proteger el sistema, a la vez que permiten a Copilot realizar tareas en su nombre.

El aislamiento aísla los comandos, las operaciones con archivos y otras actividades de tu entorno de desarrollo principal. En función del flujo de trabajo, puede elegir entre el espacio aislado local y el espacio aislado en la nube.

Aislamiento local

El aislamiento local permite a Copilot ejecutar comandos dentro de un entorno restringido en tu máquina.

Cuando está habilitada, el acceso de Copilot al sistema de archivos, la conectividad de red y las funcionalidades del sistema operativo es limitado, lo que ayuda a reducir el riesgo de cambios no deseados, a la vez que le permite beneficiarse de los flujos de trabajo asistidos por agente.

Para habilitar el espacio aislado local durante una sesión interactiva:

/sandbox enable

Después de habilitar el espacio aislado, los comandos ejecutados por Copilot se ejecutan dentro del entorno de espacio aislado en lugar de directamente en el sistema host.

Ventajas del espacio aislado local

Benefit Description
Seguridad mejorada Restringe el acceso a los recursos del sistema confidenciales.
Experimentación más segura Permite probar los flujos de trabajo controlados por agentes con un riesgo reducido.
Ejecución local Usa los recursos de la máquina sin necesidad de infraestructura en la nube.
Mayor control Proporciona medidas de seguridad adicionales al usar agentes autónomos.

Aislamiento en la nube

El aislamiento en la nube permite que las sesiones de Copilot CLI se ejecuten dentro de entornos Linux completamente aislados alojados en GitHub.

A diferencia del espacio aislado local, las sesiones de espacio aislado en la nube se ejecutan por completo en infraestructura alojada por GitHub y se mantienen separadas de tu equipo local y de otras sesiones de espacio aislado.

El entorno aislado en la nube se basa en los entornos aislados de Azure Container Apps, y GitHub proporciona autenticación, gobernanza, aplicación de directivas e integración de facturación.

Para iniciar una sesión de entorno de pruebas en la nube:

copilot --cloud

Una vez iniciado, Copilot puede ejecutar comandos, modificar archivos, ejecutar pruebas y realizar tareas de desarrollo dentro del entorno de nube en lugar de en el dispositivo local.

Ventajas del aislamiento en la nube

Benefit Description
Aislamiento seguro Las cargas de trabajo se ejecutan por separado de la máquina local.
Flexibilidad del dispositivo Reanuda sesiones desde distintos dispositivos.
Descarga de recursos Usa recursos en la nube en lugar de cpu y memoria locales.
Ejecución en paralelo Ejecute varias tareas controladas por agentes simultáneamente.

Continuar sesiones entre dispositivos

Dado que las sesiones de espacio aislado en la nube se ejecutan en la infraestructura hospedada GitHub, el trabajo no está vinculado a un equipo específico.

Esto le permite:

  • Iniciar una sesión en un dispositivo
  • Reanudación de la misma sesión desde otro dispositivo
  • Continuar el trabajo sin transferir manualmente archivos ni volver a crear entornos

Esta flexibilidad es especialmente útil para los desarrolladores que trabajan en varias máquinas o ubicaciones.

Ciclo de vida de la sesión del espacio aislado en la nube

Las sesiones de espacio aislado en la nube pueden existir en tres estados:

Estado Description
Activo La sesión está en ejecución y disponible para interactuar.
Detenido La sesión está en pausa, pero su estado se conserva para su uso futuro.
Eliminado La sesión y todo el estado guardado se eliminan de forma permanente.

Cuando se detiene una sesión, GitHub guarda una instantánea del entorno, incluidos los archivos, las variables de entorno y el trabajo en curso. Reanudar la sesión restaura el estado guardado para que puedas continuar donde lo dejaste.

Autenticación y acceso

Los entornos aislados en la nube usan el mismo modelo de autenticación que GitHub Copilot CLI.

Si puede autenticarse en GitHub Copilot CLI y tener acceso a GitHub Copilot, no se requiere ninguna configuración adicional del proveedor de nube.

No es necesario:

  • Administrar claves de API
  • Configuración de la infraestructura en la nube
  • Aprovisionamiento de máquinas virtuales
  • Mantenimiento de entornos de contenedor

Nota:

Los administradores de la organización o de la empresa deben habilitar la directiva de acceso de espacio aislado en la nube para que los miembros puedan usar entornos de espacio aislado en la nube.

Espacio aislado local y en la nube

Feature Espacio aislado local Espacio aislado en la nube
Ubicación de ejecución Máquina local entorno alojado en GitHub
Uso de recurso Recursos locales Recursos en la nube
Nivel de aislamiento Entorno local restringido Entorno de nube totalmente aislado
Independencia del dispositivo No
Cargas de trabajo paralelas Limitado por hardware local Fácil de escalar

¿Cuándo debería usar el espacio aislado?

Considere la posibilidad de usar espacio aislado cuando:

  • Trabajar con repositorios desconocidos
  • Prueba de los comandos generados por el agente
  • Ejecución de flujos de trabajo autónomos
  • Realización de operaciones potencialmente destructivas
  • Trabajar en varios dispositivos
  • Delegación de tareas de desarrollo con cálculo intensivo

El espacio aislado proporciona una capa adicional de seguridad y flexibilidad, lo que le permite aprovechar de forma segura las funcionalidades del agente de la CLI de GitHub Copilot.

Sugerencias para un uso eficaz de la CLI de Copilot

  • Use el modo interactivo (copilot) para tareas exploratorias.
  • Use el modo one-shot (copilot -i) para obtener respuestas rápidas.
  • La entrada del lenguaje natural funciona: no siempre necesita comandos de barra diagonal.
  • Revise siempre los comandos antes de la ejecución.
  • Combine la CLI de Copilot con la CLI de GitHub (gh) para la administración de problemas y repositorios.
  • Use comandos de barra diagonal cuando desee acciones estructuradas o comentarios.