MemoryLake
Volver a todos los artículos
Tutorial23 de septiembre de 2026·10 min de lectura

Cómo vincular las instrucciones de Copilot CLI en AGENTS.md, CLAUDE.md y tu carpeta de inicio (Guía 2026)

GitHub Copilot CLI lee más archivos de instrucciones de lo que la mayoría de la gente cree. Un repositorio puede tener un AGENTS.md para un agente, un CLAUDE.md sobrante de otro, un .github/copilot-instructions.md del editor, y es posible que guardes instrucciones personales en tu carpeta de inicio. La CLI los leerá todos. Esto es muy conveniente hasta el momento en que dos de ellos no coinciden, o parece que se ignora un archivo que acabas de editar.

La documentación de GitHub para la CLI es precisa sobre qué archivos descubre, dónde busca y cómo los combina. También es precisa sobre algo que no define: un orden de precedencia entre ellos. Así es como encajan las piezas, por qué un AGENTS.md puede parecer que no se carga y cómo configurar las cosas para que la CLI lea exactamente lo que deseas.

Por qué las instrucciones de Copilot CLI se comportan de manera diferente a las del editor

Comencemos con la lista. La página de GitHub sobre instrucciones personalizadas para la CLI nombra ocho tipos de ubicaciones. A nivel de usuario, "$HOME/.copilot/copilot-instructions.md" contiene "Instrucciones a nivel de usuario que se aplican a todos los repositorios", y $HOME/.copilot/instructions/**/*.instructions.md contiene "Instrucciones modulares a nivel de usuario". En el repositorio, está .github/copilot-instructions.md para "Instrucciones para todo el repositorio", archivos modulares .github/instructions/**/*.instructions.md y tres archivos de instrucciones de agentes: AGENTS.md, CLAUDE.md y GEMINI.md. Para CLAUDE.md, la tabla añade: "Copilot CLI también utiliza .claude/CLAUDE.md ".

Luego, dónde busca. "A menos que se indique lo contrario en la tabla siguiente, Copilot CLI descubre archivos de instrucciones de repositorios y agentes en las ubicaciones estándar: la raíz del repositorio, el directorio de trabajo actual, los directorios intermedios entre ellos y cualquier directorio anidado en la ruta de un archivo en el que esté trabajando". Vale la pena recordar una excepción: las instrucciones modulares del repositorio se "descubren en las ubicaciones estándar, pero no en los directorios intermedios".

Luego, cómo las combina. Esta es la frase que más importa: "Cuando existen múltiples archivos de instrucciones aplicables a nivel de usuario y de repositorio, Copilot CLI combina sus instrucciones. Elimina las copias duplicadas de instrucciones idénticas de copilot-instructions.md a nivel de usuario, de todo el repositorio y de agentes, pero no define un orden de precedencia general entre estos archivos. Evite instrucciones conflictivas".

Esto es diferente de cómo mucha gente piensa sobre las instrucciones de Copilot. La documentación del editor y de github.com describe una clasificación entre instrucciones personales, específicas de la ruta, de todo el repositorio, de agentes y de la organización, detallada en qué archivo de instrucciones de Copilot gana y dónde. La página de la CLI describe la combinación con eliminación de duplicados y una instrucción explícita de evitar conflictos. Si tu AGENTS.md dice una cosa y tu CLAUDE.md dice otra, la documentación de la CLI no te dice cuál seguirá; te dice que no te pongas en esa situación.

Lo que la gente intenta en su lugar

Colocar un AGENTS.md personal en la carpeta de inicio. Las ubicaciones a nivel de usuario que documenta la CLI son copilot-instructions.md y la carpeta de instrucciones modulares dentro de $HOME/.copilot. Un AGENTS.md colocado junto a ellos no está en la lista documentada. La ruta documentada para archivos AGENTS.md adicionales es diferente, y se cubre en el Paso 2.

Editar un archivo de instrucciones a mitad de la sesión y esperar que se aplique el cambio. La página de GitHub dice: "Los cambios que realice en los archivos de instrucciones personalizadas no estarán disponibles de inmediato para su uso en sesiones activas de la CLI". Debes salir y reanudar la sesión, o iniciar una nueva. Esta es la razón más común por la que un AGENTS.md editado parece ser ignorado.

Hacer referencia a un archivo compartido desde tu carpeta de inicio. La CLI admite referencias @ en .github/copilot-instructions.md, AGENTS.md y CLAUDE.md, pero "Las rutas absolutas y las rutas que comienzan con ~/ no se cargan". Una línea que apunta a ~/notes/conventions.md no hace nada.

