Skip to main content
Glama

Memory Bank MCP Server

by t3ta
systemPatterns.json5.35 kB
{ "schema": "memory_document_v2", "metadata": { "id": "feature-change-json-package-system-patterns", "title": "System Patterns for feature/change-json-package", "documentType": "system_patterns", "path": "systemPatterns.json", "tags": [], "createdAt": "2025-04-10T07:56:20.623Z", "lastModified": "2025-04-10T08:26:52.483Z" }, "content": { "technicalDecisions": [ { "title": "JSON Patchライブラリをrfc6902に戻す決定", "context": "以前、fast-json-patchライブラリに移行したが、それ以降JSON Patch機能が正しく動作しなくなった。元々使用していたrfc6902ライブラリは正常に動作していたため、戻す必要がある。", "decision": "依存ライブラリをfast-json-patchからrfc6902に戻し、Rfc6902JsonPatchAdapterを再実装する。既存のコードとの互換性を維持するために、toFastJsonPatchOperationメソッドは残しつつ、新しいtoRfc6902Operationメソッドを追加する。さらに、package.jsonからfast-json-patchの依存関係を完全に削除し、クリーンな状態にする。", "consequences": [ "JSON Patch機能が正しく動作するようになる", "コード変更の範囲が比較的小さく、リグレッションのリスクが低い", "余分な依存関係を削除することで、インストールサイズと潜在的な脆弱性が減少する", "既存のコードとの互換性維持のための調整が必要" ] }, { "title": "アダプターパターンの活用", "context": "異なるJSON Patchライブラリ(rfc6902とfast-json-patch)には異なるAPI設計があり、これらを統一的に扱う必要がある。", "decision": "アダプターパターンを用いて、JsonPatchServiceインターフェイスの実装として、Rfc6902JsonPatchAdapterを提供する。これにより、クライアントコードはどのライブラリが使われているかを気にする必要がなくなる。", "consequences": [ "実装の詳細が抽象化され、クライアントコードが簡潔になる", "将来的に異なるライブラリに切り替える場合も、新しいアダプターを実装するだけで対応可能", "ライブラリ固有の機能や最適化が犠牲になる可能性がある", "追加の抽象化レイヤーによるわずかなパフォーマンスオーバーヘッドが生じる" ] }, { "title": "依存関係の明示的な管理", "context": "ライブラリを変更する際、コード修正だけでなく依存関係の管理も重要である。使用しなくなったライブラリを依存関係リストに残すと、不要なインストールやバージョン競合の原因になる。", "decision": "package.jsonから不要になったfast-json-patchの依存関係を明示的に削除し、使用されるrfc6902のみを残す。", "consequences": [ "不要なライブラリのインストールを防ぎ、パッケージサイズが最適化される", "依存関係が明確になり、コードの意図と一致する", "潜在的なバージョン競合や脆弱性のリスクが減少する", "将来のライブラリアップデートが簡素化される" ] }, { "title": "テストファイルの一貫性維持", "context": "実装ファイルを削除または変更した場合、対応するテストファイルが残っていると、テストが失敗する原因となる。", "decision": "FastJsonPatchAdapter.tsを削除したため、対応するFastJsonPatchAdapter.test.tsも削除した。特に、ライブラリ入れ替え時には、旧ライブラリ用のテストコードが不要となるため、積極的に削除または更新する。", "consequences": [ "テスト実行時のエラーが解消される", "不要なテストコードによるメンテナンスコストが削減される", "テストカバレッジの誤った低下を防止できる", "ソースコードとテストコードの整合性が維持される" ] } ], "implementationPatterns": [ "依存性の注入(DI)パターンを使用して、JsonPatchServiceの実装をプロジェクト全体で統一的に管理", "デリゲーションパターンを使用して、既存のtoFastJsonPatchOperationメソッドが新しいtoRfc6902Operationメソッドに委譲するように実装", "ファサードパターンを使用して、複雑なライブラリ操作を単純なインターフェースに隠蔽", "明示的依存関係管理:不要なライブラリ依存を削除し、必要なもののみを保持", "テストとソースコードの一貫性:実装が変更または削除された場合は、対応するテストも更新または削除する", "段階的なテスト検証:コンポーネント変更後は単体テスト→統合テスト→メモリバンク操作のテストという順で検証する" ] } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/t3ta/memory-bank-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server