Copilot Memory · Guia ilustrado passo a passo

Copilot Memory vs. instruções personalizadas: onde ficam as memórias e como excluí-las

O GitHub Copilot Memory é uma memória hospedada no GitHub e restrita ao repositório, em versão prévia pública — e não é a pasta que você talvez tenha encontrado no disco. Este guia mostra onde cada tipo de memória é armazenado, como ver e excluir memórias, como ligar ou desligar a versão na nuvem para você e para uma organização, e um template de instruções personalizadas pronto para copiar e colar, para as regras que as memórias nunca devem substituir. Doze passos, conferidos com o docs.github.com e com a documentação de memória do VS Code.

A versão curta

  • Memórias não são uma pasta no seu repositório. O GitHub Copilot Memory fica armazenado no GitHub e é restrito a um repositório; você lê e exclui em Repository → Settings → Code & automation → Copilot → Memory. A pasta de memória que as pessoas encontram no disco pertence à ferramenta de memória local do VS Code, que é separada.
  • Três escopos locais, um escopo na nuvem. A ferramenta de memória do VS Code guarda anotações de Usuário, Sessão e Repositório na sua máquina em /memories/, /memories/session/ e /memories/repo/; o GitHub Copilot Memory substitui o escopo de repositório por um escopo hospedado e compartilhado entre agentes, que o Copilot coding agent, o Copilot code review e o Copilot CLI leem.
  • Seu plano define o padrão. No Copilot Pro e no Pro+ o Copilot Memory já vem ligado por padrão; no Copilot Business e no Copilot Enterprise ele fica desligado até que um proprietário da empresa ou da organização o habilite, e se duas organizações licenciarem você, vale a configuração mais restritiva.
  • Memórias expiram, instruções não. Uma memória é escrita pelo Copilot, validada com base no código que a originou e excluída após 28 dias, a menos que continue sendo reutilizada. Regras que você não pode perder — o comando de teste, o requisito de segurança — pertencem ao .github/copilot-instructions.md, e é por isso que esta página termina com um template.

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

Canal:Yuzubon — ゆずぼん15:00

Assistir à gravação

Instruction Files & /chronicle — Teaching Copilot Your Codebase

Canal:Casey Irvine17:37

Assistir à gravação

The latest in managing and auditing GitHub Copilot agents

Canal:GitHub4:12

Assistir à gravação

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

Documentação oficial:docs.github.com

Assistir à gravação

O Copilot Memory está em versão prévia pública e o caminho das configurações ainda muda. Os caminhos de ativação, a expiração de 28 dias e a página de memória do repositório nesta página foram lidos no guia “Managing and curating Copilot Memory” do docs.github.com e na referência “Use memory with agents” do VS Code; o caminho da pasta de memória local vem da própria gravação, então trate-o como específico do Windows e espere equivalentes no macOS e no Linux dentro do mesmo diretório de armazenamento global do VS Code.

As capturas de tela são creditadas à gravação de onde foram tiradas, e cada passo leva direto ao segundo exato. Os passos escritos, a tabela comparativa e o template são originais desta página; nenhuma transcrição foi reproduzida.

Os 12 passos: da pasta no disco ao template de instruções versionado no repositório

