systemPatterns.json•3.73 kB
{
  "schema": "memory_document_v2",
  "metadata": {
    "id": "e515bd65-9c61-462e-9f50-16e0b4166937",
    "title": "システムパターン",
    "documentType": "system_patterns",
    "path": "systemPatterns.json",
    "tags": [
      "system-patterns",
      "architecture",
      "vscode-extension",
      "ai-integration"
    ],
    "lastModified": "2025-03-30T14:32:07.000Z",
    "createdAt": "2025-03-30T05:25:42.076Z",
    "version": 2
  },
  "content": {
    "technicalDecisions": [
      {
        "id": "tech-decision-vscode-1",
        "title": "VS Code拡張アーキテクチャ",
        "context": "VS Code拡張機能の基本的な構造を定義 (vscode-extension-plan-part1)",
        "decision": "コアコンポーネントとして VSCodeExtension, MemoryBankProvider, SchemaValidator, MemoryBankExplorer, DocumentEditor, BranchManager を定義",
        "consequences": {
          "positive": [
            "関心の分離が明確になる",
            "各コンポーネントのテストが容易になる"
          ],
          "negative": [
            "コンポーネント間の連携が複雑になる可能性がある"
          ]
        },
        "status": "accepted",
        "date": "2025-03-30T12:00:00.000Z",
        "alternatives": []
      },
      {
        "id": "tech-decision-vscode-2",
        "title": "主要技術選定 (VS Code拡張)",
        "context": "VS Code拡張開発のための主要技術を選定 (vscode-extension-plan-part1)",
        "decision": "TypeScript, VS Code Extension API, React (WebView), Zod/JSONSchema, jsondiffpatch, D3.js, Monaco Editor を採用",
        "consequences": {
          "positive": [
            "型安全性と開発効率の向上",
            "VS Codeとの親和性が高い",
            "リッチなUIと高度な機能実装が可能"
          ],
          "negative": [
            "学習コストがかかる技術もある",
            "依存関係が増える"
          ]
        },
        "status": "accepted",
        "date": "2025-03-30T12:00:00.000Z",
        "alternatives": []
      },
      {
        "id": "tech-decision-ai-1",
        "title": "AI連携アーキテクチャ",
        "context": "AI統合機能のコアコンポーネントを定義 (vscode-extension-ai-integration)",
        "decision": "AIService, AnalysisManager, SuggestionProcessor, UIController をコアコンポーネントとして定義",
        "consequences": {
          "positive": [
            "AI関連の処理がカプセル化される",
            "拡張性と保守性が向上する"
          ],
          "negative": [
            "初期実装の複雑さが増す"
          ]
        },
        "status": "accepted",
        "date": "2025-03-30T12:00:00.000Z",
        "alternatives": []
      },
      {
        "id": "tech-decision-ai-2",
        "title": "AIモデルと認証",
        "context": "使用するAIモデルと認証方法を決定 (vscode-extension-ai-integration)",
        "decision": "メインモデルに Gemini 1.5 Pro、埋め込みに text-embedding-3-large を使用。認証はAPIキー方式を基本とする。",
        "consequences": {
          "positive": [
            "高性能なAIモデルを利用可能",
            "セマンティック検索が可能になる"
          ],
          "negative": [
            "API利用コストが発生する",
            "APIキーの安全な管理が必要"
          ]
        },
        "status": "accepted",
        "date": "2025-03-30T12:00:00.000Z",
        "alternatives": [
          "他のAIモデル (GPT-4など)",
          "OAuth認証"
        ]
      }
    ],
    "implementationPatterns": []
  }
}