Memories é o sistema para compartilhar e manter contexto entre conversas. Há dois mecanismos para isso no Windsurf: Memories, que podem ser geradas automaticamente pelo Cascade, e regras, que são definidas manualmente pelo usuário nos níveis local e global.

Como gerenciar Memories

Memories e Rules podem ser acessados e configurados a qualquer momento clicando no ícone Customizations no menu deslizante no canto superior direito do Cascade, ou por “Windsurf - Settings” no canto inferior direito. Para editar uma Memory existente, basta clicar nela e depois clicar no botão Edit.

Memórias

Durante a conversa, o Cascade pode gerar e armazenar memórias automaticamente se encontrar um contexto que considere útil manter. Além disso, você pode pedir ao Cascade para criar uma memória a qualquer momento. Basta solicitar ao Cascade: “crie uma memória de …”. As memórias geradas automaticamente pelo Cascade ficam associadas ao workspace em que foram criadas, e o Cascade as recuperará quando considerar que são relevantes. Memórias geradas em um workspace não ficam disponíveis em outro.
Criar e usar memórias geradas automaticamente NÃO consome créditos

Regras

Os usuários podem definir explicitamente suas próprias regras para o Cascade seguir. As regras podem ser definidas no nível global ou no nível do workspace. global_rules.md - regras aplicadas a todos os workspaces .windsurf/rules - diretório no nível do workspace que contém regras associadas a globs ou descrições em linguagem natural.

Descoberta de regras

Windsurf descobre automaticamente regras em vários locais para oferecer organização flexível:
  • Workspace atual e subdiretórios: Todos os diretórios .windsurf/rules dentro do seu workspace atual e de seus subdiretórios
  • Estrutura do repositório Git: Para repositórios Git, o Windsurf também pesquisa até o diretório raiz do Git para encontrar regras em diretórios pai
  • Suporte a múltiplos workspaces: Quando várias pastas estão abertas no mesmo workspace, as regras são deduplicadas e exibidas com o menor caminho relativo

Locais de armazenamento de regras

As regras podem ser armazenadas em qualquer um destes locais:
  • .windsurf/rules no diretório do seu workspace atual
  • .windsurf/rules em qualquer subdiretório do seu workspace
  • .windsurf/rules em diretórios pai até a raiz do Git (para repositórios Git)
Quando você cria uma nova regra, ela é salva no diretório .windsurf/rules do seu workspace atual, não necessariamente na raiz do Git. Para começar a usar Rules, clique no ícone Customizations no menu deslizante superior direito do Cascade e vá até o painel Rules. Lá, você pode clicar no botão + Global ou + Workspace para criar novas regras nos níveis global ou de workspace, respectivamente.
Você pode encontrar modelos de regras de exemplo selecionados pela equipe da Windsurf em https://windsurf.com/editor/directory para ajudar você a começar.
Os arquivos de regras são limitados a 12.000 caracteres cada.

Modos de ativação

No nível da regra, você pode definir como ela deve ser ativada no Cascade. Há 4 modos:
  1. Manual: Esta regra pode ser ativada manualmente via @mention na caixa de entrada do Cascade
  2. Sempre ativo: Esta regra será sempre aplicada
  3. Decisão do modelo: Com base em uma descrição em linguagem natural da regra definida pelo usuário, o modelo de IA decide se deve aplicar a regra.
  4. Glob: Com base no padrão glob definido pelo usuário (por exemplo, .js, src/**/.ts), esta regra será aplicada a todos os arquivos que correspondam ao padrão.

Práticas recomendadas

Para ajudar o Cascade a seguir suas regras com eficácia, adote estas práticas recomendadas:
  • Mantenha as regras simples, concisas e específicas. Regras muito longas ou vagas podem confundir o Cascade.
  • Não é necessário adicionar regras genéricas (por exemplo, “escreva um bom código”), pois isso já está incorporado aos dados de treinamento do Cascade.
  • Formate suas regras usando marcadores, listas numeradas e Markdown. Esse formato é mais fácil para o Cascade seguir do que um parágrafo longo. Por exemplo:
# Diretrizes de Codificação
- A linguagem de programação do meu projeto é Python
- Use retornos antecipados quando possível
- Sempre adicione documentação ao criar novas funções e classes
  • Tags XML podem ser uma forma eficaz de comunicar e agrupar regras semelhantes. Por exemplo:
<coding_guidelines>
- A linguagem de programação do meu projeto é Python
- Use retornos antecipados quando possível
- Sempre adicione documentação ao criar novas funções e classes
</coding_guidelines>