O que o Copilot lembra e onde isso fica armazenado

  1. 1

    Encontre a pasta de memória antes de mexer em qualquer configuração

    A ferramenta de memória do VS Code grava arquivos Markdown simples na sua máquina; ela não os envia ao GitHub. No Windows, eles ficam em %APPDATA%\Code\User\globalStorage\github.copilot-chat\memory-tool\memories\ — a captura mostra o coding-style.md exatamente nesse diretório. O equivalente no macOS fica em ~/Library/Application Support/Code/User/globalStorage/ e no Linux em ~/.config/Code/User/globalStorage/, no mesmo caminho github.copilot-chat/memory-tool/memories. Nada aqui é versionado, então nenhum colega de time consegue ler, e excluir o arquivo exclui a memória.

    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
    O Explorador de Arquivos aberto na pasta memory-tool: os arquivos Markdown por trás da ferramenta de memória local do VS Code.Assistir em 3:26
  2. 2

    A memória de usuário é o arquivo que carrega primeiro

    Peça uma preferência no chat — “prefiro early returns e nomes de variáveis mais longos e descritivos” — e a ferramenta de memória cria um arquivo de memória de usuário e avisa isso na resposta. A captura mostra o coding-style.md aberto em globalStorage › github.copilot-chat › memory-tool › memories, com o painel do chat informando “Reviewed memory file coding-style.md” e confirmando que o arquivo foi criado. A memória de usuário é o único escopo injetado automaticamente em toda conversa: a documentação do VS Code limita isso às primeiras 200 linhas. Escreva dez linhas úteis, não duzentas.

    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
    Uma memória de usuário mantida de propósito bem curta, com o chat confirmando o arquivo que gravou.Assistir em 3:56
  3. 3

    A memória de sessão é o plano que você para de reexplicar

    O Plan mode é onde a memória de sessão se paga. Peça uma mudança com Plan selecionado e o agente guarda o plano de implementação em /memories/session/plan.md, onde ele fica disponível só para aquela conversa — a documentação do VS Code descreve Session como exclusivo da conversa atual. Volte para o Agent mode e aponte para o plano em vez de digitá-lo de novo. A memória de sessão também é o escopo mais curto: ela é descartada 14 dias após o último acesso, então nunca deixe ali uma decisão que você vai precisar no mês que vem.

    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
    O Plan mode no Copilot Chat: o pedido que faz o agente escrever um plano de sessão em vez de editar arquivos.Assistir em 7:06

Memória de repositório e a camada de nuvem do GitHub

  1. 4

    A memória de repositório fica local até você ativá-la

    Diga “neste repositório, lembre que toda função nova precisa de um teste” e o agente grava isso em /memories/repo/ — ainda no seu disco, ainda invisível para o seu time e ainda fora dos servidores do GitHub até uma configuração mudar. A captura mostra esse pedido sendo digitado. É esse o escopo que as pessoas normalmente chamam de “pasta de memória do Copilot”: a pasta existe, mas fica dentro do armazenamento global do VS Code, e não dentro do repositório, e por isso procurar por ela no seu projeto não encontra 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
    Pedindo ao Copilot para lembrar uma regra do repositório — a gravação que cai no escopo local de repositório.Assistir em 10:00
  2. 5

    Ligue a chave da nuvem e só as memórias novas migram

    O Copilot Memory é a metade hospedada no GitHub desse sistema e, no VS Code, exige ativação própria: github.copilot.chat.copilotMemory.enabled, adicionado ao .vscode/settings.json. A documentação do VS Code lista copilotMemory como opt-in e separado da ferramenta de memória local. Depois que a opção vira true, as gravações que antes caíam em /memories/repo/ passam a ir para o GitHub. Duas coisas não mudam: suas memórias locais de repositório já existentes não são migradas, e a ferramenta só cria — para ler ou excluir uma memória hospedada você precisa ir ao 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
    A edição no .vscode/settings.json que aponta a memória de repositório para o GitHub em vez da pasta local.Assistir em 13:10
  3. 6

    Veja e exclua memórias no repositório, não nas suas configurações

    Esta é a página que a documentação oficial indica: Repository → Settings → Code & automation → Copilot → Memory, marcada como Preview. As memórias aparecem da mais nova para a mais antiga, com o texto e as tags; o ícone de lixeira exclui uma e as caixas de seleção excluem em lote. Excluir importa, porque uma memória errada é pior do que memória nenhuma. O Copilot valida cada memória com base nas citações que a originaram e a ignora quando aquele código mudou, mas uma memória construída sobre uma leitura equivocada continua passando nessa checagem. As memórias também expiram sozinhas após 28 dias.

    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
    A página de memória do Copilot nas configurações do repositório no GitHub, com uma memória armazenada e seu controle de exclusão.Assistir em 12:09

