Les Workflows permettent aux utilisateurs de définir une série d’étapes pour guider Cascade à travers un ensemble de tâches répétitives, comme le déploiement d’un service ou la réponse aux commentaires de PR. Ces Workflows sont enregistrés sous forme de fichiers Markdown, offrant aux utilisateurs et à leurs équipes un moyen simple et reproductible d’exécuter des processus clés. Une fois enregistrés, les Workflows peuvent être déclenchés dans Cascade via une commande slash au format /[name-of-workflow]

Fonctionnement

Les règles fournissent généralement aux grands modèles de langage des indications en offrant un contexte persistant et réutilisable au niveau du prompt. Les Workflows étendent ce concept en définissant une séquence structurée d’étapes ou de prompts au niveau de la trajectoire, guidant le modèle à travers une série de tâches ou d’actions interconnectées.
Pour exécuter un Workflow, il suffit de l’appeler dans Cascade à l’aide de la commande /[workflow-name].
Vous pouvez appeler d’autres Workflows depuis un Workflow !

Par exemple, /workflow-1 peut inclure des instructions comme « Appeler /workflow-2 » et « Appeler /workflow-3 ».
Une fois appelé, Cascade traite séquentiellement chaque étape définie dans le Workflow, en exécutant les actions ou en générant les réponses prévues.

Comment créer un Workflow

Pour commencer avec les Workflows, cliquez sur l’icône Customizations dans le menu latéral en haut à droite de Cascade, puis ouvrez le panneau Workflows. Vous pouvez ensuite cliquer sur le bouton + Workflow pour créer un nouveau Workflow. Les Workflows sont enregistrés sous forme de fichiers Markdown dans les répertoires .windsurf/workflows/ et contiennent un titre, une description, ainsi qu’une série d’étapes avec des instructions spécifiques que Cascade doit suivre.

Découverte des workflows

Windsurf découvre automatiquement des workflows depuis plusieurs emplacements pour offrir une organisation flexible :
  • Workspace actuel et sous-répertoires : tous les répertoires .windsurf/workflows/ au sein de votre workspace actuel et de ses sous-répertoires
  • Structure du dépôt Git : pour les dépôts Git, Windsurf remonte également jusqu’à la racine du dépôt afin de trouver des workflows dans les répertoires parents
  • Prise en charge de plusieurs workspaces : lorsque plusieurs dossiers sont ouverts dans le même workspace, les workflows sont dédupliqués et affichés avec le chemin relatif le plus court

Emplacements de stockage des workflows

Les workflows peuvent être stockés aux emplacements suivants :
  • .windsurf/workflows/ dans le répertoire de votre workspace actuel
  • .windsurf/workflows/ dans n’importe quel sous-répertoire de votre workspace
  • .windsurf/workflows/ dans les répertoires parents jusqu’à la racine Git (pour les dépôts Git)
Lorsque vous créez un nouveau workflow, il est enregistré dans le répertoire .windsurf/workflows/ de votre workspace actuel, pas nécessairement à la racine Git. Les fichiers de workflow sont limités à 12 000 caractères chacun.

Générer un workflow avec Cascade

Vous pouvez aussi demander à Cascade de générer des workflows pour vous ! Cela fonctionne particulièrement bien pour les workflows qui enchaînent une série d’étapes dans un outil CLI spécifique.

Exemples de Workflows

Il existe une multitude de cas d’usage pour les Workflows, tels que :

/address-pr-comments

Voici un Workflow que notre équipe utilise en interne pour traiter les commentaires de PR :
1. Récupérez la branche de la PR : `gh pr checkout [id]`

2. Récupérez les commentaires de la PR

 bash
 gh api --paginate repos/[owner]/[repo]/pulls/[id]/comments | jq '.[] | {user: .user.login, body, path, line, original_line, created_at, in_reply_to_id, pull_request_review_id, commit_id}'

3. Pour CHAQUE commentaire, procédez comme suit. N’oubliez pas de traiter un commentaire à la fois.
 a. Affichez : « (index). De [user] sur [file]:[lines] — [body] »
 b. Analysez le fichier et l’intervalle de lignes.
 c. Si vous ne comprenez pas le commentaire, ne faites aucun changement. Demandez-moi simplement des précisions ou de l’implémenter moi‑même.
 d. Si vous pensez pouvoir faire le changement, faites‑le AVANT de passer au commentaire suivant.

4. Une fois tous les commentaires traités, résumez ce que vous avez fait et indiquez quels commentaires nécessitent l’attention de l’UTILISATEUR.

/git-workflows

Validez en utilisant des formats prédéfinis et créez des pull requests avec un titre et des descriptions standardisés à l’aide des commandes CLI appropriées.

/dependency-management

Automatisez l’installation ou la mise à jour des dépendances du projet à partir d’un fichier de configuration (p. ex. requirements.txt, package.json).

/code-formatting

Exécutez automatiquement des formateurs de code (comme Prettier, Black) et des analyseurs (comme ESLint, Flake8) à l’enregistrement du fichier ou avant le commit afin de maintenir un style de code cohérent et de détecter les erreurs tôt.

/run-tests-and-fix

Exécutez ou ajoutez des tests unitaires ou de bout en bout et corrigez automatiquement les erreurs pour garantir la qualité du code avant de valider, fusionner ou déployer.

/deployment

Automatisez les étapes de déploiement de votre application vers divers environnements (développement, préproduction, production), y compris les vérifications nécessaires avant le déploiement et les validations après déploiement.

/security-scan

Intégrez et déclenchez des analyses de vulnérabilités de sécurité sur votre base de code dans le cadre du pipeline CI/CD ou à la demande.