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.
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.
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
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.
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.
Os arquivos de regras são limitados a 12.000 caracteres cada.
No nível da regra, você pode definir como ela deve ser ativada no Cascade.
Há 4 modos:
- Manual: Esta regra pode ser ativada manualmente via
@mention na caixa de entrada do Cascade
- Sempre ativo: Esta regra será sempre aplicada
- 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.
- 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.
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>