MemoryLake
すべての記事に戻る
Tutorial2026年8月5日·9 分で読了

コンテキストを失わずに Trae から Cursor へ移行する方法 (2026)

両方のエディタともプロジェクトの指示を Markdown で保持しているため、この移行はほとんど機械的に行えます。つまり、Trae のルールが Cursor のルールになり、コンテンツはほぼそのまま残ります。公式のコンバーターはありませんが、その必要もありません。Markdown を異なるファイル名規則を持つ別のディレクトリに移動するだけだからです。

機械的ではない部分は、ルールファイルに決して含まれなかったすべての要素です。数週間にわたる Trae のセッションを通じて、このコードベースでどのアプローチが機能するか、どのモジュールがリファクタリングに抵抗するか、そして最後に誰かがビルドを触ったときに何が壊れたかを学んだはずです。Trae はそれを保存していませんでしたし、Cursor がそれを引き継ぐこともありません。Cursor 自身のドキュメントには、その理由が率直に書かれています。「大規模言語モデルは、補完の間でメモリを保持しません。ルールは、プロンプトレベルで永続的かつ再利用可能なコンテキストを提供します。」

このガイドでは、何が移行され、何を手動で再構築する必要があるか、そして次のエディタの切り替えで同じように1週間を無駄にしないようにする方法について説明します。

実際に移行されるもの

Trae 側。 Trae はプロジェクトレベルのルールを .trae/project_rules.md に、ユーザーレベルのルールを .trae/user_rules.md に保持します。また、プロジェクト内に .trae/rules/ ディレクトリを作成し、その下のサブフォルダにルールファイルを整理することができます。システムはこれらのディレクトリを再帰的に読み込みます。ルールはチャット内で #rulename を使って呼び出され、すべてがプレーンな Markdown であるため、バージョン管理やチーム内での共有が容易です。MCP サポートと .rules は Trae v1.3.0 で同時に導入されたため、設定した MCP サーバーは失われるものではなく、引き継がれる概念です。

Cursor 側。 プロジェクトルールは .cursor/rules 内に .mdc ファイルとして保存され、それぞれに4つのアクティベーションモード(Always Apply、Apply Intelligently、Apply to Specific Files、Apply Manually)のいずれかが設定されます。Cursor は、リポジトリのルートにあるプレーンな AGENTS.md も読み込みます。これは Codex、Amp、Jules、Factory も読み込むオープンなフォーマットです。コミットすべきではない個人的な設定は、Cursor の設定の User Rules に記述します。

そのため、マッピングは直接的です:

