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.
| Camino | Tipo | Descripción |
|---|---|---|
settings.json | Archivo | Las opciones de configuración personal |
copilot-instructions.md | Archivo | Instrucciones personalizadas personales (aplicadas a todas las sesiones) |
instructions/ | Directorio | Archivos personales adicionales *.instructions.md |
mcp-config.json | Archivo | Definiciones de servidor MCP de nivel de usuario |
lsp-config.json | Archivo | Definiciones de servidor LSP de nivel de usuario |
permissions-config.json | Archivo | Herramientas guardadas y permisos de directorio por proyecto |
agents/ | Directorio | Definiciones de agente personalizado personal |
skills/ | Directorio | Definiciones de aptitudes personalizadas personales |
hooks/ | Directorio | Scripts de enlace de nivel de usuario |
logs/ | Directorio | Archivos de registro de sesión |
session-state/ | Directorio | Historial de sesiones y datos del área de trabajo |
session-store.db | Archivo | Base de datos de SQLite para datos entre sesiones |
installed-plugins/ | Directorio | Archivos de complemento instalados |
plugin-data/ | Directorio | Datos persistentes para complementos instalados |
ide/ | Directorio | Estado 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
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
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
-
`COPILOT_HOME` reemplaza la ruta de acceso `~/.copilot` completa. El valor que establezca debe ser la ruta de acceso completa al directorio que desea usar para los archivos de configuración y subdirectorios. -
Cambiar el directorio significa que la configuración existente, el historial de sesión, los complementos instalados y los permisos guardados no se encontrarán en la nueva ubicación. Copie o mueva el contenido de
~/.copilota la nueva ubicación si desea conservarlos. -
El directorio de caché (que se usa para cachés de Marketplace, paquetes de actualización automática y otros datos efímeros) sigue las convenciones de la plataforma y no se ve afectada por
COPILOT_HOME. Se encuentra en:**macOS**: `~/Library/Caches/copilot`- Linux:
$XDG_CACHE_HOME/copiloto~/.cache/copilot**Windows**: `%LOCALAPPDATA%/copilot`Para invalidar el directorio de caché por separado, establezca
COPILOT_CACHE_HOME.
Lo que puede eliminar de forma segura
| Elemento | ¿Es seguro eliminarlo? | Efecto |
|---|---|---|
agents/, , skills/, hooks/ | No se recomienda | Perderá las personalizaciones personales. Haga una copia de seguridad primero. |
copilot-instructions.md, instructions/ | No se recomienda | Perderá sus instrucciones personalizadas personales. Haga una copia de seguridad primero. |
installed-plugins/ | No se recomienda | Use copilot plugin uninstall en su lugar, para asegurarse de que los metadatos del plugin en settings.json permanezcan coherentes. |
logs/ | Sí | Los archivos de registro se vuelven a crear cada sesión. Eliminarlos no tiene ningún impacto funcional. |
lsp-config.json | No se recomienda | Perderá las definiciones de servidor LSP de nivel de usuario. Haga una copia de seguridad primero. |
mcp-config.json | No se recomienda | Perderá las definiciones de servidor MCP de nivel de usuario. Haga una copia de seguridad primero. |
permissions-config.json | Con precaución | Restablece todos los permisos guardados. La CLI le pedirá de nuevo las aprobaciones de herramientas y directorios. |
plugin-data/ | Sí | Los datos persistentes del complemento se vuelven a crear según sea necesario. |
session-state/ | Con precaución | Al eliminar, se quita el historial de sesiones. Ya no podrá reanudar las sesiones anteriores. |
session-store.db | Con precaución | Al eliminar, se quitan los datos entre sesiones. El archivo se vuelve a crear automáticamente. |
settings.json | Con precaución | Restablece 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.
| Scope | Location | propósito |
|---|---|---|
| Usuario | ~/.copilot/settings.json | Valores predeterminados globales para todos los repositorios. Use la variable de COPILOT_HOME entorno para especificar una ruta de acceso alternativa. |
| Repositorio | .github/copilot/settings.json | Configuración del repositorio compartido (registrada en el repositorio). |
| Local | .github/copilot/settings.local.json | Excepciones 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.
| Key | Tipo | Default | Descripción |
|---|---|---|---|
allowedUrls | string[] | [] | Direcciones URL o dominios permitidos sin preguntar. Admite direcciones URL exactas, patrones de dominio y subdominios comodín (por ejemplo, "*.github.com"). |
askUser | boolean | true | Permita 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.
| Key | Tipo | Comportamiento de fusión | Descripción |
|---|---|---|---|
companyAnnouncements | string[] | Reemplazado: el repositorio tiene prioridad | Mensajes mostrados aleatoriamente durante el inicio. |
disableAllHooks | boolean | El repositorio tiene prioridad | Deshabilite todos los ganchos. |
enabledPlugins | Record<string, boolean> | Combinado: el repositorio invalida al usuario para la misma clave. | Instalación automática del complemento declarativo. |
extraKnownMarketplaces | Record<string, {...}> | Combinado: el repositorio invalida al usuario para la misma clave. | Mercados de plugins disponibles en este repositorio. |
hooks | object | Concatenado: los enlaces de repositorio se ejecutan después de los enlaces de usuario | Definiciones 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.