implementation-plan.json•6.12 kB
{
  "schema": "memory_document_v2",
  "metadata": {
    "id": "old-api-removal-implementation-plan",
    "title": "旧API削除実装計画書",
    "documentType": "implementation_plan",
    "path": "implementation-plan.json",
    "tags": [],
    "lastModified": "2025-04-12T14:54:13.850Z",
    "createdAt": "2025-04-12T10:30:00Z",
    "version": 1
  },
  "content": {
    "overview": "このドキュメントは、Memory Bank MCPサーバーから旧APIを削除するための具体的な実装計画を提供します。feature/remove-old-apiブランチで作業を行い、v3.0.0リリースの一部として完了予定です。",
    "sections": [
      {
        "title": "削除対象のAPI",
        "content": "以下のAPIが削除対象です:\n\n1. `write_branch_memory_bank` - packages/mcp/src/tools/definitions.ts内の関数およびサーバーハンドラ\n2. `read_branch_memory_bank` - packages/mcp/src/tools/definitions.ts内の関数およびサーバーハンドラ\n3. `write_global_memory_bank` - packages/mcp/src/tools/definitions.ts内の関数およびサーバーハンドラ\n4. `read_global_memory_bank` - packages/mcp/src/tools/definitions.ts内の関数およびサーバーハンドラ\n\nこれらのAPIは、より統一された`write_document`および`read_document` APIに置き換えられました。"
      },
      {
        "title": "変更対象のファイル",
        "content": "以下のファイルが変更対象です:\n\n1. `packages/mcp/src/tools/definitions.ts` - ツール定義関数の削除\n2. `packages/mcp/src/server.ts` - ハンドラケース分岐の削除\n3. `packages/mcp/src/interface/tools/document-tools.ts` - 関連する実装の削除(必要な場合)\n4. `packages/mcp/src/__tests__/` - 関連するテストの更新または削除\n5. `README.md`および他のドキュメント - 古いAPIリファレンスの削除\n\n**注意**: コードの本体に影響を与えるのは主に1〜3のファイルの変更です。"
      },
      {
        "title": "実装ステップ",
        "content": "### 1. tools/definitions.tsからの古いツール定義の削除\n\n以下の関数を削除します:\n- `createWriteBranchMemoryBankTool()`\n- `createReadBranchMemoryBankTool()`\n- `createWriteGlobalMemoryBankTool()`\n- `createReadGlobalMemoryBankTool()`\n\n`getToolDefinitions()`関数内からもこれらのツールの参照を削除します。\n\n### 2. server.tsのハンドラケース分岐の削除\n\n`server.ts`内のCLIリクエストハンドラから以下のケースを削除:\n- `case 'write_branch_memory_bank'`\n- `case 'read_branch_memory_bank'`\n- `case 'write_global_memory_bank'`\n- `case 'read_global_memory_bank'`\n\n### 3. テストの更新\n\n`packages/mcp/src/__tests__/`内の関連するテストを更新し、削除されたAPIに依存しているテストケースを特定します。\n\n- 統合APIに修正するか\n- 完全に重複するケースは削除するか\n\nの判断を行います。\n\n### 4. ドキュメント更新\n\n- `README.md` - 古いAPIの言及を削除し、統合APIへの参照のみにする\n- マニュアルやチュートリアルでの古いAPIの使用例を削除する\n- 移行ガイドのセクションを更新して、この移行が完了したことを明記する\n\n### 5. バージョン番号と変更履歴の更新\n\n- `packages/mcp/package.json`のバージョン番号を変更(v3.0.0の一部として)\n- `CHANGELOG.md`に変更内容を追加"
      },
      {
        "title": "リリース前のテスト計画",
        "content": "1. **ユニットテスト**: すべてのユニットテストが合格することを確認\n2. **統合テスト**: 古いAPIの代わりに統合APIを使用した統合テスト\n3. **マニュアルテスト**: 実際のクライアントを使用した手動テスト(VSCode拡張機能など)\n4. **リグレッションテスト**: 古いAPIが削除された後も、すべての基本機能が期待通りに動作することを確認"
      },
      {
        "title": "コミット戦略",
        "content": "変更を以下のコミットに分割します:\n\n1. 「feat(api): Remove deprecated write_branch_memory_bank and read_branch_memory_bank APIs」\n2. 「feat(api): Remove deprecated write_global_memory_bank and read_global_memory_bank APIs」\n3. 「test: Update tests to remove references to deprecated APIs」\n4. 「docs: Update documentation to remove references to deprecated APIs」\n\n各コミットは小さく保ち、独立してレビューできるようにすることで、変更の理解とレビューを容易にします。"
      },
      {
        "title": "コードレビューのポイント",
        "content": "レビュー時には以下の点に注意します:\n\n1. すべての古いAPI参照が完全に削除されていることを確認\n2. 新しいAPIをパラメータレベルでも古いAPIと同等であることを確認\n3. 古いコードの削除が他のコードに不要な影響を与えていないことを確認\n4. すべてのテストが通過することを確認\n5. ドキュメントが古いAPIへの参照なしで整合していることを確認"
      },
      {
        "title": "移行後のフォローアップ",
        "content": "1. リリース後のバグ報告を監視して、削除が問題を引き起こしていないことを確認\n2. コミュニティからのフィードバックを集め、移行の問題点があれば対応\n3. 必要に応じて、追加のドキュメントやサポートを提供\n4. リリースノートに明示的に破壊的変更として記載"
      },
      {
        "title": "タイムライン",
        "content": "1. 実装: 1-2日(コードの変更は比較的小規模)\n2. テスト: 1-2日(すべてのテストの更新と実行)\n3. ドキュメント更新: 1日\n4. コードレビュー: 1-2日\n5. リリース準備: v3.0.0リリース計画に従う\n\n合計: 4-7日の作業期間"
      }
    ]
  }
}