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

# メモリとルール

> グローバルルール、ワークスペースルール、Enterprise 向けのシステムレベルルールを使って、会話をまたいで前提情報を保持する Cascade のメモリとルールを設定します。

`Memories` は、会話をまたいで前提情報を共有・保持するための仕組みです。

Cascade には、これを実現するための仕組みが 2 つあります。1 つは Cascade が自動生成できる Memories、もう 1 つはユーザーがローカルレベルとグローバルレベルで手動で定義するルールです。

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

メモリとルールは、Cascade の右上にあるスライダーメニューの `カスタマイズ` アイコンをクリックすると、いつでもアクセスして設定できます。既存のメモリを編集するには、そのメモリをクリックしてから `Edit` ボタンをクリックするだけです。

<Frame>
  <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/managing-memories-jb.gif?s=88e9c5c87919fdf7768141c1a9d15137" width="800" height="506" data-path="desktop/assets/managing-memories-jb.gif" />
</Frame>

<div id="memories">
  ## メモリ
</div>

会話中、Cascade は、記憶しておくと役立つ前提情報に遭遇すると、自動的にメモリを生成して保存することがあります。

また、いつでも Cascade にメモリを作成するよう依頼できます。Cascade に「create a memory of ...」とプロンプトを送るだけです。

Cascade が自動生成したメモリは、作成されたワークスペースに関連付けられ、関連性があると判断した場合に取得されます。あるワークスペースで生成されたメモリは、別のワークスペースでは利用できません。

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

<div id="rules">
  ## ルール
</div>

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

ルールは、グローバルレベルまたはワークスペースレベルで定義できます。

`global_rules.md` - すべてのワークスペースに適用されるルール

`.windsurf/rules` - glob パターンまたは自然言語の説明に関連付けられたルールを含む、ワークスペースレベルのディレクトリ。

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

Windsurf は、柔軟に管理できるよう、複数の場所からルールを自動的に検出します。

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

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

ルールは、以下のいずれかの場所に保存できます。

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

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

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

<Tip>使い始める際に役立つよう、Windsurf チームが厳選したルールテンプレートの例を [https://windsurf.com/editor/directory](https://windsurf.com/editor/directory) で確認できます。</Tip>

各ルールファイルは 12000 文字までに制限されています。

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

Cascade がルールに効果的に従えるようにするために、次のベストプラクティスに従ってください。

* ルールはシンプルで、簡潔かつ具体的にしてください。長すぎたり曖昧だったりするルールは、Cascade を混乱させる可能性があります。
* 一般的なルール (例: "良いコードを書く") を追加する必要はありません。こうした内容は、すでに Cascade の学習データに組み込まれています。
* ルールは、箇条書き、番号付きリスト、Markdown を利用して記述してください。長い段落にするより、Cascade にとって従いやすくなります。

例えば:

```
# Coding Guidelines 
- My project's programming language is python
- Use early returns when possible
- Always add documentation when creating new functions and classes
```

* XMLタグは、情報を伝えたり、類似のルールをまとめたりするのに効果的です。たとえば:

```
<coding_guidelines>
- My project's programming language is python
- Use early returns when possible
- Always add documentation when creating new functions and classes
</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 に追加の前提情報を提供します。これにより、組織は標準となる基準を定めつつ、チームごとにプロジェクト固有のカスタマイズを追加できます。

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

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