TraeCursor
.trae/project_rules.md.cursor/rules/*.mdc またはルートの AGENTS.md
.trae/user_rules.mdCursor 設定の User Rules
.trae/rules/ サブフォルダ関心事ごとに分かれた個別の .mdc ファイル
#rulename による呼び出しチャットで参照される Apply Manually モード
MCP サーバーCursor で再設定された MCP サーバー

移行されないもの。 痛みの大きい順に3つのカテゴリがあります:

  1. セッション履歴。 Trae での会話は Trae に残ります。それを自動で読み取ってくれるものはありません。
  2. ファイルではなくチャット内に残したすべてのもの。 ほとんどの人は、書き留めるよりもはるかに多くのことをセッションごとに説明しています。その説明はどこにも保存されていません。
  3. 却下されたアプローチ。 これが最も失うコストが大きいものです。なぜなら、Cursor はあなたがすでに試して元に戻したリファクタリングを平然と提案してくるため、解決済みの問題を再決定するために午後を丸々潰すことになるからです。

Trae コミュニティがこれに対処するために構築したものに注目する価値があります。セッションの継続性を手動で構築する必要があったため、1つのコマンドでコンテキストを保存し、別のコマンドで復元する Trae 用のサードパーティ製ワークフロー継続パッケージが存在します。もしそのようなものを使用していた場合、それらの保存されたファイルはこの移行における最良の素材となります。

手動での移行

ステップ 1:ルールを移動し、ついでに分割する

1つの長い project_rules.md を1つの長い .mdc にそのまま貼り付けないでください。Cursor のアクティベーションモードは、ルールが関心事ごとに分離されている場合にのみ効果を発揮します。

  • .trae/project_rules.md を読み、ビルドおよびテストコマンド、ディレクトリの命名規則、スタイル、セキュリティ制約、特定のサブシステムに関する事項などのトピックに分割します。
  • .cursor/rules 内にトピックごとに1つの .mdc を作成し、モードを慎重に設定します。普遍的な制約は Always Apply に設定します。サブシステム固有のルールは、glob パターンを使用して Apply to Specific Files に設定します。リリースのチェックリストや移行手順などのたまにしか使わないプレイブックは、Apply Manually に設定し、Trae で #rulename を使用したときと同じように、必要なときに呼び出します。
  • すべてを Always Apply に設定しないでください。 そうしたくなりますが、コストがかかります。常にオンになっているルールは、すべての補完においてトークンを消費します。これはルールの移行において最もよくある間違いであり、エラーとしてではなく、請求額として現れます。
  • .trae/user_rules.md はコミットするのではなく、Cursor の User Rules に移動します。個人の好みはリポジトリに含めるべきではありません。
  • 複数のエージェントがプロジェクトに触れる可能性がある場合は、Cursor や他のいくつかのエージェントも読み込むため、ツールに依存しないコア部分をルートの AGENTS.md に配置することを検討してください。
  • Cursor で MCP サーバーを再設定し、実際に使用する前にそれぞれが応答することを確認します。

ステップ 2:ルールが保持していなかったものを再構築する

1時間を確保し、Trae のセッションにしか存在しなかったナレッジを書き出します。

  • 決定事項とその理由。 「返金の順序が重要であるため、キューコンシューマーはシングルスレッドのままにする」という1行があるだけで、今後1年間にわたって不適切な提案を防ぐことができます。
  • 行き止まり(デッドエンド)。 試行したものの元に戻したアプローチとその理由。これが無限ループを防ぎます。
  • ローカルの罠。 Windows で不安定なテスト、手動で編集してはならない生成ファイル、シードの前に実行する必要があるマイグレーションなど。
  • 保存されたコンテキストファイルからのすべての内容。 Trae の継続性ワークフローを使用していた場合は、今すぐそれらのアーカイブを掘り起こしてください。それらはあなたが持っているセッションの唯一の書面による記録です。

これはルールとしてではなく、ナレッジとして記述してください。毎週増え続けるため、常にオンの .mdc に置くべきではありません。すべての補完で 900 行の前置きにコストを支払いたい人はいません。

より良い方法:どちらのエディタでも使える単一のメモリレイヤー

ここで当然の疑問が生じます。それは一体どこに置くべきなのでしょうか?

どちらのエディタも、ルールファイルとセッションごとの新しいコンテキストという、同じ2つのものを提供します。だからこそ移行は簡単であり、同時に情報が失われやすいのです。ルールは制約を置くには適していますが、蓄積されたナレッジを置くには適していません。そして、Trae も Cursor もそれを置くための第3の場所を提供していません。そのため、最終的にチャットに書き込まれ、セッションの終了とともにチャットも終了してしまいます。

解決策は、より長いルールファイルを書くことではなく、欠けているレイヤーを追加することです。MemoryLake は、エディタの外部に存在し、MCP または API 経由でアクセスできるメモリレイヤーです。これにより、ナレッジはエディタ固有のものではなくなります。そして、次の移行が考古学のプロジェクトのようになるのを防ぎます。

ステップ 1:API キーを作成する

キーを生成し、約30秒で最初のリクエストを送信します。

MemoryLake API キーの作成
MemoryLake API キーの作成

ステップ 2:最初のメモリをアップロードする

先ほど作成した決定ログに加えて、アーキテクチャのメモ、API 契約、ランブック、インシデントの報告書、図など、人々が何度も説明し直している資料を読み込みます。ドキュメント、画像、その他のファイルはすべて同じ場所に保存されます。

MemoryLake に最初のメモリをアップロード
MemoryLake に最初のメモリをアップロード

ステップ 3:AI とエージェントを接続する

Cursor、Claude、Codex、OpenClaw、その他のエージェントに MCP 経由でアクセスを許可します。.cursor/rules ファイルは再び短くルールらしい形に戻り、毎週増え続けるナレッジは、来年どのエディタを使用していようとも、すべてのツールがクエリできる場所に存在することになります。

MCP 経由で AI とエージェントを接続
MCP 経由で AI とエージェントを接続

実務における変化

最初の違いはコストであり、これは測定可能です。ルールファイルは二重の役割を果たしているために肥大化し、常にオンになっているルールはすべての補完で課金されます。ナレッジをルールからクエリ可能なレイヤーに移動することで、リクエストあたりの支払いを削減しつつ、エージェントが実際に必要とするときに見つけられる情報を増やすことができます。

2つ目は、切り替えが一方通行ではなくなることです。現在、Cursor が自分に合わない場合、元に戻すには再び手動で再構築する必要があります。そのため、人々は機能していないツールを使い続けがちです。ナレッジが外部にある場合、2週間エディタを評価するためのコストは、設定の変更だけで済みます。

3つ目は、チームの一貫性です。リポジトリ内のルールファイルは共有されますが、Trae のチャットに入力したコンテキストは共有されません。3人の開発者がそれぞれ、なぜこのようなアーキテクチャになっているのかについて異なるメンタルモデルを持っている場合、彼らのエージェントは3つの異なる種類のコードを生成します。これは、Cursor がマシン間でコンテキストを忘れてしまう問題と同じ失敗が、人々の間で分散して発生している状態です。

移行後のベストプラクティス

最初の1週間でルールのモードを監査する

すべての .mdc を開き、そのアクティベーションモードが実際に必要とされる頻度と一致しているか確認します。普遍的な制約ではない Always Apply のものは、すべて降格させるべきです。Cursor が4つのモードを提供しているのには理由があり、そのうちの1つ(Always Apply)を使いすぎることが、ルールファイルが静かに高額化する原因になります。

ナレッジログは3つのファイルではなく、1つの場所にまとめる

移行後にありがちな誘惑は、メモを README、コメント、ルールファイルに分散させてしまうことです。蓄積されたナレッジの置き場所を1つに決め、すべてをそこに集約してください。断片化されたナレッジは、機能的にはナレッジがないのと同じです。なぜなら、そのすべてを検索できるものがないからです。

2週間は Trae の設定を削除しない

Cursor で実際のデバッグセッションを含む丸1週間を過ごすまでは、.trae/ と Trae のインストール環境を保持しておいてください。移行の漏れは最初の1時間には現れません。移行されたと思い込んでいたものが初めて必要になったときに現れます。同じ注意は、Copilot から Cursor への移行や、Cursor のルールを Claude Code にエクスポートする場合など、あらゆるエディタの移行に当てはまります。

結論

Trae から Cursor への移行は、最も簡単なエディタ移行の1つです。どちらも指示を Markdown で保持し、ルールのディレクトリを読み込み、MCP に対応しています。.trae/project_rules.md を個別の .mdc ファイルに分割し、すべてをデフォルトで Always Apply にするのではなくアクティベーションモードを慎重に設定し、ユーザールールを Cursor の設定に移動して、MCP サーバーを再接続します。

そして、節約できた労力を、どのファイルマッピングでもカバーできない部分に費やしてください。どちらのエディタもセッションから学んだことを保存しないため、決定事項や行き止まりは誰かが書き留める必要があります。それらを常にオンのルールファイルに書き込むと、すべての補完でコストを支払うことになり、次の移行時に再び失うことになります。エディタの外部にあるメモリレイヤーこそが、コンテキストを再構築するものではなく、保持するものに変える要素です。これは最終的に、Trae がセッション間でコンテキストを忘れてしまう問題Cursor が以前のセッションを忘れてしまう問題の背景にあるものと同じギャップです。

よくある質問

Trae のルールを Cursor のルールに自動で変換する方法はありますか?

公式なものはありませんし、実際には必要ありません。どちらも Markdown を使用しているためです。作業としては、.trae/project_rules.md.cursor/rules の下の個別の .mdc ファイルに分割し、それぞれのアクティベーションモードを選択することです。これは変換というよりも判断を伴う作業です。

Trae と Cursor はルールをどこに保持しますか?

Trae は .trae/project_rules.md.trae/user_rules.md に加え、サブフォルダが再帰的に読み込まれる .trae/rules/ ディレクトリを使用し、チャット内で #rulename を使って呼び出します。Cursor は .cursor/rules 内の .mdc ファイル(4つのアクティベーションモード付き)を使用し、ルートの AGENTS.md を読み込み、個人の好みを User Rules に保持します。

Trae のチャット履歴は引き継がれますか?

いいえ。セッション履歴は Trae に残り、Cursor がそれを読み取ることはありません。Trae のコンテキストを保存および復元するコミュニティのワークフロー継続パッケージを使用していた場合、切り替える前にそれらの保存されたファイルを掘り起こす価値があります。

`.cursor/rules` と `AGENTS.md` のどちらを使用すべきですか?

Cursor 固有の動作やアクティベーション制御には .cursor/rules を使用し、複数のエージェントがリポジトリに触れる場合は、ツールに依存しないコア部分にルートの AGENTS.md を使用します。Codex、Amp、Jules、Factory もこのフォーマットを読み込みます。多くのチームは両方を維持し、AGENTS.md に共有の基本事項を保持しています。

移行後にトークンの使用量が増えたのはなぜですか?

ほとんどの場合、あまりにも多くのルールが Always Apply に設定されていることが原因です。常にオンのルールは、すべての補完に含まれます。普遍的な制約ではないものはすべて、Apply Intelligently、Apply to Specific Files、または Apply Manually に降格させてください。

次のエディタの切り替え時にプロジェクトのナレッジを維持するにはどうすればよいですか?

エディタ固有のファイルに保存するのをやめることです。API キーを作成し、決定事項、アーキテクチャのメモ、ランブックを一度アップロードして、MCP 経由でエージェントを接続すれば、すべてのツールが同じメモリを読み込むようになります。これにより、ルールファイルは短くポータブルな状態に保たれ、エディタの切り替えは再構築ではなく設定の変更のみになります。これは、ルールが積み重なるにつれて Cursor がプロジェクトルールを忘れてしまう問題への対処にもなります。