> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Créez des workflows Cascade réutilisables sous forme de fichiers markdown pour automatiser des tâches répétitives comme les déploiements, les revues de PR et le formatage du code avec des commandes slash.

Les workflows permettent aux utilisateurs de définir une série d’étapes pour guider Cascade dans l’exécution de tâches répétitives, comme le déploiement d’un service ou la réponse à des commentaires sur des 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 invoqués dans Cascade via une commande slash au format `/[name-of-workflow]`

<div id="how-it-works">
  ## Fonctionnement
</div>

Les règles fournissent généralement des indications aux grands modèles de langage grâce à un contexte persistant et réutilisable au niveau du prompt.

Les Workflows étendent ce concept en fournissant, au niveau de la trajectoire, une séquence structurée d'étapes ou de prompts qui guide le modèle à travers une série de tâches ou d'actions interconnectées.

<Frame>
  <img style={{ maxHeight: "400px" }} src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/use-workflow-pr.png?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=92b4125d6d17f2a25ffea890592331fc" width="718" height="510" data-path="desktop/assets/windsurf/cascade/use-workflow-pr.png" />
</Frame>

Pour exécuter un Workflow, les utilisateurs n'ont qu'à l'invoquer dans Cascade à l'aide de la commande `/[workflow-name]`.

<Tip>Vous pouvez appeler d'autres Workflows depuis un Workflow ! <br /><br />Par exemple, /workflow-1 peut inclure des instructions comme « Appeler /workflow-2 » et « Appeler /workflow-3 ».</Tip>

Une fois invoqué, Cascade traite séquentiellement chaque étape définie dans le Workflow, en exécutant les actions ou en générant les réponses spécifiées.

<div id="how-to-create-a-workflow">
  ## Comment créer un Workflow
</div>

Pour commencer avec les Workflows, cliquez sur l’icône `Customizations` dans le menu coulissant situé en haut à droite de Cascade, puis accédez au 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 des répertoires `.windsurf/workflows/` et contiennent un titre, une description et une série d’étapes avec des instructions spécifiques à suivre par Cascade.

<div id="workflow-discovery">
  ## Découverte des workflows
</div>

Windsurf détecte automatiquement les workflows à partir de plusieurs emplacements afin d'offrir une organisation flexible :

* **Espace de travail actuel et sous-répertoires** : tous les répertoires `.windsurf/workflows/` présents dans votre espace de travail actuel et dans 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 espaces de travail** : lorsque plusieurs dossiers sont ouverts dans le même espace de travail, les workflows sont dédupliqués et affichés avec le chemin relatif le plus court

<div id="workflow-storage-locations">
  ### Emplacements de stockage des workflows
</div>

Les workflows peuvent être stockés dans l’un des emplacements suivants :

* `.windsurf/workflows/` dans le répertoire de votre espace de travail actuel
* `.windsurf/workflows/` dans n’importe quel sous-répertoire de votre espace de travail
* `.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 espace de travail actuel, pas nécessairement à la racine Git.

Chaque fichier de workflow est limité à 12000 caractères.

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/create-workflow.mp4?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=b0f3d54a0d24966384a91042468f72bf" data-path="desktop/assets/windsurf/cascade/create-workflow.mp4" />

<div id="generate-a-workflow-with-cascade">
  ### Générer un workflow avec Cascade
</div>

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

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/create-workflow-with-cascade.mp4?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=f14c9012ab0e92d631b808072c439f60" data-path="desktop/assets/windsurf/cascade/create-workflow-with-cascade.mp4" />

<div id="example-workflows">
  ## Exemples de workflows
</div>

Il existe une multitude de cas d’usage pour les workflows, par exemple :

<Card title="/address-pr-comments">
  Voici un workflow que notre équipe utilise en interne pour traiter les commentaires sur les PR :

  ```
  1. Basculez sur 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 ce qui suit : "(index). De [user] sur [file]:[lines] — [body]"
   b. Analysez le fichier et la plage de lignes.
   c. Si vous ne comprenez pas le commentaire, n’apportez aucune modification. Demandez-moi simplement des précisions, ou demandez-moi de l’implémenter moi-même.
   d. Si vous pensez pouvoir effectuer la modification, faites-la 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.
  ```
</Card>

<Card title="/git-workflows">
  Effectuez des commits à l’aide de formats prédéfinis et créez des pull requests avec des titres et des descriptions standardisés à l’aide des commandes CLI appropriées.
</Card>

<Card title="/dependency-management">
  Automatisez l’installation ou la mise à jour des dépendances du projet à partir d’un fichier de configuration (par ex., requirements.txt, package.json).
</Card>

<Card title="/code-formatting">
  Exécutez automatiquement des outils de formatage du code (comme Prettier, Black) et des linters (comme ESLint, Flake8) lors de l’enregistrement des fichiers ou avant un commit afin de maintenir le style du code et de détecter les erreurs rapidement.
</Card>

<Card title="/run-tests-and-fix">
  Exécutez ou ajoutez des tests unitaires ou de bout en bout, et corrigez automatiquement les erreurs afin de garantir la qualité du code avant le commit, la fusion ou le déploiement.
</Card>

<Card title="/deployment">
  Automatisez les étapes nécessaires pour déployer votre application dans différents environnements (développement, staging, production), y compris les vérifications nécessaires avant ou après le déploiement.
</Card>

<Card title="/security-scan">
  Intégrez et déclenchez des analyses des vulnérabilités de sécurité sur votre base de code dans le cadre du pipeline CI/CD ou à la demande.
</Card>

<div id="system-level-workflows-enterprise">
  ## Workflows système (Enterprise)
</div>

Les organisations Enterprise peuvent déployer des workflows système, disponibles globalement dans tous les espaces de travail et que les utilisateurs finaux ne peuvent pas modifier sans autorisations d’administrateur. C’est idéal pour imposer des processus de développement à l’échelle de l’organisation, des procédures de déploiement et des workflows de conformité.

Les workflows système sont chargés à partir de répertoires propres au système d’exploitation :

**macOS :**

```
/Library/Application Support/Windsurf/workflows/*.md
```

**Linux/WSL :**

```
/etc/windsurf/workflows/*.md
```

**Windows :**

```
C:\ProgramData\Windsurf\workflows\*.md
```

Placez vos fichiers de workflow (fichiers `.md`) dans le répertoire correspondant à votre système d’exploitation. Le système chargera automatiquement tous les fichiers `.md` contenus dans ces répertoires.

<div id="workflow-precedence">
  ### Ordre de priorité des workflows
</div>

Lorsque des workflows portant le même nom existent à plusieurs niveaux, les workflows système ont la priorité la plus élevée :

1. **Système** (priorité la plus élevée) - Workflows déployés à l’échelle de l’organisation par l’équipe informatique
2. **Espace de travail** - Workflows spécifiques à un projet dans `.windsurf/workflows/`
3. **Global** - Workflows définis par l’utilisateur
4. **Intégrés** - Workflows par défaut fournis par Windsurf

Cela signifie que si une organisation déploie un workflow système avec un nom donné, il remplacera tout workflow d’espace de travail, global ou intégré portant le même nom.

Dans l’UI Cascade, les workflows système sont affichés avec le libellé "System" et ne peuvent pas être supprimés par les utilisateurs finaux.

<Note>
  **Important** : les workflows système doivent être gérés par votre équipe informatique ou sécurité. Assurez-vous que vos équipes internes prennent en charge le déploiement, les mises à jour et la conformité conformément aux politiques de votre organisation. Vous pouvez pour cela utiliser des outils et workflows standard tels que la gestion des appareils mobiles (MDM) ou la gestion de la configuration.
</Note>
