Copilot Memory · Recorrido ilustrado

Copilot Memory vs. instrucciones personalizadas: dónde se guardan las memorias y cómo borrarlas

GitHub Copilot Memory es una memoria alojada en GitHub y limitada a un repositorio, en vista previa pública — y no es la carpeta que quizá encontraste en tu equipo. Este recorrido muestra dónde se guarda cada tipo de memoria, cómo verla y eliminarla, cómo activar o desactivar la versión en la nube para ti y para una organización, y una plantilla de instrucciones personalizadas lista para copiar con las reglas que las memorias nunca deberían reemplazar. Doce pasos, contrastados con docs.github.com y con la documentación de memoria de VS Code.

La versión corta

  • Las memorias no son una carpeta dentro de tu repositorio. GitHub Copilot Memory la almacena GitHub y está limitada a un repositorio; se consulta y se elimina en Repository → Settings → Code & automation → Copilot → Memory. La carpeta de memoria que la gente encuentra en el disco pertenece a la herramienta de memoria local de VS Code, que funciona aparte.
  • Tres ámbitos locales y uno en la nube. La herramienta de memoria de VS Code guarda notas de User, Session y Repository en tu equipo, bajo /memories/, /memories/session/ y /memories/repo/; GitHub Copilot Memory reemplaza el ámbito de repositorio por uno alojado y compartido entre agentes, que el agente de código, la revisión de código y Copilot CLI leen por igual.
  • Tu plan decide el valor predeterminado. Copilot Pro y Pro+ traen Copilot Memory activada por defecto; Copilot Business y Enterprise la mantienen desactivada hasta que un propietario de la empresa o de la organización la active, y si dos organizaciones te dan licencia, gana el ajuste más restrictivo.
  • Las memorias caducan; las instrucciones no. Copilot escribe una memoria, la valida contra el código que la originó y la elimina a los 28 días salvo que se siga reutilizando. Las reglas que no puedes permitirte perder — el comando de test, el requisito de seguridad — van en .github/copilot-instructions.md, y por eso esta página termina con una plantilla.

I tried out all the memory features in GitHub Copilot (User / Session / Repository / Copilot Memory)

Canal:Yuzubon — ゆずぼん15:00

Ver la fuente

Instruction Files & /chronicle — Teaching Copilot Your Codebase

Canal:Casey Irvine17:37

Ver la fuente

The latest in managing and auditing GitHub Copilot agents

Canal:GitHub4:12

Ver la fuente

Managing and curating Copilot Memory (official docs, public preview)

Documentación oficial:docs.github.com

Ver la fuente

Copilot Memory está en vista previa pública y la ruta de ajustes todavía se mueve. Las rutas de activación, la caducidad de 28 días y la página de memoria del repositorio que aparecen aquí se tomaron de la guía «Managing and curating Copilot Memory» de docs.github.com y de la referencia «Use memory with agents» de VS Code; la ruta de la carpeta de memoria local viene de la propia grabación, así que tómala como específica de Windows y espera equivalentes en macOS y Linux dentro del mismo directorio de almacenamiento global de VS Code.

Las capturas se acreditan a la grabación de la que se tomaron y cada paso enlaza al segundo exacto. Los pasos escritos, la tabla comparativa y la plantilla son originales de esta página; no se reprodujo ninguna transcripción.

Los 12 pasos: de la carpeta en tu disco a una plantilla de instrucciones versionada con el código

