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

# メモリとルール

> Enterprise チーム向けに、グローバル、ワークスペース、システム各レベルで自動生成されるメモリとユーザー定義ルールを活用し、Cascade の会話間でコンテキストを保持します。

`Memories` は、会話をまたいでコンテキストを共有し、保持するためのシステムです。

Windsurf には、これを実現するための仕組みが 2 つあります。Cascade によって自動的に生成される **メモリ** と、ユーザーがグローバル、ワークスペース、またはシステムレベルで手動で定義する **ルール** です。

<div id="memories-rules-workflows-or-skills">
  ## メモリ、ルール、Workflows、それとも Skills？
</div>

Windsurf には、Cascade をカスタマイズするための方法がいくつかあります。適切なものを選ぶには、次の表を参考にしてください。

| Feature                                         | 何をするものか                                          | どのように有効化されるか                                                                  | いつ使うか                                                  |
| ----------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | ------------------------------------------------------ |
| **[Rules](#rules)**                             | Cascade に *どう振る舞うか* を伝える (例: 「npm ではなく bun を使う」) | `always_on`、`glob`、`model_decision`、または `manual` ([以下を参照](#activation-modes)) | コーディング規約、スタイルガイド、プロジェクト上の制約                            |
| **[AGENTS.md](/ja/windsurf/cascade/agents-md)** | 設定不要で、配置場所に応じて適用されるルール                           | 自動 — ルート = 常時有効、サブディレクトリ = glob                                               | frontmatter なしでディレクトリ固有の規約を適用したい場合                     |
| **[Workflows](/ja/windsurf/cascade/workflows)** | 繰り返し使う複数ステップのタスク向けプロンプトテンプレート                    | `/[workflow-name]` スラッシュコマンドによる **手動のみ**                                      | デプロイ、PR レビュー、リリースチェックリスト                               |
| **[Skills](/ja/windsurf/cascade/skills)**       | 補助ファイル (スクリプト、テンプレート) と一緒にまとめられた複数ステップの手順        | モデルが動的に呼び出す、または `@mention`                                                    | Cascade が参照ファイルを必要とする複雑なタスク — **ここに注力してください**          |
| **[Memories](#memories)**                       | 会話中に Cascade が自動生成するコンテキスト                       | 関連する場合に自動取得                                                                   | Cascade に単発の情報を覚えさせたい場合。長く使う知識には、ルール または AGENTS.md を推奨 |

<Tip>
  **推奨:** Cascade に確実に再利用してほしい知識は、自動生成されるメモリに頼るのではなく、ルールとして記述するか、リポジトリの `AGENTS.md` に追加してください。ルールはバージョン管理でき、チームで共有でき、有効化を明示的に制御できます。
</Tip>

<div id="how-to-manage-memories">
  ## メモリの管理方法
</div>

メモリとルールは、Cascade の右上にあるスライダーメニュー内の `Customizations` アイコン、または右下隅の「Windsurf - Settings」からいつでもアクセスして設定できます。既存のメモリを編集するには、対象のメモリを開いてから `Edit` ボタンをクリックします。

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

<div id="memories">
  ## Memories
</div>

会話中、Cascade は記憶しておくと有用だと判断したコンテキストに出会うと、自動的にメモリを生成して保存できます。

また、いつでも Cascade にメモリの作成を依頼できます。Cascade に「... のメモリを作成して」と指示するだけです。

Cascade が自動生成したメモリは、作成されたワークスペースに関連付けられ、`~/.codeium/windsurf/memories/` にローカル保存されます。関連があると判断したときに Cascade がそれらを取得します。あるワークスペースで生成されたメモリは、別のワークスペースでは利用できず、リポジトリにもコミットされません。

<Tip>自動生成されたメモリの作成と利用ではクレジットは消費されません。</Tip>

<Note>
  自動生成されたメモリは、お使いのマシン上にのみ保存されます。Cascade に何かを永続的に記憶させ、チームと共有したい場合は、代わりに `.windsurf/rules/` 内の [ルール](#rules) またはリポジトリの `AGENTS.md` に書き込むよう Cascade に依頼してください。
</Note>

<div id="rules">
  ## Rules
</div>

ユーザーは、Cascade が従う独自のルールを明示的に定義できます。

ルールはグローバル、ワークスペース、またはシステムレベルで定義できるほか、[AGENTS.md](/ja/windsurf/cascade/agents-md) ファイルから推測されることもあります。

| Scope                                                 | Location                                       | Notes                                                                                |
| ----------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------ |
| グローバル                                                 | `~/.codeium/windsurf/memories/global_rules.md` | 単一ファイルで、すべてのワークスペースに適用されます。常時有効です。6,000 文字までに制限されています。                               |
| ワークスペース                                               | `.windsurf/rules/*.md`                         | ルールごとに 1 ファイルで、それぞれに独自の[有効化モード](#activation-modes)があります。各ファイルは 12,000 文字までに制限されています。 |
| [AGENTS.md](/ja/windsurf/cascade/agents-md)           | ワークスペース内の任意のディレクトリ                             | 同じルールエンジンで処理されます — ルートレベル = 常時有効、サブディレクトリ = そのディレクトリに対する auto-glob。                  |
| [System (Enterprise)](#system-level-rules-enterprise) | OS 固有 (例: `/etc/windsurf/rules/`)              | IT によって展開され、エンドユーザーは読み取り専用です。                                                        |

<div id="rules-discovery">
  ## ルールの検出
</div>

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

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

<div id="rules-storage-locations">
  ### ルールの保存場所
</div>

ルールは次のいずれの場所にも保存できます:

* 現在のワークスペースディレクトリ内の `.windsurf/rules`
* ワークスペース内の任意のサブディレクトリにある `.windsurf/rules`
* 親ディレクトリ (git リポジトリでは git ルートまで) にある `.windsurf/rules`

新しいルールを作成すると、git ルートとは限らず、現在のワークスペースの `.windsurf/rules` ディレクトリに保存されます。

ルールを使い始めるには、Cascade の右上のスライダーメニューで `Customizations` アイコンをクリックし、`Rules` パネルに移動します。ここで、`+ Global` または `+ Workspace` ボタンをクリックして、それぞれグローバルまたはワークスペースレベルで新しいルールを作成できます。

<Tip>導入の参考に、Windsurf チームが厳選したルールのサンプルテンプレートを [https://windsurf.com/editor/directory](https://windsurf.com/editor/directory) で参照できます。</Tip>

ワークスペースのルールファイルは各 12,000 文字までに制限されています。グローバルルールファイルは 6,000 文字までに制限されています。

<div id="activation-modes">
  ### 有効化モード
</div>

各ワークスペースルールは、フロントマター内の `trigger` フィールドで有効化モードを宣言します。これにより、ルールの内容が **いつ** Cascade に渡されるか、また **コンテキストウィンドウをどれだけ消費するか** が決まります:

| モード       | `trigger:` の値    | Cascade に渡される仕組み                                                                    | コンテキストコスト         |
| --------- | ---------------- | ----------------------------------------------------------------------------------- | ----------------- |
| **常時有効**  | `always_on`      | ルールの内容全体が、すべてのメッセージでシステムプロンプトに含まれます。                                                | すべてのメッセージ         |
| **モデル判断** | `model_decision` | システムプロンプトには `description` のみが表示されます。Cascade は、その説明が関連すると判断した場合にルールファイル全体を読み込みます。    | 説明は常時、全文は必要時のみ    |
| **Glob**  | `glob`           | Cascade が `globs` パターンに一致するファイル (例: `*.js`、`src/**/*.ts`) を読み取るか編集するときに、ルールが適用されます。 | 一致するファイルに触れた場合のみ  |
| **手動**    | `manual`         | ルールは **システムプロンプトに含まれません**。Cascade の入力ボックスで `@rule-name` と入力して有効化します。                | `@` でメンションされた場合のみ |

<Note>
  グローバルルールファイル (`global_rules.md`) とルートレベルの `AGENTS.md` ファイルではフロントマターは使用されません。これらは常時有効です。
</Note>

フロントマターを含むワークスペースルールの例:

```markdown theme={null}
---
trigger: glob
globs: **/*.test.ts
---

All test files must use `describe`/`it` blocks and mock external API calls.
```

<div id="best-practices">
  ### ベストプラクティス
</div>

Cascade にルールを的確に遵守させるため、次のベストプラクティスに従ってください。

* ルールはシンプル・簡潔・具体的に保ちましょう。長すぎたり曖昧だと、Cascade が混乱するおそれがあります。
* 一般的なルール (例: "write good code") を追加する必要はありません。これらはすでに Cascade の学習データに組み込まれています。
* ルールは箇条書き、番号付きリスト、Markdown を用いて記述しましょう。長文の段落よりも Cascade が理解・遵守しやすくなります。例えば:

```
# コーディングガイドライン
- このプロジェクトのプログラミング言語はPythonです
- 可能な限り早期リターンを使用してください
- 新しい関数やクラスを作成する際は必ずドキュメントを追加してください
```

* XML タグは、類似するルールを伝え、まとめて整理するための効果的な手段になり得ます。例えば：

```
<coding_guidelines>
- 私のプロジェクトのプログラミング言語はPythonです
- 可能な限りearly returnを使用してください
- 新しい関数やクラスを作成する際は必ずドキュメントを追加してください
</coding_guidelines>
```

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

Enterprise 組織は、すべてのワークスペースにグローバルに適用され、管理者権限を持たないエンドユーザーが変更できないシステムレベルのルールをデプロイできます。これは、組織全体でのコーディング標準、セキュリティポリシー、コンプライアンス要件の遵守を徹底するのに最適です。

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

**macOS:**

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

**Linux/WSL：**

```
/etc/windsurf/rules/*.md
```

**Windows：**

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

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

<div id="how-system-rules-work">
  ### システムレベルのルールの仕組み
</div>

システムレベルのルールは、ワークスペースおよびグローバルルールと統合され、ユーザー定義ルールを上書きすることなく Cascade に追加のコンテキストを提供します。これにより、組織はベースラインとなる基準を確立しつつ、各チームがプロジェクト固有のカスタマイズを追加することも可能になります。

Windsurf の UI では、システムレベルのルールは「System」というラベルが付いた状態で表示され、エンドユーザーが削除することはできません。

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