短い答え
Windsurfがコーディングスタイルを忘れるのは、.windsurfrulesがすべてのチャットに読み込まれる静的テキストであり、アクティブな記憶ではなく、Cascade 記憶が短い自動生成メモであり、構造化されたスタイルガイドではないからです。コンテキストウィンドウが満たされるにつれて、読み込まれたルールでさえ要約によって圧縮されます。持続的なプロジェクト記憶レイヤーがスタイルの決定をすべてのターンで取得可能にします。
Windsurfがコーディングスタイルを忘れる理由
Cascadeはあなたのスタイルに従おうとします。三つのメカニズムがそれを妨げます:
1. `.windsurfrules`は読み取られ、記憶されません。 Cascadeチャットを開くと、Windsurfはあなたの.windsurfrules(ワークスペース)とglobal_rules.md(グローバル)をプロンプトの前に追加します。Cascadeはターン1でそれらを読み取ります。40ターン後、Cascadeがコンバーセーションを要約してコンテキストを解放した後、それらのルールは一行の再表現に圧縮され、具体的な内容が漂ってしまいます。
2. ルールファイルには上限があります。 Windsurfはルールの長さに対するソフトリミットを文書化しています(ファイルごとに約6,000文字が実用的な上限です)。実際のスタイルガイド — 名前付け、エラーハンドリング、ファイル構造、テストパターン、リント例外 — はそれを簡単に超えます。
3. 自動生成された記憶はスタイルには短すぎます。 Cascade 記憶は「ユーザーはTypeScriptを好む」といったことをキャッチします。完全なスタイルガイドを例とともに保持するようには設計されていません。したがって、Zodの扱いやエラータイプ、結果の返却方法に関する30行のルールは、持続的に存在する場所がありません。
その結果:スタイルは最初の数ターンでは機能しますが、その後静かに漂います。
Windsurfがコーディングスタイルを忘れたときに失うもの
スタイルの漂流は遅く、高価な紙の切り傷です:
- レビューで書き直さなければならない不一致なコード。 Cascadeはあなたのハウスルールに対してデフォルトエクスポートを生成します。レビュアーがそれを指摘します。あなたは再プロンプトします。次のセッションでもこのサイクルが繰り返されます。
- リンターとフォーマッターの戦争。 Cascadeは1つのファイルのルールに従い、次のファイルでは無視し、奇妙な場所でCIに失敗する混合コードベースを残します。
- オンボーディングの痛み。 新しい開発者はAIが書いたコードがハウススタイルを反映していると仮定します。実際にはそうではなく、コードベースは新しい人々に間違ったパターンを教えます。
Windsurfの組み込みの回避策(それぞれの短所)
Windsurfにはスタイルを対象とした3つのネイティブメカニズムがあります。それぞれが助けになりますが、完全には解決しません。
`.windsurfrules`(ワークスペース)と`global_rules.md`(クロスワークスペース)は、持続的なルールの公式な場所です。これらはすべてのCascadeチャットに読み込まれます。また、静的テキストであり、長さの制限があり、取得がゼロです — あなたのスタイルガイドが数千文字を超えると、Cascadeは切り詰められたバージョンを取得します。ワークスペースルールもリポジトリ間でクリーンに移動しません。
Cascade 記憶はチャット中にワークスペーススコープのメモを自動生成します。「ユーザーはTailwindを好む」と静かに記憶します。30の例を持つAirbnbスタイルのスタイルガイドを保持するようには設計されていません。~/.codeium/windsurf/memories/に保存されるのは短い観察であり、長文のルールではありません。
ワークフローは、繰り返し可能なエージェント手順をスクリプト化することを可能にします — 「リンティング、修正、フォーマットを実行する」などに便利ですが、これは実行機能であり、記憶機能ではありません。
公式のCascade 記憶ドキュメントを読んで、詳細を確認できます。
小さなスタイルメモには、ネイティブ機能は十分です。実際の進化するハウススタイルには、短所があります。
Windsurfの組み込み記憶が不足している点
より深い問題は、スタイルガイドがプロジェクトレベルのアーティファクトであり、エディターレベルではないことです。あなたは他のAIツール — Cursor、Claude Code、ChatGPTをデザインディスカッションに使用している可能性が非常に高いです — そしてあなたのスタイルガイドはそれらすべてに適用される必要があります。.windsurfrulesは移動しません。Cursorのルールも移動しません。したがって、スタイルはツール間で断片化され、あなたのコードベースがそのコストを支払います。
実際の修正は、モデルに依存せず、プロジェクトスコープである必要があります。ワークスペーススコープではありません。
MemoryLakeがWindsurfのコーディングスタイルを忘れる問題を解決する方法
MemoryLakeは、CascadeのネイティブMCPサポートを介してWindsurfに接続するクロスモデル記憶レイヤーです。要約される静的ルールファイルに依存するのではなく、プロジェクトに独自の記憶を与え、Cascadeが必要に応じてスタイルガイダンスを読み取ります。
- あなたのスタイルガイドを第一級の記憶として。 完全なガイド — 名前付け、エラーハンドリング、ファイルレイアウト、例 — をプロジェクトに読み込みます。Cascadeは、すべてのチャットの先頭に切り詰められた文字列を読み込むのではなく、ターンごとに関連するスライスを取得します。
- 生のプロンプトよりも10,000倍のコンテキスト。 MemoryLakeの取得エンジンは、数十億のプロジェクト記憶から読み取り、現在のターンに重要な部分だけを返します。これにより、スタイルの詳細がコードによって圧迫されることはありません。
- 使用するすべてのAIに対して1つのスタイルガイド。 同じガイドがCursor、Claude Code、ChatGPT、Claude Desktop、Geminiを管理します。ツールごとの異なるルールはもうありません。毎週月曜日に規則を再貼り付ける必要もありません。
MemoryLakeはLoCoMoの長文コンテキストベンチマークで94.03%を記録しました — 2026年時点での最高の公開結果であり、ミリ秒の取得とAES-256のエンドツーエンド暗号化を備えています。
MemoryLakeをWindsurfに接続する3つのステップ
- プロジェクトを作成し、スタイルガイドを読み込む。 MemoryLakeにサインインし、プロジェクト管理を開き、プロジェクトを作成し、コードベースにちなんで名前を付けます(例:「acme-web — ハウススタイル」)。ドキュメントドライブを通じてスタイルガイド、リンティング設定、および任意の例ファイルをアップロードします(PDF、Markdown、Word、Excel、画像すべてサポートされています)。メモタブに短く持続可能なルール(「デフォルトエクスポートなし」、「Zodスキーマは
lib/schemas/にあります」)を追加します。 - MCPサーバーエンドポイントを生成する。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Windsurf統合」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、およびエンドポイントURLを返します。シークレットをすぐにコピーしてください — 一度だけ表示されます。
- サーバーをCascadeのMCP設定に追加する。 Windsurfで、設定 → Cascade → MCPを管理 → 生の設定を表示を開き、エンドポイントURLとBearerトークンを持つ
memorylakeエントリを追加します。保存してCascadeを再起動します。Cascadeは、コード生成ターンごとにスタイルガイドの関連スライスを取得するために呼び出すことができるmemorylakeツールを持つようになります。