Skip to main content

directorio de configuración de la CLI de GitHub Copilot

Busque información sobre el ~/.copilot directorio, donde CLI de Copilot almacena la configuración, los datos de sesión y las personalizaciones.

          CLI de Copilot almacena su configuración, historial de sesión, registros y personalizaciones en un único directorio de la máquina. De forma predeterminada, este directorio es `~/.copilot` (es decir, `$HOME/.copilot`).

En este artículo se describe el contenido de este directorio y cómo se pueden usar.

Introducción al directorio

El ~/.copilot directorio contiene los siguientes elementos de nivel superior.

CaminoTipoDescripción
settings.jsonArchivoLas opciones de configuración personal
copilot-instructions.mdArchivoInstrucciones personalizadas personales (aplicadas a todas las sesiones)
instructions/DirectorioArchivos personales adicionales *.instructions.md
mcp-config.jsonArchivoDefiniciones de servidor MCP de nivel de usuario
lsp-config.jsonArchivoDefiniciones de servidor LSP de nivel de usuario
permissions-config.jsonArchivoHerramientas guardadas y permisos de directorio por proyecto
agents/DirectorioDefiniciones de agente personalizado personal
skills/DirectorioDefiniciones de aptitudes personalizadas personales
hooks/DirectorioScripts de enlace de nivel de usuario
logs/DirectorioArchivos de registro de sesión
session-state/DirectorioHistorial de sesiones y datos del área de trabajo
session-store.dbArchivoBase de datos de SQLite para datos entre sesiones
installed-plugins/DirectorioArchivos de complemento instalados
plugin-data/DirectorioDatos persistentes para complementos instalados
ide/DirectorioEstado de integración del IDE

Nota:

No todos estos elementos aparecen inmediatamente. Algunas se crean a petición la primera vez que se usa una característica determinada; por ejemplo, installed-plugins/ solo aparece después de instalar el primer complemento.

Archivos editables por el usuario

Los siguientes archivos están diseñados para que los edite directamente o se administren mediante comandos de la CLI.

settings.json

Este es el archivo de configuración principal de CLI de Copilot. Puede editarlo directamente en un editor de texto o usar comandos interactivos como /model y /theme para cambiar valores específicos desde dentro de una sesión. El archivo admite JSON con comentarios (JSONC).

Nota:

Se cambió el nombre del archivo de configuración de config.json a settings.json. La configuración existente se migra automáticamente desde ~/.copilot/config.json al inicio.

Para obtener la lista completa de opciones y cómo interactúan con la configuración de nivel de repositorio, consulte Configuración de archivos de configuración más adelante en este artículo.

Sugerencia

Ejecute copilot help config en el terminal para obtener una referencia rápida.

copilot-instructions.md

Instrucciones personalizadas personales que se aplican a todas las sesiones, independientemente del proyecto en el que trabaje. Este archivo funciona de la misma manera que un nivel copilot-instructions.md de repositorio, pero se aplica globalmente.

Para obtener más información, vea Agregar instrucciones personalizadas del repositorio para GitHub Copilot.

instructions/

Almacene aquí archivos de instrucciones personales adicionales como archivos *.instructions.md. Estos se cargan junto con copilot-instructions.md y se aplican a todas las sesiones. Puede organizar las instrucciones por tema, por ejemplo, ~/.copilot/instructions/code-style.instructions.md.

mcp-config.json

Define los servidores MCP (Protocolo de contexto de modelo) disponibles en el nivel de usuario. Estos servidores están disponibles en todas las sesiones, independientemente del directorio del proyecto en el que esté. Las configuraciones de MCP a nivel de proyecto (en .mcp.json o .github/mcp.json) tienen prioridad sobre las definiciones a nivel de usuario cuando los nombres de los servidores entran en conflicto.

Para obtener más información, vea Adición de servidores MCP para CLI de GitHub Copilot.

lsp-config.json

