{
  "name": "オープン会計",
  "alternateName": "OpenKK",
  "description": "個人事業主向けの複式簿記ロジックとUIを、用途に合わせて組み替えられるTypeScript製OSSです。",
  "license": "Apache-2.0",
  "language": "TypeScript",
  "repository": "https://github.com/rubydogjp/openkk",
  "website": "https://rubydog.jp/openkk",
  "developerPage": "https://rubydog.jp/openkk/developer",
  "projectData": "https://rubydog.jp/openkk/project.json",
  "docs": {
    "architecture": "https://github.com/rubydogjp/openkk/blob/main/docs/architecture.md",
    "apiContract": "https://github.com/rubydogjp/openkk/blob/main/docs/api-contract.md",
    "authentication": "https://github.com/rubydogjp/openkk/blob/main/docs/authentication.md",
    "databaseSchema": "https://github.com/rubydogjp/openkk/blob/main/docs/database-schema.md"
  },
  "architecture": [
    {
      "key": "client",
      "label": "Client",
      "description": "型・計算、外部境界、Reactユースケース、UIを分離。会計ロジックはフレームワークに依存しません。"
    },
    {
      "key": "server",
      "label": "Server",
      "description": "ドメイン、DB境界、ユースケース、API組み立てを単方向に依存させています。"
    },
    {
      "key": "adapters",
      "label": "Adapters",
      "description": "SQLite Wasm + OPFS、インメモリDB、印刷、埋め込みバックエンドを交換できます。"
    },
    {
      "key": "apps",
      "label": "Composition",
      "description": "参照アプリは薄く保ち、利用者が必要な部品だけを組み合わせられる構成です。"
    }
  ],
  "contracts": [
    "バックエンドを差し替える OpenkkBackendPort",
    "保存方式を差し替える OpenkkDbPort",
    "バージョン付き会計期間アーカイブZIP",
    "クライアントとサーバーで共通化しすぎない型境界"
  ],
  "verification": [
    "Vitestによるドメインロジック・パーサー検証",
    "DBアダプター共通の契約適合テスト",
    "Playwrightによる締め処理のE2Eテスト",
    "TypeScriptによる全ワークスペース検査"
  ],
  "roadmap": [
    {
      "id": "now",
      "phase": "Now",
      "title": "会計を、閉じたアプリから再利用できる部品へ",
      "status": "available",
      "items": [
        "ブラウザで完結する複式簿記と帳票生成",
        "ローカル保存・クラウド保存を選べる構成",
        "交換可能なバックエンドとDBアダプター",
        "別環境へ持ち出せる安定したアーカイブ形式"
      ]
    },
    {
      "id": "next",
      "phase": "Next",
      "title": "人とツールが、同じ契約で安全につながる",
      "status": "planned",
      "items": [
        "HTTPバックエンドの参照アダプターを公開",
        "明示的なコマンドで操作できるCLIを整備",
        "AI提案を人が確認してから反映する操作境界",
        "変更理由を追跡できる監査情報の設計"
      ]
    },
    {
      "id": "explore",
      "phase": "Explore",
      "title": "会計ソフトを選ぶから、自分用に組み立てるへ",
      "status": "exploring",
      "items": [
        "業種や運用に合わせた第三者バンドル",
        "外部サービスと接続するコミュニティ製アダプター",
        "匿名・ローカル優先を保った自動化",
        "会計データを閉じ込めない相互運用エコシステム"
      ]
    }
  ],
  "agentNotes": {
    "financialAdvice": false,
    "autonomousPosting": false,
    "humanApprovalPrinciple": "AIや自動化による提案は、利用者が内容を確認してから会計データへ反映する設計を目指します。",
    "dataPortability": "仕訳と会計期間アーカイブを持ち出せることを重視しています。"
  },
  "schemaVersion": 1,
  "generatedAt": "2026-07-25T08:44:01.340Z"
}