Qué recuerda Copilot y dónde se guarda

  1. 1

    Encuentra la carpeta de memoria antes de tocar cualquier ajuste

    La herramienta de memoria de VS Code escribe archivos Markdown sin formato en tu equipo; no los envía a GitHub. En Windows están en %APPDATA%\Code\User\globalStorage\github.copilot-chat\memory-tool\memories\ — la captura muestra coding-style.md dentro de ese mismo directorio. El equivalente en macOS vive en ~/Library/Application Support/Code/User/globalStorage/ y el de Linux en ~/.config/Code/User/globalStorage/, en la misma ruta github.copilot-chat/memory-tool/memories. Nada de esto se confirma en el repositorio, así que ningún compañero puede leerlo, y si borras el archivo, borras la memoria.

    Windows File Explorer opened at the VS Code memory tool folder AppData Roaming Code User globalStorage github.copilot-chat memory-tool memories holding the coding-style.md memory file
    El explorador de archivos de Windows abierto en memory-tool, con coding-style.md dentro de la carpeta de memorias local de VS Code.Ver en 3:26
  2. 2

    La memoria de usuario es el archivo que se carga primero

    Pide una preferencia en el chat — «prefiero early returns y nombres de variable largos y descriptivos» — y la herramienta de memoria crea un archivo de memoria de usuario y lo dice en la respuesta. La captura muestra coding-style.md abierto desde globalStorage › github.copilot-chat › memory-tool › memories, con el panel de chat informando «Reviewed memory file coding-style.md» y confirmando que el archivo se creó. La memoria de usuario es el único ámbito que se inyecta automáticamente en todas las conversaciones: la documentación de VS Code fija el límite en las primeras 200 líneas. Escribe diez líneas útiles, no doscientas.

    VS Code editor showing coding-style.md beside Copilot Chat confirming the user memory file was created from a prompt about early returns and long descriptive variable names
    Una memoria de usuario deliberadamente corta: coding-style.md abierto junto al chat que confirma que se creó.Ver en 3:56
  3. 3

    La memoria de sesión es el plan que dejas de reexplicar

    Plan mode es donde la memoria de sesión se gana su lugar. Pide un cambio con Plan seleccionado y el agente guarda su plan de implementación en /memories/session/plan.md, donde queda disponible solo para esa conversación — la documentación de VS Code describe Session como exclusiva de la conversación actual —. Vuelve a Agent mode y apunta al plan en lugar de reescribirlo. La memoria de sesión también es el ámbito más efímero: se descarta 14 días después de su último acceso, así que nunca dejes ahí una decisión que necesitarás el mes que viene.

    Copilot Chat in VS Code set to Plan mode with a request to add an update function to a TODO app, the request that makes the agent write a plan into session memory
    Plan mode en Copilot Chat: la petición que hace que el agente escriba un plan de sesión en lugar de editar archivos.Ver en 7:06

La memoria del repositorio y la capa en la nube de GitHub

  1. 4

    La memoria de repositorio sigue siendo local hasta que la actives

    Di «en este repositorio, recuerda que toda función nueva necesita un test» y el agente lo escribe en /memories/repo/ — sigue en tu disco, sigue invisible para tu equipo y sigue fuera de los servidores de GitHub hasta que cambie un ajuste —. La captura muestra esa petición escrita. Este es el ámbito al que la gente suele referirse como «la carpeta de memoria de Copilot»: la carpeta existe, pero vive dentro del almacenamiento global de VS Code y no dentro del repositorio, y por eso buscarla en tu proyecto no encuentra nada.

    Copilot Chat in VS Code receiving the prompt asking it to remember a repository rule about writing tests, a write that stays in the local repository memory scope
    Pedirle a Copilot que recuerde una regla del repositorio: la escritura que aterriza en el ámbito local del repositorio.Ver en 10:00
  2. 5

    Activa el interruptor de la nube y solo se moverán las memorias nuevas

    Copilot Memory es la mitad alojada en GitHub de este sistema, y en VS Code necesita su propia activación: github.copilot.chat.copilotMemory.enabled, añadido a .vscode/settings.json. La documentación de VS Code lista copilotMemory como una opción que se activa a mano y separada de la herramienta de memoria local. Cuando vale true, las escrituras que antes caían en /memories/repo/ van a GitHub. Dos cosas no cambian: tus memorias de repositorio locales existentes no se migran, y la herramienta solo crea — para leer o eliminar una memoria alojada tienes que ir a GitHub.

    VS Code with .vscode settings.json open and modified next to a Copilot Chat session, the setting that switches repository memories to GitHub Copilot Memory cloud storage
    La edición de .vscode/settings.json que apunta la memoria del repositorio a GitHub en lugar de a la carpeta local.Ver en 13:10
  3. 6

    Consulta y elimina las memorias en el repositorio, no en tus ajustes

    Esta es la página a la que te mandan los documentos oficiales: Repository → Settings → Code & automation → Copilot → Memory, marcada como Preview. Las memorias se listan de la más reciente a la más antigua con su texto y sus etiquetas; el icono de papelera elimina una y las casillas eliminan un lote. Eliminar importa, porque una memoria equivocada es peor que no tener ninguna. Copilot valida cada memoria contra las citas que la originaron y la ignora cuando ese código ya se movió, pero una memoria construida sobre una mala lectura sigue pasando esa comprobación. Además, las memorias caducan solas a los 28 días.

    GitHub repository settings showing the Copilot memory page in public preview with one stored testing memory tagged testing and vscode beside the trash icon that deletes it
    La página de memoria de Copilot en los ajustes del repositorio de GitHub, con una memoria guardada y su control para eliminarla.Ver en 12:09