Define los servidores del Protocolo de servidor de lenguaje (LSP) disponibles en el nivel de usuario. Estos servidores proporcionan inteligencia de lenguaje (diagnósticos, finalizaciones, etc.) al agente. Administre este archivo mediante el /lsp comando de barra diagonal o edítelo directamente.

Para obtener más información, vea Adición de servidores LSP para CLI de GitHub Copilot.

agents/

Almacene las definiciones de agentes personalizados personales aquí como .agent.md archivos. Los agentes colocados en este directorio están disponibles en todas las sesiones. Los agentes a nivel de proyecto (en .github/agents/) tienen prioridad sobre los agentes personales si comparten el mismo nombre.

Para obtener más información, vea Creación y uso de agentes personalizados para CLI de GitHub Copilot.

skills/

Almacene las definiciones de aptitudes personalizadas personales aquí. Cada aptitud reside en un subdirectorio que contiene un SKILL.md archivo, por ejemplo, ~/.copilot/skills/my-skill/SKILL.md. Las habilidades personales están disponibles en todas tus sesiones. Las habilidades a nivel de proyecto tienen prioridad sobre las habilidades personales si comparten el mismo nombre.

Para obtener más información, vea Adición de habilidades de agente para CLI de GitHub Copilot.

hooks/

Almacene los scripts de enlace de nivel de usuario aquí. Estos enlaces se aplican a todas las sesiones. También puede definir hooks en línea en el archivo de configuración de usuario (~/.copilot/config.json) mediante la clave hooks. Los enlaces de nivel de repositorio (en .github/hooks/) se cargan junto con enlaces de nivel de usuario.

Para obtener más información, vea Uso de enlaces con CLI de GitHub Copilot.

Archivos administrados automáticamente

La CLI administra los siguientes elementos. Por lo general, no debe editarlos manualmente.

permissions-config.json

Almacena las decisiones de permisos de directorio y herramienta guardadas, organizadas por ubicación del proyecto. Al aprobar una herramienta o conceder acceso a un directorio, la CLI registra la decisión aquí para que no se le solicite de nuevo en el mismo proyecto.

Nota:

Si desea restablecer los permisos de un proyecto, puede eliminar la entrada pertinente de este archivo. Sin embargo, la edición del archivo mientras se ejecuta una sesión puede provocar un comportamiento inesperado.

session-state/

Contiene datos del historial de sesión, organizados por identificador de sesión en subdirectorios. Cada directorio de sesión almacena un registro de eventos (events.jsonl) y artefactos del área de trabajo (planes, puntos de control, archivos de seguimiento). Estos datos habilitan el reanudación de sesión (--resume o --continue).

session-store.db

Una base de datos de SQLite usada por la CLI para datos entre sesiones, como la indexación y la búsqueda de puntos de comprobación. Este archivo se administra automáticamente y no se debe editar.

logs/

Contiene archivos de registro para las sesiones de la CLI. Cada sesión crea un archivo de registro denominado process-{timestamp}-{pid}.log. **
Estos archivos son útiles para depurar problemas.

Sugerencia

Para buscar el archivo de registro de la sesión actual, escriba /session en una sesión interactiva. La salida incluye la ruta de acceso completa al archivo de registro, junto con otros detalles de la sesión, como el identificador de sesión, la duración y el directorio de trabajo.

installed-plugins/

Contiene los archivos de los complementos que ha instalado. Los complementos instalados desde marketplace se almacenan en installed-plugins/{marketplace-name}/{plugin-name}/. Los complementos instalados directamente se almacenan en installed-plugins/_direct/. Administre complementos mediante los copilot plugin comandos en lugar de editar este directorio directamente.

Para obtener más información, vea Referencia del plugin CLI de GitHub Copilot.

plugin-data/

Contiene datos persistentes para complementos instalados, organizados por marketplace y nombre del complemento. Los propios complementos administran estos datos y no se deben editar manualmente.

ide/

Contiene archivos de bloqueo y estado para las integraciones del IDE (por ejemplo, cuando CLI de Copilot se conecta a Visual Studio Code). Este directorio se administra automáticamente.