Ative para o time e depois escreva as instruções

  1. 7

    Proprietários da empresa e da organização precisam ativar primeiro

    Seu plano define quem faz o quê. Assinantes individuais do Copilot Pro e do Pro+ têm o Copilot Memory ligado por padrão e podem desligá-lo em Settings → Copilot → Features. No Copilot Business e no Copilot Enterprise é o contrário: as memórias ficam desligadas até que um proprietário as habilite — proprietários da empresa em AI Controls → Copilot → Features, escolhendo Let organizations decide, Enabled everywhere ou Disabled everywhere, e proprietários da organização em Organization settings → Code, planning and automation → Copilot → Policies → Features → Copilot Memory → Enabled. Se duas organizações atribuírem uma licença a você, vale a configuração mais restritiva.

    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
    O Enterprise AI Controls, a família de páginas que reúne a política de ativação do Copilot Memory.Assistir em 1:06
  2. 8

    As instruções personalizadas começam na pasta .github

    O Copilot escreve memórias; você escreve instruções — e as versiona no repositório. Dois arquivos fazem o trabalho: .github/copilot-instructions.md para regras que valem para o repositório inteiro, e .github/instructions/NAME.instructions.md para regras que valem só para alguns caminhos, com esse segundo tipo sendo comparado aos arquivos que o Copilot está tocando. A captura é o próprio repositório do VS Code da Microsoft, onde o .github guarda o copilot-instructions.md ao lado de instructions/, agents/, skills/, prompts/ e hooks/ — copie o formato de um repositório que faz isso em público há meses.

    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
    A pasta .github do microsoft/vscode, com o copilot-instructions.md ao lado do diretório instructions.Assistir em 1:40
  3. 9

    Regras por caminho ficam atrás do applyTo

    Um arquivo .instructions.md carrega um front matter YAML que decide quando ele entra. name é o rótulo mostrado na interface, description diz ao agente para quais tarefas o arquivo serve, e applyTo é um glob relativo à raiz do repositório — a captura mostra applyTo: src/vs/workbench/contrib/chat/browser/aiCustomization/** em um arquivo de instruções real do VS Code. O VS Code anexa o arquivo automaticamente quando o applyTo dele corresponde a um arquivo que o agente cria ou edita, e também pode puxá-lo sob demanda quando a description combina com a tarefa. Se você omitir os dois campos, o arquivo só carrega quando você o anexa à mão.

    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
    Um arquivo de instruções real, o ai-customization.instructions.md, cujo glob applyTo mantém o arquivo preso a uma única pasta.Assistir em 5:20

O template de instruções personalizadas

  1. 10

    As instruções pessoais também são um arquivo

    Antes do template de repositório, saiba onde ficam os seus próprios padrões, porque eles têm prioridade sobre ele. O Copilot CLI e o host de agentes leem ~/.copilot/copilot-instructions.md, e a captura mostra um exemplo funcional com as seções ## Output, ## Working style e ## AI disclosure — repare como ele é curto. No github.com o equivalente é Copilot Chat → sua foto de perfil → Personal instructions, onde o GitHub também oferece templates prontos e placeholders como [format]. A ordem de precedência é pessoal, depois repositório, depois organização, e todos os conjuntos correspondentes continuam sendo enviados, então nunca deixe dois deles se contradizerem.

    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
    Um copilot-instructions.md pessoal dentro da pasta .copilot no diretório do usuário, com seções de output, estilo de trabalho e divulgação de IA.Assistir em 4:10
  2. 11

    Gere o primeiro rascunho com /init e depois substitua

    Você não precisa começar com um arquivo em branco. O Copilot CLI imprime “No copilot instructions found. Run /init to generate a copilot-instructions.md file for this project” quando um repositório não tem nenhum — a captura é essa mensagem. Rode /init e depois edite o resultado com base no template abaixo. Mantenha a lista de comandos exata, corte tudo o que o agente poderia descobrir lendo o código e nunca cole segredos, tokens ou dados de clientes: este arquivo é versionado e todo colega de time — e todo agente — vai lê-lo.

    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
    O Copilot CLI avisando que o repositório ainda não tem arquivo de instruções e oferecendo o /init.Assistir em 10:00
  3. 12

    Confira quais arquivos uma sessão realmente carregou

    Um template que você não consegue auditar é chute. No Copilot CLI, /instructions lista todos os arquivos de instruções que a sessão carregou — a captura mostra o comando com uma linha “Loading environment: 18 custom instructions, 3 extensions, 26 hooks, 27 skills, 4 MCP servers” acima dele — e cada arquivo pode ser desativado só para a sessão atual sem ser excluído. No VS Code o equivalente é o editor Agent Customizations, atrás de Chat: Open Customizations, e para instruções de repositório você pode expandir a lista de referências no topo de uma resposta do chat para confirmar que o .github/copilot-instructions.md foi usado.

    GitHub Copilot CLI terminal showing the slash instructions command underneath a loading environment line that counts eighteen custom instructions before a session starts
    O comando /instructions no Copilot CLI, o jeito mais rápido de ver qual contexto uma sessão carregou.Assistir em 7:10

Copilot Memory, instruções personalizadas e instruções por caminho: qual a diferença

Três coisas diferentes recebem o nome de “memória do Copilot”. Só a primeira é escrita pelo agente; as outras duas são arquivos que você versiona e mantém. A comparação não serve para desempatar — ela é o motivo de os dois recursos existirem lado a lado: use memórias para as convenções que ninguém escreveu e instruções para as regras que você pode provar.

AspectoCopilot Memory (hospedado)Instruções personalizadas (.github/copilot-instructions.md)Instruções por caminho (.github/instructions/*.instructions.md)
O que éFatos que o Copilot deduziu trabalhando no repositório, armazenados como um assunto mais as citações que o sustentam.Regras que você escreve uma vez e valem para todo pedido no repositório.Regras que você escreve para um caminho, uma linguagem ou uma pasta dentro do repositório.
Quem escreveO Copilot, automaticamente, em resposta ao trabalho de usuários que têm o recurso ativado.Você, à mão, em Markdown.Você, à mão, em Markdown com front matter YAML.
Onde ficaNo GitHub, restrito a um repositório. Leia e exclua em Repository → Settings → Copilot → Memory; não existe arquivo na sua árvore de trabalho.No repositório, em .github/copilot-instructions.md, na raiz do projeto.No repositório, em .github/instructions/, um arquivo por escopo.
Quando carregaAutomaticamente, mas só depois que as citações são validadas contra o branch atual.Em todo pedido naquele repositório, para o chat, os agentes e o code review.Só quando o glob applyTo corresponde a um arquivo em jogo, ou quando o agente julga a description relevante.
Quanto tempo dura28 dias; uma memória validada e reutilizada é reescrita, o que estende a vida dela.Até alguém alterar ou excluir o arquivo — ele é versionado junto com o código.Até alguém alterar ou excluir o arquivo.
Quem pode verQualquer pessoa que trabalhe naquele repositório e tenha o Copilot Memory ativado; as memórias nunca saem do repositório.Qualquer pessoa com acesso ao repositório, além de todo agente e revisor que o lê.Qualquer pessoa com acesso ao repositório.
Como você editaExclui nas configurações do repositório — a ferramenta de memória só cria, não consegue ver nem excluir.Abrindo um pull request, como qualquer outro arquivo.Abrindo um pull request, como qualquer outro arquivo.
Ideal paraConvenções que ninguém documentou, o formato de uma correção que o revisor repete sempre, padrões seguros para esta base de código.Stack e versões, os comandos exatos de build e teste, o mapa de pastas, regras de segurança e de revisão.Regras de framework em um monorepo, convenções de arquivos de teste, o estilo de uma pasta, as convenções de uma linguagem específica.

Um template de instruções personalizadas que cobre as seis coisas de que o Copilot realmente precisa

A orientação do próprio GitHub é manter o arquivo curto e específico: qual é a stack, como rodar as coisas, onde o código vive, quais convenções são obrigatórias e o que evitar. Os blocos abaixo foram escritos para serem copiados e depois enxugados — exclua qualquer linha que o agente poderia descobrir lendo o repositório, porque um arquivo de instruções inchado dilui as regras que importam. Salve como .github/copilot-instructions.md na raiz do repositório.

# .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.
O template para o repositório inteiro, pronto para colar. Cada título corresponde a um bloco explicado abaixo.
  • 1Projeto e stack — nomeie o framework, o modo de linguagem e o gerenciador de pacotes em uma linha. É o bloco que impede o agente de ficar na dúvida entre npm, pnpm e yarn e de gerar um lockfile que você não pediu.
  • 2Comandos — os comandos exatos de build, lint, teste e teste de um único arquivo, copiados da sua configuração de CI em vez de memória. Um comando de teste errado é a linha mais cara que você pode deixar de fora.
  • 3Estrutura — onde ficam rotas, componentes, acesso a dados e testes. Aponte diretórios em vez de descrever a arquitetura em prosa; um caminho é verificável, um parágrafo não.
  • 4Convenções — nomenclatura, tratamento de erros, ordem de imports e regras de formatação que o seu time realmente cobra. Mantenha cada regra binária: ou o código segue, ou não segue.
  • 5Testes e revisão — o que precisa vir acompanhado de teste, o que uma revisão deve verificar e a sua convenção de commit ou branch. É o bloco que transforma uma memória que você precisaria em garantia.
  • 6Não faça — os antipadrões. Arquivos gerados, dependências novas sem aviso, refatorações fora do escopo, segredos em logs. Regras negativas são o jeito mais barato de evitar uma classe inteira de pull requests ruins.

Reduza o escopo com um segundo arquivo

Mantenha o arquivo do repositório curto movendo regras específicas de pasta para arquivos próprios em .github/instructions/. O front matter é o que faz isso funcionar: applyTo anexa o arquivo automaticamente aos caminhos correspondentes e description permite que o agente o puxe para a tarefa certa. O VS Code documenta name, description e applyTo como os campos aceitos.

---
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.
Um arquivo de instruções por caminho: três campos de front matter e depois regras que valem só para uma pasta.

Deixe suas preferências fora do arquivo do repositório

Tudo o que é sobre você e não sobre o projeto — tamanho da resposta, tom, o jeito como você quer que os diffs sejam explicados — pertence às instruções pessoais. O Copilot CLI e o host de agentes leem ~/.copilot/copilot-instructions.md; no github.com, abra o Copilot Chat, clique na sua foto de perfil e escolha Personal instructions, onde o GitHub também oferece templates com placeholders como [format]. As instruções pessoais têm prioridade sobre as instruções de repositório e de organização, então uma preferência definida ali não precisa ser repetida em cada repositório.

Duas últimas regras que valem para todos os blocos: nunca coloque segredos, tokens ou dados de clientes em um arquivo de instruções versionado, e nunca deixe as instruções do repositório e uma memória dizerem coisas diferentes — quando elas entram em conflito, o Copilot segue os dois conjuntos de contexto como consegue e o resultado é imprevisível. Se uma memória insiste em contradizer uma regra que você escreveu, exclua a memória em vez de enfraquecer a regra.

Perguntas frequentes sobre o Copilot Memory

Continue explorando