Actívala para un equipo y luego escribe las instrucciones

  1. 7

    Los propietarios de la empresa y de la organización tienen que activarla primero

    Tu plan decide quién hace qué. Los suscriptores individuales de Copilot Pro y Pro+ tienen Copilot Memory activada por defecto y pueden desactivarla en Settings → Copilot → Features. Copilot Business y Enterprise son lo contrario: las memorias siguen desactivadas hasta que un propietario las active — los propietarios de la empresa mediante AI Controls → Copilot → Features, eligiendo Let organizations decide, Enabled everywhere o Disabled everywhere, y los propietarios de la organización mediante Organization settings → Code, planning and automation → Copilot → Policies → Features → Copilot Memory → Enabled —. Si dos organizaciones te asignan una licencia, se aplica el ajuste más restrictivo.

    GitHub enterprise AI Controls page showing the Agents, Copilot and MCP pages in the sidebar where a Copilot Memory enablement policy is set for every organization
    AI Controls de la empresa en GitHub: la familia de páginas que contiene la política de activación de Copilot Memory.Ver en 1:06
  2. 8

    Las instrucciones personalizadas empiezan en la carpeta .github

    Copilot escribe memorias; tú escribes instrucciones y las confirmas en el repositorio. Dos archivos hacen el trabajo: .github/copilot-instructions.md para las reglas que aplican a todo el repositorio, y .github/instructions/NAME.instructions.md para las reglas que solo aplican a algunas rutas, con las segundas comparadas contra los archivos que Copilot está tocando. La captura es el propio repositorio de VS Code de Microsoft, donde .github contiene copilot-instructions.md junto a instructions/, agents/, skills/, prompts/ y hooks/: copia la forma de un repositorio que lleva meses haciéndolo en público.

    GitHub file listing of the .github folder in microsoft/vscode showing copilot-instructions.md next to the instructions, agents, skills, prompts and hooks folders used by GitHub Copilot
    La carpeta .github de microsoft/vscode, con copilot-instructions.md al lado del directorio instructions.Ver en 1:40
  3. 9

    Las reglas por ruta viven detrás de applyTo

    Un archivo .instructions.md lleva front matter YAML que decide cuándo se carga. name es la etiqueta que se ve en la interfaz, description le dice al agente para qué tareas sirve el archivo, y applyTo es un glob relativo a la raíz del repositorio — la captura muestra applyTo: src/vs/workbench/contrib/chat/browser/aiCustomization/** en un archivo de instrucciones real de VS Code —. VS Code adjunta el archivo automáticamente cuando su applyTo coincide con un archivo que el agente crea o edita, y también puede traerlo a demanda cuando la description encaja con la tarea. Si omites ambos campos, el archivo solo se carga cuando lo adjuntas a mano.

    GitHub blob view of ai-customization.instructions.md in microsoft/vscode showing the description and applyTo front matter that scopes a path-specific instruction file to one source folder
    Un archivo de instrucciones real cuyo glob applyTo lo mantiene pegado a una sola carpeta.Ver en 5:20

La plantilla de instrucciones personalizadas

  1. 10

    Las instrucciones personales también son un archivo

    Antes de la plantilla del repositorio conviene saber dónde van tus propios valores por defecto, porque tienen prioridad sobre ella. Copilot CLI y el host del agente leen ~/.copilot/copilot-instructions.md, y la captura muestra un ejemplo funcional con secciones ## Output, ## Working style y ## AI disclosure: fíjate en lo corto que es. En github.com el equivalente es Copilot Chat → tu foto de perfil → Personal instructions, donde GitHub también ofrece plantillas integradas y marcadores como [format]. El orden de prioridad es personal, luego repositorio y luego organización, y todos los conjuntos que coincidan se siguen enviando, así que nunca dejes que dos de ellos se contradigan.

    VS Code showing the personal copilot-instructions.md inside the dot copilot home folder, with profile defaults covering output style, working style and AI disclosure rules
    Un copilot-instructions.md personal en la carpeta de inicio .copilot, con secciones de salida, estilo de trabajo y divulgación de IA.Ver en 4:10
  2. 11

    Genera el primer borrador con /init y luego reemplázalo

    No tienes que empezar con un archivo en blanco. Copilot CLI imprime «No copilot instructions found. Run /init to generate a copilot-instructions.md file for this project» cuando un repositorio no tiene ninguno — la captura es ese mensaje —. Ejecuta /init y después edita el resultado siguiendo la plantilla de abajo. Mantén la lista de comandos exacta, corta todo lo que el agente podría deducir leyendo el código y nunca pegues secretos, tokens ni datos de clientes: este archivo se confirma en el repositorio y lo leerá cada compañero y cada agente.

    GitHub Copilot CLI terminal stating that no copilot instructions were found and prompting to run the init command that generates a copilot-instructions.md file for the project
    Copilot CLI informando de que un repositorio todavía no tiene archivo de instrucciones y ofreciendo /init.Ver en 10:00
  3. 12

    Verifica qué archivos cargó realmente una sesión

    Una plantilla que no puedes auditar es una suposición. En Copilot CLI, /instructions lista todos los archivos de instrucciones que la sesión tomó — la captura muestra el comando con una línea «Loading environment: 18 custom instructions, 3 extensions, 26 hooks, 27 skills, 4 MCP servers» encima — y cada archivo se puede desactivar para la sesión actual sin borrarlo. En VS Code el equivalente es el editor Agent Customizations que abre Chat: Open Customizations, y para las instrucciones del repositorio puedes desplegar la lista de referencias en la parte superior de una respuesta del chat para confirmar que se usó .github/copilot-instructions.md.

    GitHub Copilot CLI terminal showing the slash instructions command underneath a loading environment line that counts eighteen custom instructions before a session starts
    El comando /instructions en Copilot CLI, la forma más rápida de ver qué contexto cargó una sesión.Ver en 7:10

Copilot Memory vs. instrucciones personalizadas vs. instrucciones del repositorio

Hay tres cosas distintas que se llaman «memoria de Copilot». Solo la primera la escribe el agente; las otras dos son archivos que tú confirmas y mantienes. La comparación no busca un ganador: es la razón por la que las dos funciones conviven. Usa las memorias para las convenciones que nadie escribió y las instrucciones para las reglas que puedes demostrar.

AspectoCopilot Memory (alojada)Instrucciones personalizadas (.github/copilot-instructions.md)Instrucciones por ruta (.github/instructions/*.instructions.md)
Qué esHechos que Copilot dedujo trabajando en el repositorio, guardados como un asunto más las citas que lo respaldan.Reglas que escribes una vez y aplican a todas las peticiones del repositorio.Reglas que escribes para una ruta, un lenguaje o una carpeta dentro del repositorio.
Quién lo escribeCopilot, automáticamente, en respuesta al trabajo de usuarios que tienen la función activada.Tú, a mano, en Markdown.Tú, a mano, en Markdown con front matter YAML.
Dónde viveEn GitHub, limitada a un repositorio. Se consulta y se elimina en Repository → Settings → Copilot → Memory; no hay ningún archivo en tu árbol de trabajo.En el repositorio, en .github/copilot-instructions.md, en la raíz del proyecto.En el repositorio, bajo .github/instructions/, un archivo por ámbito.
Cuándo se cargaAutomáticamente, pero solo después de validar las citas contra la rama actual.En cada petición de ese repositorio, para el chat, los agentes y la revisión de código.Solo cuando su glob applyTo coincide con un archivo en juego, o cuando el agente considera relevante la description.
Cuánto dura28 días; una memoria que se valida y se reutiliza se reescribe, lo que alarga su vida.Hasta que alguien cambie o borre el archivo: está versionado junto al código.Hasta que alguien cambie o borre el archivo.
Quién puede verloCualquiera que trabaje en ese repositorio y tenga Copilot Memory activada; las memorias nunca salen del repositorio.Cualquiera con acceso al repositorio, además de cada agente y cada revisor que lo lea.Cualquiera con acceso al repositorio.
Cómo se editaSe elimina en los ajustes del repositorio: la herramienta de memoria solo crea, no puede ver ni borrar.Abre un pull request, como con cualquier otro archivo.Abre un pull request, como con cualquier otro archivo.
Para qué sirve mejorConvenciones que nadie documentó, la forma de una corrección que el revisor repite una y otra vez, patrones seguros para este código.Stack y versiones, los comandos exactos de build y test, el mapa de carpetas, reglas de seguridad y de revisión.Reglas de framework en un monorepo, convenciones de archivos de test, el estilo de una carpeta, los modismos de un lenguaje.

Una plantilla de instrucciones personalizadas que cubre las seis cosas que Copilot realmente necesita

La propia guía de GitHub recomienda mantener el archivo corto y concreto: cuál es el stack, cómo ejecutar las cosas, dónde vive el código, qué convenciones son obligatorias y qué evitar. Los bloques de abajo están escritos para copiarlos y luego recortarlos: borra cualquier línea que el agente pueda deducir leyendo el repositorio, porque un archivo de instrucciones inflado diluye las reglas que importan. Guárdalo como .github/copilot-instructions.md en la raíz del repositorio.

# .github/copilot-instructions.md

## Project and stack
- Next.js 15 app router, TypeScript strict, Node 22.
- Package manager: pnpm. Never run npm or yarn install.

## Commands
- Build: pnpm build
- Lint: pnpm lint
- Test everything: pnpm test
- Test one file: pnpm test -- path/to/file.test.ts

## Layout
- Routes: src/app/**
- UI components: src/components/**
- Data access: src/lib/db.ts and src/lib/repositories/**
- Tests live next to the file they cover: *.test.ts

## Conventions
- Named exports only; no default exports from src/lib.
- Handle errors at the boundary and return early instead of nesting.
- Import order: node builtins, external packages, then @/ aliases.

## Testing and review
- Every behaviour change ships with a test in the same pull request.
- Run the single-file test before requesting review.
- Commit messages follow Conventional Commits.

## Do not
- Do not edit files under src/generated/**.
- Do not add a dependency without calling it out in the pull request.
- Do not log secrets, tokens or full request bodies.
La plantilla para todo el repositorio, lista para pegar. Cada encabezado corresponde a un bloque explicado abajo.
  • 1Proyecto y stack — nombra el framework, el modo de lenguaje y el gestor de paquetes en una sola línea. Este es el bloque que evita que el agente dude entre npm, pnpm y yarn y genere un archivo de bloqueo de dependencias que no pediste.
  • 2Comandos — los comandos exactos de build, lint, test y test de un solo archivo, copiados de tu configuración de CI y no de la memoria. Un comando de test equivocado es la línea más cara que puedes omitir.
  • 3Estructura — dónde viven las rutas, los componentes, el acceso a datos y los tests. Señala directorios en lugar de describir la arquitectura en prosa; una ruta se puede comprobar, un párrafo no.
  • 4Convenciones — nombres, manejo de errores, orden de imports y reglas de formato que tu equipo realmente aplica. Que cada regla sea binaria: o el código la cumple o no la cumple.
  • 5Tests y revisión — qué tiene que salir con un test, qué se espera que verifique una revisión y tu convención de commits o de ramas. Este es el bloque que convierte una memoria que necesitarías en una garantía.
  • 6No hacer — los antipatrones. Archivos generados, dependencias nuevas sin avisar, refactors que no vienen al caso, secretos en los logs. Las reglas negativas son la forma más barata de evitar toda una clase de pull requests malos.

Acótala con un segundo archivo

Mantén corto el archivo del repositorio moviendo las reglas de cada carpeta a sus propios archivos bajo .github/instructions/. El front matter es lo que hace que esto funcione: applyTo adjunta el archivo automáticamente a las rutas que coinciden, y description permite que el agente lo traiga para la tarea correcta. VS Code documenta name, description y applyTo como los campos admitidos.

---
name: 'React components'
description: 'Use when creating or updating components under src/components.'
applyTo: 'src/components/**/*.tsx'
---