Cambio de la ubicación del directorio de configuración

Puede invalidar la ubicación predeterminada ~/.copilot de dos maneras:

  •         **Variable de entorno**: establezca `COPILOT_HOME` en la ruta de acceso del directorio que desea usar.
    
    Bash
    export COPILOT_HOME=/path/to/my/copilot-config
    
  •         **Opción de línea de comandos**: use `--config-dir` al iniciar la CLI.
    
    Bash
    copilot --config-dir /path/to/my/copilot-config
    

La --config-dir opción tiene prioridad sobre COPILOT_HOME, que a su vez tiene prioridad sobre la ubicación predeterminada ~/.copilot .

Cosas que se deben tener en cuenta

Lo que puede eliminar de forma segura

Elemento¿Es seguro eliminarlo?Efecto
agents/, , skills/, hooks/No se recomiendaPerderá las personalizaciones personales. Haga una copia de seguridad primero.
copilot-instructions.md, instructions/No se recomiendaPerderá sus instrucciones personalizadas personales. Haga una copia de seguridad primero.
installed-plugins/No se recomiendaUse copilot plugin uninstall en su lugar, para asegurarse de que los metadatos del plugin en settings.json permanezcan coherentes.
logs/Los archivos de registro se vuelven a crear cada sesión. Eliminarlos no tiene ningún impacto funcional.
lsp-config.jsonNo se recomiendaPerderá las definiciones de servidor LSP de nivel de usuario. Haga una copia de seguridad primero.
mcp-config.jsonNo se recomiendaPerderá las definiciones de servidor MCP de nivel de usuario. Haga una copia de seguridad primero.
permissions-config.jsonCon precauciónRestablece todos los permisos guardados. La CLI le pedirá de nuevo las aprobaciones de herramientas y directorios.
plugin-data/Los datos persistentes del complemento se vuelven a crear según sea necesario.
session-state/Con precauciónAl eliminar, se quita el historial de sesiones. Ya no podrá reanudar las sesiones anteriores.
session-store.dbCon precauciónAl eliminar, se quitan los datos entre sesiones. El archivo se vuelve a crear automáticamente.
settings.jsonCon precauciónRestablece toda la configuración a los valores predeterminados. Tendrá que volver a configurar sus preferencias y volver a autenticarse.

Configuración del archivo de configuración

La configuración pasa de usuario a repositorio a local, con ámbitos más específicos que reemplazan a más generales. Las opciones de línea de comandos y las variables de entorno siempre tienen la prioridad más alta.

ScopeLocationpropósito
Usuario~/.copilot/settings.jsonValores predeterminados globales para todos los repositorios. Use la variable de COPILOT_HOME entorno para especificar una ruta de acceso alternativa.
Repositorio.github/copilot/settings.jsonConfiguración del repositorio compartido (registrada en el repositorio).
Local.github/copilot/settings.local.jsonExcepciones personales (agregue esto a .gitignore).

Configuración del usuario (~/.copilot/settings.json)

Esta configuración se aplica en todas las sesiones y repositorios. Puede editar este archivo directamente o usar comandos de barra diagonal para actualizar valores individuales.

KeyTipoDefaultDescripción
allowedUrlsstring[][]Direcciones URL o dominios permitidos sin preguntar. Admite direcciones URL exactas, patrones de dominio y subdominios comodín (por ejemplo, "*.github.com").
askUserbooleantruePermita al agente formular preguntas aclarando.
          `false` Establézcalo en para una operación totalmente autónoma. También se puede establecer con `--no-ask-user`. |

