> ## 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

> デプロイ、PR レビュー、コード整形などの反復作業を、スラッシュコマンドで自動化できる再利用可能な Cascade の Workflows を Markdown ファイルとして作成します。

Workflows は、サービスのデプロイや PR コメントへの対応といった反復作業に対し、Cascade を導くための一連の手順を定義できます。

これらの Workflows は markdown ファイルとして保存され、ユーザーやチームが主要なプロセスを簡単かつ確実に再実行できる形で運用できます。

保存後は、Cascade 内で `/[name-of-workflow]` という形式のスラッシュコマンドで呼び出せます。

<div id="how-it-works">
  ## 仕組み
</div>

Rules は、プロンプトレベルで永続的かつ再利用可能なコンテキストを提供することで、一般に大規模言語モデルに指針を与えます。

Workflows はこの概念を拡張し、トラジェクトリレベルで一連の手順やプロンプトを構造化して提供することで、相互に関連するタスクやアクションの流れに沿って AI モデルを導きます。

<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>

Workflow を実行するには、Cascade で `/[workflow-name]` コマンドを呼び出すだけです。

<Tip>Workflow の中から別の Workflow を呼び出すこともできます！<br /><br />例えば、/workflow-1 に「/workflow-2 を呼び出す」「/workflow-3 を呼び出す」といった指示を含められます。</Tip>

呼び出されると、Cascade は Workflow で定義された各ステップを順に処理し、指定どおりにアクションの実行や応答の生成を行います。

<div id="how-to-create-a-workflow">
  ## ワークフローの作成方法
</div>

Workflows を始めるには、Cascade の右上にあるスライダーメニューで `Customizations` アイコンをクリックし、`Workflows` パネルに移動します。ここで `+ Workflow` ボタンをクリックすると、新しい Workflow を作成できます。

Workflows は `.windsurf/workflows/` ディレクトリ内の Markdown ファイルとして保存され、タイトル、説明、そして Cascade が従うべき具体的な指示を含む一連の手順で構成されます。

<div id="workflow-discovery">
  ## ワークフローの検出
</div>

Windsurf は複数の場所からワークフローを自動的に検出し、柔軟に整理します:

* **現在のワークスペースとサブディレクトリ**: 現在のワークスペースおよびそのサブディレクトリ内のすべての `.windsurf/workflows/` ディレクトリ
* **Git リポジトリ構造**: Git リポジトリでは、親ディレクトリのワークフローを見つけるために Git のルートディレクトリまで遡って検索します
* **複数ワークスペースのサポート**: 同一ワークスペースで複数のフォルダーを開いている場合、ワークフローは重複を除外し、最短の相対パスで表示します

<div id="workflow-storage-locations">
  ### ワークフローの保存場所
</div>

ワークフローは次のいずれの場所にも保存できます:

* 現在のワークスペース ディレクトリ内の `.windsurf/workflows/`
* ワークスペース内の任意のサブディレクトリにある `.windsurf/workflows/`
* 親ディレクトリ（Git リポジトリの場合は Git ルートまで）にある `.windsurf/workflows/`

新しいワークフローを作成すると、Git のルートではなく、現在のワークスペースの `.windsurf/workflows/` ディレクトリに保存されます。

ワークフロー ファイルは、1 ファイルあたり 12,000 文字までです。

<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">
  ### Cascade でワークフローを作成する
</div>

Cascade にワークフローの作成を依頼することもできます。特定の CLI ツールで、一連の手順から成るワークフローに特に適しています。

<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">
  ## ワークフロー例
</div>

Workflows には多様なユースケースがあります。例えば次のとおりです:

<Card title="/address-pr-comments">
  これは、PR コメントへの対応に社内で使用している Workflow です:

  ```
  1. PR ブランチをチェックアウト: `gh pr checkout [id]`

  2. 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. 各コメントごとに以下を実施。必ず1つずつ順に対応すること。
   a. 次の形式で出力: 「(index). From [user] on [file]:[lines] — [body]」
   b. ファイルと該当行範囲を分析する。
   c. コメントの意図が不明な場合は変更しない。私に確認するか、私が実装できるよう依頼する。
   d. 変更できると判断したら、次のコメントへ進む前に必ず変更を行う。

  4. すべてのコメントを処理したら、実施内容の要約と、ユーザー側の対応が必要なコメントをまとめる。
  ```
</Card>

<Card title="/git-workflows">
  あらかじめ定義した形式でコミットし、適切な CLI コマンドを使って、標準化されたタイトルと説明のプルリクエストを作成します。
</Card>

<Card title="/dependency-management">
  設定ファイル（例: requirements.txt、package.json）に基づいて、プロジェクトの依存関係のインストールや更新を自動化します。
</Card>

<Card title="/code-formatting">
  ファイル保存時やコミット前に、コードフォーマッタ（例: Prettier、Black）やリンター（例: ESLint、Flake8）を自動実行し、コードスタイルの維持と早期のエラー検出を行います。
</Card>

<Card title="/run-tests-and-fix">
  ユニットテストや E2E テストを実行・追加し、コミット、マージ、デプロイ前にコード品質を確保するため、エラーを自動修正します。
</Card>

<Card title="/deployment">
  必要な事前チェックやデプロイ後の検証を含め、アプリケーションを各環境（開発・ステージング・本番）へデプロイする手順を自動化します。
</Card>

<Card title="/security-scan">
  CI/CD パイプラインの一部として、またはオンデマンドで、コードベースのセキュリティ脆弱性スキャンを統合・実行します。
</Card>

<div id="system-level-workflows-enterprise">
  ## システムレベルのワークフロー (Enterprise)
</div>

Enterprise プランをご利用の組織では、すべてのワークスペースでグローバルに利用でき、管理者権限なしのエンドユーザーは変更できないシステムレベルのワークフローをデプロイできます。これは、組織全体で統一された開発プロセス、デプロイ手順、コンプライアンス関連ワークフローを徹底するのに最適です。

システムレベルのワークフローは、OS 固有のディレクトリから読み込まれます。

**macOS:**

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

**Linux/WSL：**

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

**Windows の場合:**

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

ワークフローファイル（`.md` ファイル）を、お使いのオペレーティングシステムの所定のディレクトリに配置してください。システムはこれらのディレクトリ内のすべての `.md` ファイルを自動的に読み込みます。

<div id="workflow-precedence">
  ### ワークフローの優先順位
</div>

同名のワークフローが複数レベルに存在する場合、システムレベルのワークフローが最も高い優先順位を持ちます。

1. **System**（最優先） - IT によって組織全体にデプロイされるワークフロー
2. **Workspace** - `.windsurf/workflows/` 内のプロジェクト固有のワークフロー
3. **Global** - ユーザー定義のワークフロー
4. **Built-in** - Windsurf によって提供されるデフォルトのワークフロー

つまり、組織が特定の名前のシステムレベルのワークフローをデプロイした場合、そのワークフローは同じ名前の Workspace、Global、Built-in のいずれのワークフローよりも優先されます。

Cascade の UI では、システムレベルのワークフローには「System」ラベルが表示され、エンドユーザーが削除することはできません。

<Note>
  **重要**: システムレベルのワークフローは、IT またはセキュリティチームが管理する必要があります。組織のポリシーに従って、デプロイや更新、コンプライアンス対応を社内チームが適切に行うようにしてください。そのために、Mobile Device Management (MDM) や構成管理ツールなどの標準的なツールやワークフローを利用できます。
</Note>