# React components
- One component per file, named after the file.
- Props are typed with an explicit interface; no React.FC.
- Colocate styles with the component; no global class names.
Un archivo de instrucciones por ruta: tres campos de front matter y luego reglas que solo aplican a una carpeta.

Deja tus propias preferencias fuera del archivo del repositorio

Todo lo que va sobre ti y no sobre el proyecto — la longitud de las respuestas, el tono, cómo quieres que se expliquen los diffs — pertenece a las instrucciones personales. Copilot CLI y el host del agente leen ~/.copilot/copilot-instructions.md; en github.com, abre Copilot Chat, haz clic en tu foto de perfil y elige Personal instructions, donde GitHub también incluye plantillas con marcadores como [format]. Las instrucciones personales tienen prioridad sobre las del repositorio y la organización, así que una preferencia definida ahí no necesita repetirse en cada repositorio.

Dos últimas reglas que aplican a todos los bloques: nunca pongas secretos, tokens ni datos de clientes en un archivo de instrucciones que se confirma en el repositorio, y nunca dejes que las instrucciones del repositorio y una memoria digan cosas distintas — cuando se contradicen, Copilot sigue ambos conjuntos de contexto como puede y el resultado es impredecible. Si una memoria contradice una regla que escribiste una y otra vez, elimina la memoria en lugar de debilitar la regla.

Copilot Memory: preguntas frecuentes

Sigue explorando