Memories est le système qui permet de partager et de conserver le contexte entre les conversations. Dans Cascade, il existe deux mécanismes à cet effet : les Memories, que Cascade peut générer automatiquement, et les règles, définies manuellement par l’utilisateur aux niveaux local et global.

Comment gérer les Memories

Les Memories et les Rules sont accessibles et peuvent être configurées à tout moment en cliquant sur l’icône Customisations dans le menu coulissant en haut à droite de Cascade. Pour modifier une Memory existante, cliquez simplement dessus, puis cliquez sur le bouton Edit.

Mémoires

Au cours d’une conversation, Cascade peut générer et stocker automatiquement des mémoires lorsqu’il rencontre un contexte qu’il juge utile de retenir. Vous pouvez également demander à Cascade de créer une mémoire à tout moment. Il suffit de lui demander : « créer une mémoire de … ». Les mémoires générées automatiquement par Cascade sont associées au workspace dans lequel elles ont été créées, et Cascade les retrouvera lorsqu’il estimera qu’elles sont pertinentes. Les mémoires créées dans un workspace ne seront pas disponibles dans un autre.
La création et l’utilisation de mémoires générées automatiquement ne consomment PAS de crédits

Règles

Les utilisateurs peuvent définir explicitement leurs propres règles que Cascade doit suivre. Les règles peuvent être définies au niveau global ou au niveau du workspace. global_rules.md - règles appliquées à tous les workspaces .windsurf/rules - répertoire au niveau du workspace contenant des règles associées à des globs ou à des descriptions en langage naturel.

Découverte des règles

Windsurf découvre automatiquement des règles à partir de plusieurs emplacements pour offrir une organisation flexible :
  • Workspace actuel et sous-répertoires : Tous les répertoires .windsurf/rules dans votre workspace actuel et ses sous-répertoires
  • Structure du dépôt Git : Pour les dépôts Git, Windsurf recherche également jusqu’à la racine du dépôt afin de trouver des règles dans les répertoires parents
  • Prise en charge de plusieurs workspaces : Lorsque plusieurs dossiers sont ouverts dans le même workspace, les règles sont dédupliquées et affichées avec le chemin relatif le plus court

Emplacements de stockage des règles

Les règles peuvent être stockées dans l’un des emplacements suivants :
  • .windsurf/rules dans le répertoire de votre workspace actuel
  • .windsurf/rules dans n’importe quel sous-répertoire de votre workspace
  • .windsurf/rules dans les répertoires parents jusqu’à la racine Git (pour les dépôts Git)
Lorsque vous créez une nouvelle règle, elle est enregistrée dans le répertoire .windsurf/rules de votre workspace actuel, pas nécessairement à la racine Git. Pour commencer avec les règles, cliquez sur l’icône Customisations dans le menu coulissant en haut à droite de Cascade, puis accédez au panneau Rules. Vous pouvez ensuite cliquer sur le bouton + Global ou + Workspace pour créer de nouvelles règles au niveau global ou au niveau du workspace, respectivement.
Vous pouvez trouver des modèles de règles sélectionnés par l’équipe Windsurf à l’adresse https://windsurf.com/editor/directory pour vous aider à démarrer.
Les fichiers de règles sont limités à 12 000 caractères chacun.

Bonnes pratiques

Pour aider Cascade à suivre efficacement vos règles, appliquez ces bonnes pratiques :
  • Rédigez des règles simples, concises et précises. Des règles trop longues ou vagues peuvent dérouter Cascade.
  • Il n’est pas nécessaire d’ajouter des règles génériques (p. ex. « écrire du bon code »), car elles sont déjà intégrées aux données d’entraînement de Cascade.
  • Mettez vos règles en forme avec des puces, des listes numérotées et du Markdown. Elles sont plus faciles à suivre pour Cascade qu’un long paragraphe.
Par exemple :
# Directives de codage 
- Le langage de programmation de mon projet est Python
- Utiliser les retours anticipés lorsque c'est possible
- Toujours ajouter de la documentation lors de la création de nouvelles fonctions et classes
  • Les balises XML peuvent être un moyen efficace d’exprimer et de regrouper des règles similaires. Par exemple :
<coding_guidelines>
- Le langage de programmation de mon projet est Python
- Utilisez des retours anticipés lorsque c'est possible
- Ajoutez toujours de la documentation lors de la création de nouvelles fonctions et classes
</coding_guidelines>