Usar referencias @ en GEMINI.md o archivos modulares. "Las referencias a archivos no se expanden en los archivos GEMINI.md o *.instructions.md ". La referencia se mantiene como texto literal.

Colocar carpetas de instrucciones modulares en cada paquete. En un monorepo, parece natural dar a cada nivel su propia carpeta .github/instructions. Sin embargo, si inicias una sesión dentro de un paquete, las carpetas entre la raíz del repositorio y ese paquete son directorios intermedios. La tabla de GitHub dice que las instrucciones modulares del repositorio se descubren en las ubicaciones estándar "pero no en los directorios intermedios", lo cual es más restrictivo que la regla para AGENTS.md. Se omitirá una carpeta modular en una de esas carpetas intermedias, mientras que se detectará un AGENTS.md en la misma carpeta.

Mantener tres archivos de agentes sincronizados a mano y cruzar los dedos. Muchos repositorios contienen AGENTS.md, CLAUDE.md y GEMINI.md porque diferentes herramientas leen diferentes archivos. La CLI lee los tres. Las copias idénticas se eliminan; las que son ligeramente diferentes se incluyen todas. El problema de la desincronización es el mismo que se describe en reconciliar capas conflictivas de CLAUDE.md.

La solución: ver qué cargó la CLI, dar a cada dato un único hogar y luego colocar los archivos personales donde busca la CLI

El objetivo es un conjunto de instrucciones donde cada dato aparezca una sola vez, cada archivo esté en una ubicación documentada y puedas confirmar qué cargó realmente una sesión.

Paso 1: Preguntar a la CLI qué descubrió para esta sesión

GitHub documenta un comando exactamente para esto: "Use el comando /instructions para ver los archivos de instrucciones descubiertos para la sesión actual y habilitar o deshabilitar archivos individuales".

Ejecútalo en el directorio desde el que trabajas habitualmente y anota la lista. Luego ejecútalo de nuevo desde un subdirectorio. Debido a que el descubrimiento abarca la raíz del repositorio, el directorio de trabajo y los directorios intermedios, una sesión iniciada a mayor profundidad en el árbol puede detectar archivos que una sesión en la raíz no detecta. Los archivos específicos de la ruta añaden otra variable: se "incluyen solo cuando su valor applyTo coincide con un archivo con el que Copilot CLI está trabajando".

Compara la lista con lo que esperabas. Suelen aparecer tres cosas: un CLAUDE.md o .claude/CLAUDE.md que nadie recordaba, un AGENTS.md anidado en una subcarpeta y un archivo que alguien deshabilitó anteriormente. GitHub es explícito en que un archivo deshabilitado se queda fuera: "Un archivo de instrucciones que deshabilite usando /instructions no se incluye".

Si editaste alguno de estos archivos durante la sesión, recuerda que la lista refleja el inicio de la sesión. Sal y reanuda, o inicia una nueva sesión, antes de sacar conclusiones.

Paso 2: Dar a cada dato un único hogar, luego colocar los archivos personales correctamente

Ahora decide para qué sirve cada archivo. Una división viable para un repositorio utilizado con varios agentes:

AGENTS.md contiene los datos compartidos y neutrales de las herramientas: comandos de compilación y prueba, convenciones, restricciones. Es el archivo que leen todos los agentes, incluido Copilot CLI.

.github/copilot-instructions.md contiene cualquier cosa específica de Copilot, si es que la hay.

CLAUDE.md y GEMINI.md contienen únicamente lo que es específico de esas herramientas o apuntan a AGENTS.md. Recuerda que las referencias @ se expanden en CLAUDE.md pero "no se expanden en GEMINI.md ", por lo que el patrón de puntero funciona para uno y no para el otro. Cómo trata Claude Code el mismo par de archivos se cubre en el comportamiento predeterminado de AGENTS.md en Claude Code.

Elimina los datos duplicados de todas partes excepto de su hogar. La CLI elimina las copias idénticas, pero las copias casi idénticas son las que causan contradicciones.

Para las instrucciones personales, utiliza el archivo a nivel de usuario documentado: $HOME/.copilot/copilot-instructions.md, o archivos modulares bajo $HOME/.copilot/instructions/. Si mantienes un AGENTS.md personal que deseas que vean todos los repositorios, GitHub documenta una variable para directorios adicionales: "Los directorios enumerados en COPILOT_CUSTOM_INSTRUCTIONS_DIRS" proporcionan "Archivos AGENTS.md y *.instructions.md adicionales. Separe varios directorios con comas". Coloca tu AGENTS.md personal en un directorio propio y enumera ese directorio.