| autoUpdate | boolean | true | Descargue automáticamente las actualizaciones de la CLI. | | autoUpdatesChannel | "stable" | "prerelease" | "stable" | Canal de actualización. Establézcalo en "prerelease" para recibir actualizaciones de versión preliminar. | | banner | "always" | "once" | "never" | "once" | Frecuencia de visualización de banner animado. | | bashEnv | boolean | false | Habilitar la BASH_ENV compatibilidad con las shells Bash. También se puede establecer con --bash-env o --no-bash-env. | | beep | boolean | true | Reproduce un pitido audible cuando se requiere atención. | | colorMode | "default" | "dim" | "high-contrast" | "colorblind" | "default" | Modo de contraste de color. Administrado por el comando slash /theme. | | compactPaste | boolean | true | Contraiga contenido grande (más de 10 líneas) en bloques compactos. | | companyAnnouncements | string[] | [] | Mensajes personalizados mostrados aleatoriamente durante el inicio. Se selecciona un mensaje aleatoriamente cada vez que se inicia la CLI. Útil para anuncios o recordatorios de equipo. | | continueOnAutoMode | boolean | false | Cambie automáticamente al modo automático cuando la velocidad esté limitada. Cuando true, los errores de límite de tasa elegibles activan un cambio automático al modo automático y se vuelve a intentar. No se aplica a los límites de velocidad globales ni a los proveedores BYOK. | | copyOnSelect | boolean | true (macOS), false (otro) | Copie automáticamente el texto seleccionado por el mouse en el Portapapeles del sistema en modo de pantalla alternativo. | | customAgents.defaultLocalOnly | boolean | false | Use solo agentes personalizados locales (sin organización remota ni agentes empresariales). | | deniedUrls | string[] | [] | Direcciones URL o dominios que siempre se bloquean. Las reglas de denegación tienen prioridad sobre las reglas de permiso. | | disableAllHooks | boolean | false | Deshabilite todos los ganchos (tanto a nivel de repositorio como de usuario). | | disabledMcpServers | string[] | [] | Nombres de servidor MCP que se van a deshabilitar. Los servidores enumerados están configurados pero no iniciados. | | disabledSkills | string[] | [] | Nombres de aptitud a deshabilitar. Las habilidades listadas se descubren pero no se cargan. | | effortLevel | string | "medium" | Nivel de esfuerzo de razonamiento para el pensamiento extendido: "low", "medium", "high"o "xhigh". Los niveles superiores usan más recursos de computación. | | enabledMcpServers | string[] | [] | Habilite los servidores MCP integrados que están deshabilitados de forma predeterminada (por ejemplo, "computer-use"). | | enabledPlugins | Record<string, boolean> | {} | Instalación automática del complemento declarativo. Las claves son especificaciones del complemento; los valores son true (habilitados) o false (deshabilitados). | | experimental | boolean | false | Habilite las características experimentales. También se puede habilitar con la --experimental opción de línea de comandos o el /experimental comando de barra diagonal. | | extraKnownMarketplaces | Record<string, {...}> | {} | Marketplaces de complementos adicionales. Cada clave es un nombre de Marketplace; el valor especifica el origen ("directory", "git"o "github"). | | footer | object | — | Controla qué elementos aparecen en la línea de estado. Sub-keys: showModelEffort, showDirectory, showBranch, showContextWindow, , showQuota``showAgent(all boolean). Administrado por el comando slash /statusline. | | hooks | object | — | Definiciones de ganchos en línea de nivel de usuario, identificadas por nombre de evento. Usa el mismo esquema que los archivos .github/hooks/*.json. Consulte Uso de enlaces con CLI de GitHub Copilot. | | ide.autoConnect | boolean | true | Conéctese automáticamente a un área de trabajo del IDE al iniciarse. Cuando false, todavía puede conectarse manualmente mediante el comando /ide. | | ide.openDiffOnEdit | boolean | true | Abra las diferencias de edición de archivos en el IDE conectado para su revisión y aprobación. Cuando false, las aprobaciones de edición de archivos solo se muestran en el terminal. | | includeCoAuthoredBy | boolean | true | Agregue un Co-authored-by trailer a las confirmaciones de Git realizadas por el agente. | | logLevel | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Nivel de verbosidad del registro. | | mergeStrategy | "rebase" | "merge" | — | Estrategia de resolución de conflictos para /pr fix conflicts. Cuando se establece en "rebase", los conflictos se resuelven rebasando sobre la rama base. Cuando se establece en "merge", la rama base se combina en la rama de características. Si no está configurado, se muestra un cuadro de diálogo del selector. | | model | string | varies | Modelo de IA que se va a usar. Establézcalo en "auto" para permitir seleccionar Copilot automáticamente el mejor modelo disponible. Administrado por el comando slash /model. | | mouse | boolean | true | Habilite la compatibilidad con el mouse en el modo de pantalla alternativo. También se puede establecer con --mouse o --no-mouse. | | powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Banderas pasadas a PowerShell (pwsh) en el inicio. Solo para Windows. | | renderMarkdown | boolean | true | Representar Markdown en la salida del terminal. | | respectGitignore | boolean | true | Excluya los archivos ignorados por git del selector de menciones de archivos @. Cuando false, el selector incluye archivos excluidos normalmente por .gitignore. | | screenReader | boolean | false | Habilite las optimizaciones del lector de pantalla. | | skillDirectories | string[] | [] | Directorios adicionales para buscar definiciones de aptitud personalizadas (además de ~/.copilot/skills/). | | statusLine | object | — | Visualización de línea de estado personalizada. type: debe ser "command". command: ruta de un script ejecutable que recibe JSON de sesión en stdin e imprime el contenido de estado en stdout. padding: número opcional de espacios en blanco de relleno a la izquierda. | | storeTokenPlaintext | boolean | false | Almacene tokens de autenticación en texto sin formato en el archivo de configuración cuando no haya ninguna cadena de claves del sistema disponible. | | stream | boolean | true | Habilite las respuestas de streaming. | | streamerMode | boolean | false | Ocultar los nombres de modelo de vista previa y los detalles de cuota. Útil para demostrar o compartir pantalla CLI de Copilot. | | theme | "auto" | "dark" | "light" | "auto" | Tema de color de terminal. "auto" detecta el fondo del terminal y elige en consecuencia. | | updateTerminalTitle | boolean | true | Muestra la intención actual en la pestaña de terminal o el título de la ventana. |

Configuración del repositorio (.github/copilot/settings.json)

La configuración del repositorio se aplica a todos los usuarios que trabajan en el repositorio. Se incorporan en el repositorio y se comparten con colaboradores.

Solo se admiten las claves enumeradas en la tabla siguiente en el nivel de repositorio. Cualquier otra clave, incluidas las claves válidas en el archivo de configuración de usuario, se omiten silenciosamente.

KeyTipoComportamiento de fusiónDescripción
companyAnnouncementsstring[]Reemplazado: el repositorio tiene prioridadMensajes mostrados aleatoriamente durante el inicio.
disableAllHooksbooleanEl repositorio tiene prioridadDeshabilite todos los ganchos.
enabledPluginsRecord<string, boolean>Combinado: el repositorio invalida al usuario para la misma clave.Instalación automática del complemento declarativo.
extraKnownMarketplacesRecord<string, {...}>Combinado: el repositorio invalida al usuario para la misma clave.Mercados de plugins disponibles en este repositorio.
hooksobjectConcatenado: los enlaces de repositorio se ejecutan después de los enlaces de usuarioDefiniciones de ganchos definidos para este repositorio. Consulte Uso de enlaces con CLI de GitHub Copilot.
mergeStrategy
          `"rebase"`
          \|
          `"merge"`
         | El repositorio tiene prioridad | Estrategia de resolución de conflictos para `/pr fix conflicts`. |

Configuración local (.github/copilot/settings.local.json)

Cree .github/copilot/settings.local.json en el repositorio para sobreescrituras personales que no se deben cometer. Agregue este archivo a .gitignore.

El archivo de configuración local usa el mismo esquema que el archivo de configuración del repositorio (.github/copilot/settings.json) y tiene prioridad sobre él.

Lectura adicional