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

# Workflows

> Crie Workflows reutilizáveis do Cascade como arquivos Markdown para automatizar tarefas repetitivas, como deploys, revisões de PR e formatação de código com comandos de barra.

Workflows permitem que os usuários definam uma série de etapas para orientar o Cascade em um conjunto repetitivo de tarefas, como fazer o deploy de um serviço ou responder a comentários em PRs.

Esses Workflows são salvos como arquivos Markdown, permitindo que usuários e suas equipes executem processos essenciais de forma fácil e repetível.

Depois de salvos, os Workflows podem ser acionados no Cascade por meio de um comando com barra no formato `/[name-of-workflow]`

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

As regras geralmente orientam os modelos de linguagem ao fornecer um contexto persistente e reutilizável no nível do prompt.

Os Workflows ampliam esse conceito ao fornecer uma sequência estruturada de etapas ou prompts no nível da trajetória, guiando o modelo por uma série de tarefas ou ações interconectadas.

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

Para executar um Workflow, basta acioná-lo no Cascade usando o comando `/[workflow-name]`.

<Tip>Você pode chamar outros Workflows de dentro de um Workflow! <br /><br />Por exemplo, /workflow-1 pode incluir instruções como "Chamar /workflow-2" e "Chamar /workflow-3".</Tip>

Ao ser acionado, o Cascade processa sequencialmente cada etapa definida no Workflow, executando ações ou gerando respostas conforme especificado.

<div id="how-to-create-a-workflow">
  ## Como criar um Workflow
</div>

Para começar a usar Workflows, clique no ícone `Customizations` no menu deslizante no canto superior direito do Cascade e, em seguida, vá até o painel `Workflows`. Lá, você pode clicar no botão `+ Workflow` para criar um novo Workflow.

Os Workflows são salvos como arquivos Markdown dentro dos diretórios `.windsurf/workflows/` e incluem um título, uma descrição e uma série de etapas com instruções específicas para o Cascade executar.

<div id="workflow-discovery">
  ## Descoberta de workflows
</div>

O Windsurf descobre automaticamente workflows em vários locais para oferecer uma organização flexível:

* **Workspace atual e subdiretórios**: Todos os diretórios `.windsurf/workflows/` dentro do seu workspace atual e de seus subdiretórios
* **Estrutura do repositório Git**: Em repositórios Git, o Windsurf também pesquisa até o diretório raiz do Git para encontrar workflows em diretórios pai
* **Suporte a múltiplos workspaces**: Quando várias pastas estão abertas no mesmo workspace, os workflows são desduplicados e exibidos com o caminho relativo mais curto

<div id="workflow-storage-locations">
  ### Locais de armazenamento de workflows
</div>

Workflows podem ser armazenados em qualquer um destes locais:

* `.windsurf/workflows/` no diretório do seu workspace atual
* `.windsurf/workflows/` em qualquer subdiretório do seu workspace
* `.windsurf/workflows/` em diretórios superiores até a raiz do Git (para repositórios Git)

Ao criar um novo workflow, ele será salvo no diretório `.windsurf/workflows/` do seu workspace atual, não necessariamente na raiz do Git.

Cada arquivo de workflow é limitado a 12.000 caracteres.

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

<div id="generate-a-workflow-with-cascade">
  ### Gerar um Workflow com o Cascade
</div>

Você também pode pedir ao Cascade para gerar Workflows para você! Isso funciona especialmente bem para Workflows que envolvem uma sequência de etapas em uma ferramenta de linha de comando (CLI) específica.

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

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

Há uma variedade de casos de uso para Workflows, como:

<Card title="/address-pr-comments">
  Este é um Workflow que nossa equipe usa internamente para tratar comentários em PR:

  ```
  1. Faça checkout da branch do PR: `gh pr checkout [id]`

  2. Obtenha os comentários do 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. Para CADA comentário, faça o seguinte. Lembre-se de tratar um comentário por vez.
   a. Imprima o seguinte: "(index). De [user] em [file]:[lines] — [body]"
   b. Analise o arquivo e o intervalo de linhas.
   c. Se você não entender o comentário, não faça nenhuma alteração. Apenas me peça esclarecimentos ou que eu implemente eu mesmo.
   d. Se você achar que consegue fazer a alteração, faça-a ANTES de passar para o próximo comentário.

  4. Depois que todos os comentários forem processados, resuma o que você fez e quais comentários precisam da atenção do USUÁRIO.
  ```
</Card>

<Card title="/git-workflows">
  Faça commits usando formatos predefinidos e crie pull requests com títulos e descrições padronizados usando os comandos de CLI apropriados.
</Card>

<Card title="/dependency-management">
  Automatize a instalação ou atualização de dependências do projeto com base em um arquivo de configuração (por exemplo, requirements.txt, package.json).
</Card>

<Card title="/code-formatting">
  Execute automaticamente formatadores de código (como Prettier, Black) e linters (como ESLint, Flake8) ao salvar o arquivo ou antes de fazer commit para manter o estilo de código e detectar erros antecipadamente.
</Card>

<Card title="/run-tests-and-fix">
  Execute ou adicione testes unitários ou de ponta a ponta e corrija os erros automaticamente para garantir a qualidade do código antes de fazer commit, mesclar ou implantar.
</Card>

<Card title="/deployment">
  Automatize as etapas para implantar sua aplicação em vários ambientes (desenvolvimento, homologação, produção), incluindo as verificações necessárias antes da implantação e as verificações após a implantação.
</Card>

<Card title="/security-scan">
  Integre e dispare varreduras de vulnerabilidades de segurança na sua base de código como parte do pipeline de CI/CD ou sob demanda.
</Card>

<div id="system-level-workflows-enterprise">
  ## Workflows em Nível de Sistema (Enterprise)
</div>

Organizações Enterprise podem implantar workflows em nível de sistema que ficam disponíveis globalmente em todos os workspaces e não podem ser modificados por usuários finais sem permissões de administrador. Isso é ideal para garantir processos de desenvolvimento em toda a organização, procedimentos de implantação e workflows de conformidade.

Workflows em nível de sistema são carregados a partir de diretórios específicos do sistema operacional:

**macOS:**

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

**Linux/WSL:**

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

**Windows:**

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

Coloque seus arquivos de workflow (como arquivos `.md`) no diretório adequado ao seu sistema operacional. O sistema carregará automaticamente todos os arquivos `.md` desses diretórios.

<div id="workflow-precedence">
  ### Precedência de workflows
</div>

Quando há workflows com o mesmo nome em vários níveis, os workflows em nível de sistema têm a precedência mais alta:

1. **Sistema** (maior prioridade) - Workflows válidos para toda a organização, implantados pela equipe de TI
2. **Workspace** - Workflows específicos de projeto em `.windsurf/workflows/`
3. **Global** - Workflows definidos pelo usuário
4. **Integrado** - Workflows padrão fornecidos pelo Windsurf

Isso significa que, se uma organização implantar um workflow em nível de sistema com um determinado nome, ele substituirá qualquer workflow de workspace, global ou integrado com o mesmo nome.

Na interface do Cascade, workflows em nível de sistema são exibidos com o rótulo "System" e não podem ser excluídos por usuários finais.

<Note>
  **Importante**: Workflows em nível de sistema devem ser gerenciados pela sua equipe de TI ou de segurança. Certifique-se de que suas equipes internas cuidem da implantação, atualizações e conformidade de acordo com as políticas da sua organização. Você pode usar ferramentas e workflows padrão, como soluções de Mobile Device Management (MDM) ou de gerenciamento de configuração, para fazer isso.
</Note>