Si utilizas un inicio de Copilot que no es el predeterminado, ten en cuenta que "Si establece la variable de entorno COPILOT_HOME, Copilot CLI utilizará ese directorio en lugar de $HOME/.copilot para ambas ubicaciones de instrucciones a nivel de usuario".

Paso 3: Iniciar una nueva sesión y confirmar el resultado

Sal, inicia una sesión nueva y vuelve a ejecutar el comando de instrucciones. La lista ahora debería coincidir con tu plan: un archivo de agente compartido, instrucciones personales de la ubicación documentada y nada que no desearas.

Luego prueba el comportamiento. Hazle a la CLI una pregunta cuya respuesta dependa de un dato que ahora vive exactamente en un archivo. Si la respuesta es correcta, la conexión funciona. Si no lo es, verifica si está involucrado un archivo específico de la ruta con un patrón applyTo estrecho, ya que estos solo se aplican cuando un archivo coincidente está en juego.

También vale la pena repetir toda la comprobación desde el subdirectorio en el que trabajas más a menudo. Un monorepo con un AGENTS.md anidado en una carpeta de paquete le da a una sesión iniciada dentro de ese paquete un conjunto de instrucciones diferente al de una sesión iniciada en la raíz, y ambos son correctos según las reglas de descubrimiento. Saber en cuál te encuentras explica la mayoría de los reportes de "ayer siguió la regla".

Repite la comprobación cada vez que alguien agregue un nuevo archivo de instrucciones de agente. Los repositorios los acumulan silenciosamente, y la CLI leerá cada uno nuevo sin que se lo pidas.

Configuración en MemoryLake

La clasificación del Paso 2 produce una lista corta de datos que son verdaderos para el proyecto, independientemente de qué agente los lea. MemoryLake es un lugar para guardar esa lista de modo que no dependa de qué nombre de archivo decida leer una herramienta determinada este año.

Tú mismo escribes las entradas, con tus propias palabras. No se lee, escribe ni elimina nada de tu carpeta .copilot, de los archivos de instrucciones de tu repositorio ni del almacenamiento de ningún proveedor.

Paso 1: Crear una clave de API

Inicia sesión y genera una clave desde el panel de control. La clave es lo que permite a un agente leer las entradas que has escrito, ya sea que ese agente lea AGENTS.md, CLAUDE.md o ninguno de los dos.

La consola de MemoryLake mostrando la pantalla de claves de API, donde se crea y copia una nueva clave para su uso en un agente
La consola de MemoryLake mostrando la pantalla de claves de API, donde se crea y copia una nueva clave para su uso en un agente

Paso 2: Subir tus primeras memorias

Agrega los datos compartidos del Paso 2, uno por entrada, con la razón por la que existe cada restricción. La razón es lo que permite a la siguiente persona decidir si una regla sigue aplicándose.

El espacio de trabajo de MemoryLake con los primeros documentos subidos, enumerando cada archivo a medida que se convierte en memoria de búsqueda
El espacio de trabajo de MemoryLake con los primeros documentos subidos, enumerando cada archivo a medida que se convierte en memoria de búsqueda

Paso 3: Conectar tu IA y agentes

Apunta tus agentes al espacio de trabajo. Los mismos datos estarán disponibles en la CLI, en el editor y en herramientas que no leen ninguno de estos archivos de instrucciones.

La pantalla de integraciones de MemoryLake que enumera los clientes de IA y los marcos de agentes que se pueden conectar a la capa de memoria
La pantalla de integraciones de MemoryLake que enumera los clientes de IA y los marcos de agentes que se pueden conectar a la capa de memoria

Qué cambia esto en la práctica

La primera diferencia es que el hecho de "no leer AGENTS.md" se vuelve diagnosticable. La mayoría de los casos resultan ser una de tres cosas: el archivo se editó a mitad de la sesión, se encuentra fuera de las ubicaciones documentadas o se deshabilitó. El comando de instrucciones muestra cuál de ellas es.

La segunda es que los conflictos dejan de ser silenciosos. Debido a que la documentación de la CLI "no define un orden de precedencia general", una contradicción entre dos archivos no se resuelve mediante una regla que puedas consultar. Mantener cada dato en un solo lugar elimina la duda.

