Memories es el sistema para compartir y mantener el contexto entre conversaciones. En Windsurf hay dos mecanismos para esto: Memories, que puede ser generado automáticamente por Cascade, y reglas, que el usuario define manualmente tanto a nivel local como global.

Cómo gestionar Memories

Puedes acceder y configurar Memories y Rules en cualquier momento haciendo clic en el icono de Customizations en el menú deslizante superior derecho de Cascade, o mediante “Windsurf - Settings” en la esquina inferior derecha. Para editar una memory existente, simplemente haz clic en ella y luego en el botón Edit.

Memorias

Durante la conversación, Cascade puede generar y almacenar memorias automáticamente si encuentra contexto que considera útil recordar. Además, puedes pedirle a Cascade que cree una memoria en cualquier momento. Basta con indicarle a Cascade: “create a memory of …”. Las memorias autogeneradas de Cascade están asociadas al workspace en el que se crearon, y Cascade las recuperará cuando las considere relevantes. Las memorias generadas en un workspace no estarán disponibles en otro.
Crear y usar memorias autogeneradas NO consume créditos

Reglas

Los usuarios pueden definir explícitamente sus propias reglas para que Cascade las siga. Las reglas pueden definirse a nivel global o a nivel de workspace. global_rules.md - reglas aplicadas en todos los workspaces .windsurf/rules - directorio a nivel de workspace que contiene reglas asociadas a globs o descripciones en lenguaje natural.

Descubrimiento de reglas

Windsurf detecta automáticamente reglas desde múltiples ubicaciones para ofrecer una organización flexible:
  • workspace actual y subdirectorios: Todos los directorios .windsurf/rules dentro de tu workspace actual y sus subdirectorios
  • Estructura del repositorio Git: Para repositorios Git, Windsurf también busca hasta el directorio raíz de Git para encontrar reglas en los directorios superiores
  • Compatibilidad con múltiples workspaces: Cuando hay varias carpetas abiertas en el mismo workspace, las reglas se desduplican y se muestran con la ruta relativa más corta

Ubicaciones para almacenar Rules

Las Rules pueden almacenarse en cualquiera de estas ubicaciones:
  • .windsurf/rules en el directorio de tu workspace actual
  • .windsurf/rules en cualquier subdirectorio de tu workspace
  • .windsurf/rules en directorios superiores hasta la raíz de git (para repositorios de git)
Cuando crees una nueva rule, se guardará en el directorio .windsurf/rules de tu workspace actual, no necesariamente en la raíz de git. Para comenzar con Rules, haz clic en el ícono Customizations en el menú deslizante superior derecho de Cascade y luego ve al panel Rules. Allí puedes hacer clic en el botón + Global o + Workspace para crear nuevas rules a nivel global o de workspace, respectivamente.
Puedes encontrar plantillas de rules de ejemplo seleccionadas por el equipo de Windsurf en https://windsurf.com/editor/directory para ayudarte a empezar.
Los archivos de Rules tienen un límite de 12 000 caracteres cada uno.

Modos de activación

A nivel de regla, puedes definir cómo debe activarse una regla para Cascade. Hay 4 modos:
  1. Manual: Esta regla puede activarse manualmente mediante una @mención en el cuadro de entrada de Cascade
  2. Siempre activo: Esta regla se aplicará siempre
  3. Decisión del modelo: Con base en una descripción en lenguaje natural de la regla definida por el usuario, el modelo de IA decide si aplicar la regla.
  4. Glob: Con base en el patrón glob que defina el usuario (p. ej., .js, src/**/.ts), esta regla se aplicará a todos los archivos que coincidan con el patrón.

Mejores prácticas

Para ayudar a Cascade a seguir tus reglas de manera efectiva, aplica estas mejores prácticas:
  • Mantén las reglas simples, concisas y específicas. Las reglas demasiado largas o vagas pueden confundir a Cascade.
  • No es necesario añadir reglas genéricas (p. ej., “write good code”), ya que eso ya está incorporado en los datos de entrenamiento de Cascade.
  • Da formato a tus reglas con viñetas, listas numeradas y Markdown. A Cascade le resulta más fácil seguir esto que un párrafo largo. Por ejemplo:
# Directrices de Codificación
- El lenguaje de programación de mi proyecto es Python
- Utiliza retornos tempranos cuando sea posible
- Siempre añade documentación al crear nuevas funciones y clases
  • Las etiquetas XML pueden ser una forma eficaz de expresar y agrupar reglas similares. Por ejemplo:
<coding_guidelines>
- El lenguaje de programación de mi proyecto es Python
- Usa retornos tempranos cuando sea posible
- Siempre agrega documentación al crear nuevas funciones y clases
</coding_guidelines>