La tercera es que las instrucciones personales y de equipo se separan limpiamente. Las preferencias personales van en tu carpeta de inicio o en un directorio de la lista; los datos del equipo van en el repositorio. Esa es también la división detrás de configurar la memoria de Copilot en VS Code, donde la memoria con alcance de repositorio y las instrucciones personales realizan trabajos diferentes.

La cuarta es que el contexto se mantiene ligero. Cada archivo que descubre la CLI se combina en aquello con lo que trabaja. Menos archivos y más claros significan menos repetición, la misma preocupación detrás de cómo Copilot ensambla el contexto por solicitud.

Buenas prácticas para los archivos de instrucciones de Copilot CLI

Ejecuta el comando de instrucciones antes de depurar el comportamiento. Muestra los archivos descubiertos para la sesión actual, que es la única lista que importa.

Reinicia después de editar. Los cambios en las instrucciones surten efecto cuando reanudas la sesión o inicias una nueva.

Mantén un único hogar para cada dato. Las copias idénticas se eliminan; las casi idénticas se incluyen todas y pueden contradecirse entre sí.

Usa ubicaciones documentadas a nivel de usuario. $HOME/.copilot/copilot-instructions.md, la carpeta de instrucciones modulares o un directorio enumerado en COPILOT_CUSTOM_INSTRUCTIONS_DIRS para archivos AGENTS.md personales.

Evita las referencias a la carpeta de inicio. Las rutas que comienzan con ~/ no se cargan, y las referencias no se expanden en GEMINI.md o archivos modulares.

Trata los nuevos archivos de agentes como cambios en el contexto de Copilot. Un CLAUDE.md agregado para otra herramienta también es leído por la CLI. Si estás moviendo instrucciones entre herramientas, migrar CLAUDE.md a Copilot cubre el mapeo, y por qué Copilot olvida el contexto del código base cubre lo que los archivos de instrucciones no pueden contener.

Conclusión

El manejo de instrucciones de Copilot CLI es generoso. Lee sus propios archivos, los archivos de otros agentes, tus archivos personales y cualquier directorio que enumeres, desde la raíz del repositorio hasta el archivo que está editando. GitHub lo documenta todo claramente.

Lo que documenta con la misma claridad es que la CLI combina en lugar de clasificar: "no define un orden de precedencia general entre estos archivos" y te pide que evites conflictos. Eso traslada la responsabilidad de la coherencia a la forma en que organizas los archivos.

Verifica qué descubrió la sesión, dale a cada dato un único hogar, coloca los archivos personales donde busca la CLI y reinicia después de editar. Mantén los datos compartidos en algún lugar que sobreviva a las convenciones de nombres de archivos, y agregar el próximo agente al repositorio no significará tener que desenredar el anterior.

Preguntas frecuentes

¿Lee Copilot CLI AGENTS.md?

Sí. GitHub enumera AGENTS.md como instrucciones de agente "descubiertas en las ubicaciones estándar": la raíz del repositorio, el directorio de trabajo actual, los directorios intermedios entre ellos y los directorios en la ruta de un archivo en el que la CLI está trabajando.

¿Por qué Copilot CLI no utiliza mi AGENTS.md actualizado?

La documentación de GitHub dice que los cambios en los archivos de instrucciones "no están disponibles de inmediato para su uso en sesiones activas de la CLI". Sal y reanuda la sesión, o inicia una nueva. También verifica el comando de instrucciones en caso de que el archivo se haya deshabilitado.

¿A dónde van las instrucciones globales de Copilot CLI?

El archivo documentado a nivel de usuario es $HOME/.copilot/copilot-instructions.md, con archivos modulares bajo $HOME/.copilot/instructions/. Para archivos AGENTS.md adicionales, enumera sus directorios en COPILOT_CUSTOM_INSTRUCTIONS_DIRS.

¿Lee Copilot CLI CLAUDE.md y GEMINI.md?

Sí. Ambos se enumeran como archivos de instrucciones de agentes, y para CLAUDE.md la CLI "también utiliza .claude/CLAUDE.md ". Las referencias a archivos se expanden en CLAUDE.md pero no en GEMINI.md.

¿Qué archivo gana si AGENTS.md y CLAUDE.md entran en conflicto?

La documentación de la CLI dice que combina las instrucciones y "no define un orden de precedencia general entre estos archivos", y aconseja: "Evite instrucciones conflictivas". Mantén cada dato en un solo archivo.

¿Puedo ver qué archivos de instrucciones cargó una sesión de Copilot CLI?

Sí. GitHub indica que se debe "Usar el comando /instructions para ver los archivos de instrucciones descubiertos para la sesión actual y habilitar o deshabilitar archivos individuales".