{
  "schemaVersion": 1,
  "site": "https://jujin.dev",
  "sourceLanguage": "en",
  "instructions": "https://jujin.dev/ai/instructions.md",
  "categories": [
    {
      "id": "planning",
      "parent": null,
      "names": {
        "en": "Planning & architecture",
        "ko": "기획·설계",
        "ja": "企画・設計"
      },
      "descriptions": {
        "en": "Explore Planning & architecture.",
        "ko": "기획·설계 항목을 탐색합니다.",
        "ja": "企画・設計の項目を探します。"
      },
      "order": 0
    },
    {
      "id": "data",
      "parent": null,
      "names": {
        "en": "Data structures",
        "ko": "자료구조",
        "ja": "データ構造"
      },
      "descriptions": {
        "en": "Explore Data structures.",
        "ko": "자료구조 항목을 탐색합니다.",
        "ja": "データ構造の項目を探します。"
      },
      "order": 1
    },
    {
      "id": "development",
      "parent": null,
      "names": {
        "en": "Development platforms",
        "ko": "개발 플랫폼",
        "ja": "開発プラットフォーム"
      },
      "descriptions": {
        "en": "Explore Development platforms.",
        "ko": "개발 플랫폼 항목을 탐색합니다.",
        "ja": "開発プラットフォームの項目を探します。"
      },
      "order": 2
    },
    {
      "id": "deployment",
      "parent": null,
      "names": {
        "en": "Deployment platforms",
        "ko": "배포 플랫폼",
        "ja": "配布プラットフォーム"
      },
      "descriptions": {
        "en": "Explore Deployment platforms.",
        "ko": "배포 플랫폼 항목을 탐색합니다.",
        "ja": "配布プラットフォームの項目を探します。"
      },
      "order": 3
    },
    {
      "id": "design",
      "parent": null,
      "names": {
        "en": "Design",
        "ko": "디자인",
        "ja": "デザイン"
      },
      "descriptions": {
        "en": "Explore Design.",
        "ko": "디자인 항목을 탐색합니다.",
        "ja": "デザインの項目を探します。"
      },
      "order": 4
    },
    {
      "id": "business",
      "parent": null,
      "names": {
        "en": "Monetization",
        "ko": "수익화",
        "ja": "収益化"
      },
      "descriptions": {
        "en": "Explore Monetization.",
        "ko": "수익화 항목을 탐색합니다.",
        "ja": "収益化の項目を探します。"
      },
      "order": 5
    },
    {
      "id": "layout",
      "parent": "design",
      "names": {
        "en": "Layout",
        "ko": "레이아웃",
        "ja": "レイアウト"
      },
      "descriptions": {
        "en": "Explore Layout.",
        "ko": "레이아웃 항목을 탐색합니다.",
        "ja": "レイアウトの項目を探します。"
      },
      "order": 0
    },
    {
      "id": "typography",
      "parent": "design",
      "names": {
        "en": "Typography",
        "ko": "타이포그래피",
        "ja": "タイポグラフィ"
      },
      "descriptions": {
        "en": "Explore Typography.",
        "ko": "타이포그래피 항목을 탐색합니다.",
        "ja": "タイポグラフィの項目を探します。"
      },
      "order": 2
    },
    {
      "id": "requirements",
      "parent": "planning",
      "names": {
        "en": "Requirements expression",
        "ko": "요구사항 표현",
        "ja": "要件の表現"
      },
      "descriptions": {
        "en": "Explore Requirements expression.",
        "ko": "요구사항 표현 항목을 탐색합니다.",
        "ja": "要件の表現の項目を探します。"
      },
      "order": 0
    },
    {
      "id": "boundaries",
      "parent": "planning",
      "names": {
        "en": "Architecture boundaries & dependencies",
        "ko": "아키텍처의 경계·의존 구조",
        "ja": "境界と依存構造"
      },
      "descriptions": {
        "en": "Explore Architecture boundaries & dependencies.",
        "ko": "아키텍처의 경계·의존 구조 항목을 탐색합니다.",
        "ja": "境界と依存構造の項目を探します。"
      },
      "order": 1
    },
    {
      "id": "service-split",
      "parent": "planning",
      "names": {
        "en": "Service decomposition",
        "ko": "서비스 분할",
        "ja": "サービス分割"
      },
      "descriptions": {
        "en": "Explore Service decomposition.",
        "ko": "서비스 분할 항목을 탐색합니다.",
        "ja": "サービス分割の項目を探します。"
      },
      "order": 2
    },
    {
      "id": "abstract-collections",
      "parent": "data",
      "names": {
        "en": "Abstract collections",
        "ko": "추상 컬렉션",
        "ja": "抽象コレクション"
      },
      "descriptions": {
        "en": "Explore Abstract collections.",
        "ko": "추상 컬렉션 항목을 탐색합니다.",
        "ja": "抽象コレクションの項目を探します。"
      },
      "order": 3
    },
    {
      "id": "sequential-storage",
      "parent": "data",
      "names": {
        "en": "Sequential storage structures",
        "ko": "순차 저장 구조",
        "ja": "順次記憶構造"
      },
      "descriptions": {
        "en": "Explore Sequential storage structures.",
        "ko": "순차 저장 구조 항목을 탐색합니다.",
        "ja": "順次記憶構造の項目を探します。"
      },
      "order": 4
    },
    {
      "id": "processing-order",
      "parent": "data",
      "names": {
        "en": "Processing order",
        "ko": "처리 순서",
        "ja": "処理順序"
      },
      "descriptions": {
        "en": "Explore Processing order.",
        "ko": "처리 순서 항목을 탐색합니다.",
        "ja": "処理順序の項目を探します。"
      },
      "order": 5
    },
    {
      "id": "static-generators",
      "parent": "development",
      "names": {
        "en": "Static site generators",
        "ko": "정적 사이트 생성기",
        "ja": "静的サイトジェネレーター"
      },
      "descriptions": {
        "en": "Explore Static site generators.",
        "ko": "정적 사이트 생성기 항목을 탐색합니다.",
        "ja": "静的サイトジェネレーターの項目を探します。"
      },
      "order": 6
    },
    {
      "id": "web-ui",
      "parent": "development",
      "names": {
        "en": "Web UI development tools",
        "ko": "웹 UI 개발 도구",
        "ja": "Web UI開発ツール"
      },
      "descriptions": {
        "en": "Explore Web UI development tools.",
        "ko": "웹 UI 개발 도구 항목을 탐색합니다.",
        "ja": "Web UI開発ツールの項目を探します。"
      },
      "order": 7
    },
    {
      "id": "game-engines",
      "parent": "development",
      "names": {
        "en": "Game engines",
        "ko": "게임 엔진",
        "ja": "ゲームエンジン"
      },
      "descriptions": {
        "en": "Explore Game engines.",
        "ko": "게임 엔진 항목을 탐색합니다.",
        "ja": "ゲームエンジンの項目を探します。"
      },
      "order": 8
    },
    {
      "id": "hosting-models",
      "parent": "deployment",
      "names": {
        "en": "Hosting execution models",
        "ko": "호스팅 실행 모델",
        "ja": "ホスティング実行モデル"
      },
      "descriptions": {
        "en": "Explore Hosting execution models.",
        "ko": "호스팅 실행 모델 항목을 탐색합니다.",
        "ja": "ホスティング実行モデルの項目を探します。"
      },
      "order": 9
    },
    {
      "id": "release-replacement",
      "parent": "deployment",
      "names": {
        "en": "Release replacement",
        "ko": "릴리스 교체 방식",
        "ja": "リリース切り替え方式"
      },
      "descriptions": {
        "en": "Explore Release replacement.",
        "ko": "릴리스 교체 방식 항목을 탐색합니다.",
        "ja": "リリース切り替え方式の項目を探します。"
      },
      "order": 10
    },
    {
      "id": "columns",
      "parent": "layout",
      "names": {
        "en": "Column composition",
        "ko": "열 구성",
        "ja": "列構成"
      },
      "descriptions": {
        "en": "Explore Column composition.",
        "ko": "열 구성 항목을 탐색합니다.",
        "ja": "列構成の項目を探します。"
      },
      "order": 11
    },
    {
      "id": "content-arrangement",
      "parent": "layout",
      "names": {
        "en": "Content arrangement",
        "ko": "콘텐츠 나열",
        "ja": "コンテンツ配置"
      },
      "descriptions": {
        "en": "Explore Content arrangement.",
        "ko": "콘텐츠 나열 항목을 탐색합니다.",
        "ja": "コンテンツ配置の項目を探します。"
      },
      "order": 12
    },
    {
      "id": "styles",
      "parent": "design",
      "names": {
        "en": "Styles",
        "ko": "스타일",
        "ja": "スタイル"
      },
      "descriptions": {
        "en": "Explore Styles.",
        "ko": "스타일 항목을 탐색합니다.",
        "ja": "スタイルの項目を探します。"
      },
      "order": 1
    },
    {
      "id": "type-shapes",
      "parent": "typography",
      "names": {
        "en": "Typeface shapes",
        "ko": "서체 형태",
        "ja": "書体の形"
      },
      "descriptions": {
        "en": "Explore Typeface shapes.",
        "ko": "서체 형태 항목을 탐색합니다.",
        "ja": "書体の形の項目を探します。"
      },
      "order": 14
    },
    {
      "id": "character-width",
      "parent": "typography",
      "names": {
        "en": "Character width",
        "ko": "문자 폭",
        "ja": "文字幅"
      },
      "descriptions": {
        "en": "Explore Character width.",
        "ko": "문자 폭 항목을 탐색합니다.",
        "ja": "文字幅の項目を探します。"
      },
      "order": 15
    },
    {
      "id": "revenue-sources",
      "parent": "business",
      "names": {
        "en": "Revenue sources",
        "ko": "수익원",
        "ja": "収益源"
      },
      "descriptions": {
        "en": "Explore Revenue sources.",
        "ko": "수익원 항목을 탐색합니다.",
        "ja": "収益源の項目を探します。"
      },
      "order": 16
    },
    {
      "id": "billing",
      "parent": "business",
      "names": {
        "en": "Billing methods",
        "ko": "과금 방식",
        "ja": "課金方式"
      },
      "descriptions": {
        "en": "Explore Billing methods.",
        "ko": "과금 방식 항목을 탐색합니다.",
        "ja": "課金方式の項目を探します。"
      },
      "order": 17
    },
    {
      "id": "seller-responsibility",
      "parent": "business",
      "names": {
        "en": "Seller responsibility models",
        "ko": "판매 책임 모델",
        "ja": "販売責任モデル"
      },
      "descriptions": {
        "en": "Explore Seller responsibility models.",
        "ko": "판매 책임 모델 항목을 탐색합니다.",
        "ja": "販売責任モデルの項目を探します。"
      },
      "order": 18
    }
  ],
  "articles": [
    {
      "id": "adr",
      "kind": "guide",
      "category": "planning",
      "related": [
        "srs",
        "static-sites"
      ],
      "example": "decision",
      "translations": {
        "en": {
          "title": "Design decisions that leave a paper trail",
          "summary": "Record why a choice won, and when it should stop winning.",
          "aliases": [
            "ADR",
            "Design Decision",
            "decision record",
            "설계 결정",
            "결정 기록",
            "設計判断",
            "決定記録"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/adr/",
          "markdown": "https://jujin.dev/en/guides/adr.md"
        },
        "ja": {
          "title": "Design DecisionとADR：判断を残す",
          "summary": "選んだ理由と、選び直す条件を記録します。",
          "aliases": [
            "ADR",
            "Design Decision",
            "decision record",
            "설계 결정",
            "결정 기록",
            "設計判断",
            "決定記録"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/adr/",
          "markdown": "https://jujin.dev/ja/guides/adr.md"
        },
        "ko": {
          "title": "Design Decision과 ADR: 결정의 흔적",
          "summary": "무엇을 골랐고 언제 다시 고를지 기록합니다.",
          "aliases": [
            "ADR",
            "Design Decision",
            "decision record",
            "설계 결정",
            "결정 기록",
            "設計判断",
            "決定記録"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/adr/",
          "markdown": "https://jujin.dev/ko/guides/adr.md"
        }
      }
    },
    {
      "id": "architecture",
      "kind": "guide",
      "category": "planning",
      "related": [
        "ooad",
        "adr"
      ],
      "example": "layers",
      "translations": {
        "en": {
          "title": "Architecture without acronym worship",
          "summary": "Use SOLID and GRASP to reason about change, not to win acronym bingo.",
          "aliases": [
            "SOLID",
            "GRASP",
            "architecture",
            "아키텍처",
            "응집도",
            "アーキテクチャ",
            "凝集度"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/architecture/",
          "markdown": "https://jujin.dev/en/guides/architecture.md"
        },
        "ja": {
          "title": "アーキテクチャとSOLID・GRASP入門",
          "summary": "略語の暗記より、変更の費用を考えます。",
          "aliases": [
            "SOLID",
            "GRASP",
            "architecture",
            "아키텍처",
            "응집도",
            "アーキテクチャ",
            "凝集度"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/architecture/",
          "markdown": "https://jujin.dev/ja/guides/architecture.md"
        },
        "ko": {
          "title": "아키텍처와 SOLID·GRASP: 약어 숭배 금지",
          "summary": "약어를 외우는 대신 변경의 비용을 따져봅니다.",
          "aliases": [
            "SOLID",
            "GRASP",
            "architecture",
            "아키텍처",
            "응집도",
            "アーキテクチャ",
            "凝集度"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/architecture/",
          "markdown": "https://jujin.dev/ko/guides/architecture.md"
        }
      }
    },
    {
      "id": "collections",
      "kind": "guide",
      "category": "data",
      "related": [
        "ooad",
        "srs"
      ],
      "example": "collections",
      "translations": {
        "en": {
          "title": "Array, list, map, set: pick by operation",
          "summary": "Order, lookup, and uniqueness are different jobs.",
          "aliases": [
            "array",
            "list",
            "map",
            "set",
            "배열",
            "리스트",
            "맵",
            "집합",
            "配列",
            "リスト",
            "マップ",
            "集合"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/collections/",
          "markdown": "https://jujin.dev/en/guides/collections.md"
        },
        "ja": {
          "title": "配列・リスト・マップ・集合：操作で選ぶ",
          "summary": "順序、検索、重複排除は別の仕事です。",
          "aliases": [
            "array",
            "list",
            "map",
            "set",
            "배열",
            "리스트",
            "맵",
            "집합",
            "配列",
            "リスト",
            "マップ",
            "集合"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/collections/",
          "markdown": "https://jujin.dev/ja/guides/collections.md"
        },
        "ko": {
          "title": "배열·리스트·맵·집합: 연산으로 고르기",
          "summary": "순서, 조회, 중복 제거는 서로 다른 일입니다.",
          "aliases": [
            "array",
            "list",
            "map",
            "set",
            "배열",
            "리스트",
            "맵",
            "집합",
            "配列",
            "リスト",
            "マップ",
            "集合"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/collections/",
          "markdown": "https://jujin.dev/ko/guides/collections.md"
        }
      }
    },
    {
      "id": "layout",
      "kind": "guide",
      "category": "design",
      "related": [
        "theme",
        "srs"
      ],
      "example": "layout",
      "translations": {
        "en": {
          "title": "Name the layout you are pointing at",
          "summary": "Header, sidebar, grid, dialog: give your feedback coordinates.",
          "aliases": [
            "layout",
            "sidebar",
            "breadcrumb",
            "modal",
            "레이아웃",
            "사이드바",
            "모달",
            "レイアウト",
            "サイドバー",
            "モーダル"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/layout/",
          "markdown": "https://jujin.dev/en/guides/layout.md"
        },
        "ja": {
          "title": "レイアウトとUI要素に名前を付ける",
          "summary": "ヘッダー、サイドバー、グリッド、モーダル。指摘にも座標が必要です。",
          "aliases": [
            "layout",
            "sidebar",
            "breadcrumb",
            "modal",
            "레이아웃",
            "사이드바",
            "모달",
            "レイアウト",
            "サイドバー",
            "モーダル"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/layout/",
          "markdown": "https://jujin.dev/ja/guides/layout.md"
        },
        "ko": {
          "title": "레이아웃과 UI 요소: 가리키는 것에 이름 붙이기",
          "summary": "헤더·사이드바·그리드·모달. 피드백에도 좌표가 필요합니다.",
          "aliases": [
            "layout",
            "sidebar",
            "breadcrumb",
            "modal",
            "레이아웃",
            "사이드바",
            "모달",
            "レイアウト",
            "サイドバー",
            "モーダル"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/layout/",
          "markdown": "https://jujin.dev/ko/guides/layout.md"
        }
      }
    },
    {
      "id": "ooad",
      "kind": "guide",
      "category": "planning",
      "related": [
        "architecture",
        "srs"
      ],
      "example": "objects",
      "translations": {
        "en": {
          "title": "OOAD: give each object a job",
          "summary": "Model behavior and ownership before drawing a forest of classes.",
          "aliases": [
            "OOAD",
            "responsibility",
            "객체지향",
            "책임 분리",
            "オブジェクト指向",
            "責務"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/ooad/",
          "markdown": "https://jujin.dev/en/guides/ooad.md"
        },
        "ja": {
          "title": "OOADと責務分離：それぞれに仕事を",
          "summary": "クラスの森を描く前に、動作と所有者を決めます。",
          "aliases": [
            "OOAD",
            "responsibility",
            "객체지향",
            "책임 분리",
            "オブジェクト指向",
            "責務"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/ooad/",
          "markdown": "https://jujin.dev/ja/guides/ooad.md"
        },
        "ko": {
          "title": "OOAD와 책임 분리: 객체마다 할 일 하나",
          "summary": "클래스 숲을 그리기 전에 동작과 소유권을 정합니다.",
          "aliases": [
            "OOAD",
            "responsibility",
            "객체지향",
            "책임 분리",
            "オブジェクト指向",
            "責務"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/ooad/",
          "markdown": "https://jujin.dev/ko/guides/ooad.md"
        }
      }
    },
    {
      "id": "payments",
      "kind": "guide",
      "category": "business",
      "related": [
        "revenue",
        "shipping"
      ],
      "example": "payments",
      "translations": {
        "en": {
          "title": "Payment channels, PG, and merchant of record",
          "summary": "A payment button is the beginning of the paperwork.",
          "aliases": [
            "PG",
            "MoR",
            "Toss Payments",
            "Lemon Squeezy",
            "결제",
            "토스",
            "전자결제대행",
            "決済",
            "販売責任者"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/payments/",
          "markdown": "https://jujin.dev/en/guides/payments.md"
        },
        "ja": {
          "title": "決済経路とPG・MoR：TossとLemon Squeezy",
          "summary": "決済ボタンは事務作業の始まりです。",
          "aliases": [
            "PG",
            "MoR",
            "Toss Payments",
            "Lemon Squeezy",
            "결제",
            "토스",
            "전자결제대행",
            "決済",
            "販売責任者"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/payments/",
          "markdown": "https://jujin.dev/ja/guides/payments.md"
        },
        "ko": {
          "title": "결제 채널과 PG·MoR: 토스·Lemon Squeezy",
          "summary": "결제 버튼은 서류 작업의 시작입니다.",
          "aliases": [
            "PG",
            "MoR",
            "Toss Payments",
            "Lemon Squeezy",
            "결제",
            "토스",
            "전자결제대행",
            "決済",
            "販売責任者"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/payments/",
          "markdown": "https://jujin.dev/ko/guides/payments.md"
        }
      }
    },
    {
      "id": "revenue",
      "kind": "guide",
      "category": "business",
      "related": [
        "payments",
        "srs"
      ],
      "example": "revenue",
      "translations": {
        "en": {
          "title": "Subscription, one-time payment, or ads?",
          "summary": "Match the bill to the value. The pricing page cannot rescue the product.",
          "aliases": [
            "subscription",
            "one-time",
            "advertising",
            "구독",
            "일회 결제",
            "광고",
            "サブスクリプション",
            "買い切り",
            "広告"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/revenue/",
          "markdown": "https://jujin.dev/en/guides/revenue.md"
        },
        "ja": {
          "title": "サブスク・買い切り・広告：価値に合わせる",
          "summary": "料金表だけでは製品を救えません。",
          "aliases": [
            "subscription",
            "one-time",
            "advertising",
            "구독",
            "일회 결제",
            "광고",
            "サブスクリプション",
            "買い切り",
            "広告"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/revenue/",
          "markdown": "https://jujin.dev/ja/guides/revenue.md"
        },
        "ko": {
          "title": "구독·일회 결제·광고: 가치에 맞춰 청구하기",
          "summary": "가격표가 제품까지 구해주지는 않습니다.",
          "aliases": [
            "subscription",
            "one-time",
            "advertising",
            "구독",
            "일회 결제",
            "광고",
            "サブスクリプション",
            "買い切り",
            "広告"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/revenue/",
          "markdown": "https://jujin.dev/ko/guides/revenue.md"
        }
      }
    },
    {
      "id": "shipping",
      "kind": "guide",
      "category": "deployment",
      "related": [
        "static-sites",
        "payments"
      ],
      "example": "shipping",
      "translations": {
        "en": {
          "title": "Runtime, distribution, hosting: three questions",
          "summary": "‘Deploy it’ is not a complete address.",
          "aliases": [
            "runtime",
            "hosting",
            "distribution",
            "web",
            "console",
            "호스팅",
            "배포",
            "콘솔",
            "ホスティング",
            "配布",
            "コンソール"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/shipping/",
          "markdown": "https://jujin.dev/en/guides/shipping.md"
        },
        "ja": {
          "title": "Web・アプリ・PC・コンソールの届け方",
          "summary": "「デプロイして」だけでは住所が足りません。",
          "aliases": [
            "runtime",
            "hosting",
            "distribution",
            "web",
            "console",
            "호스팅",
            "배포",
            "콘솔",
            "ホスティング",
            "配布",
            "コンソール"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/shipping/",
          "markdown": "https://jujin.dev/ja/guides/shipping.md"
        },
        "ko": {
          "title": "웹·앱·PC·콘솔: 실행·유통·호스팅 구분",
          "summary": "‘배포해줘’는 완성된 주소가 아닙니다.",
          "aliases": [
            "runtime",
            "hosting",
            "distribution",
            "web",
            "console",
            "호스팅",
            "배포",
            "콘솔",
            "ホスティング",
            "配布",
            "コンソール"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/shipping/",
          "markdown": "https://jujin.dev/ko/guides/shipping.md"
        }
      }
    },
    {
      "id": "srs",
      "kind": "guide",
      "category": "planning",
      "related": [
        "adr",
        "ooad"
      ],
      "example": "spec",
      "translations": {
        "en": {
          "title": "SRS: make ‘done’ mean something",
          "summary": "Turn a wish into requirements someone can actually test.",
          "aliases": [
            "SRS",
            "requirements",
            "acceptance criteria",
            "요구사항",
            "완료 조건",
            "要件",
            "受け入れ条件"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/srs/",
          "markdown": "https://jujin.dev/en/guides/srs.md"
        },
        "ja": {
          "title": "SRSと完了条件：「完成」の意味から",
          "summary": "願望を、検証できる要件に変えます。",
          "aliases": [
            "SRS",
            "requirements",
            "acceptance criteria",
            "요구사항",
            "완료 조건",
            "要件",
            "受け入れ条件"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/srs/",
          "markdown": "https://jujin.dev/ja/guides/srs.md"
        },
        "ko": {
          "title": "SRS와 완료 조건: ‘완성’의 뜻부터",
          "summary": "막연한 소원을 검증 가능한 요구사항으로 바꿉니다.",
          "aliases": [
            "SRS",
            "requirements",
            "acceptance criteria",
            "요구사항",
            "완료 조건",
            "要件",
            "受け入れ条件"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/srs/",
          "markdown": "https://jujin.dev/ko/guides/srs.md"
        }
      }
    },
    {
      "id": "static-sites",
      "kind": "guide",
      "category": "development",
      "related": [
        "tools",
        "shipping",
        "adr"
      ],
      "example": "generators",
      "translations": {
        "en": {
          "title": "Astro, Hugo, Jekyll: three ways to ship HTML",
          "summary": "Pick for authoring and maintenance, not a benchmark trophy.",
          "aliases": [
            "Astro",
            "Hugo",
            "Jekyll",
            "SSG",
            "정적 사이트",
            "静的サイト"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/static-sites/",
          "markdown": "https://jujin.dev/en/guides/static-sites.md"
        },
        "ja": {
          "title": "Astro・Hugo・Jekyll：HTMLを届ける三つの方法",
          "summary": "速度のトロフィーより執筆と保守で選びます。",
          "aliases": [
            "Astro",
            "Hugo",
            "Jekyll",
            "SSG",
            "정적 사이트",
            "静的サイト"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/static-sites/",
          "markdown": "https://jujin.dev/ja/guides/static-sites.md"
        },
        "ko": {
          "title": "Astro·Hugo·Jekyll: HTML을 보내는 세 방법",
          "summary": "벤치마크 트로피보다 집필과 유지보수 기준으로 고릅니다.",
          "aliases": [
            "Astro",
            "Hugo",
            "Jekyll",
            "SSG",
            "정적 사이트",
            "静的サイト"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/static-sites/",
          "markdown": "https://jujin.dev/ko/guides/static-sites.md"
        }
      }
    },
    {
      "id": "theme",
      "kind": "guide",
      "category": "design",
      "related": [
        "layout",
        "architecture"
      ],
      "example": "theme",
      "translations": {
        "en": {
          "title": "Themes and fonts without fifty shades of almost",
          "summary": "Use shared tokens so one decision stays one decision.",
          "aliases": [
            "theme",
            "font",
            "design tokens",
            "테마",
            "폰트",
            "공통 스타일",
            "テーマ",
            "フォント",
            "デザイントークン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/theme/",
          "markdown": "https://jujin.dev/en/guides/theme.md"
        },
        "ja": {
          "title": "テーマ・フォント・共通スタイル",
          "summary": "似た色五十個より、一つの決定を共有します。",
          "aliases": [
            "theme",
            "font",
            "design tokens",
            "테마",
            "폰트",
            "공통 스타일",
            "テーマ",
            "フォント",
            "デザイントークン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/theme/",
          "markdown": "https://jujin.dev/ja/guides/theme.md"
        },
        "ko": {
          "title": "테마·폰트·공통 스타일: 비슷한 색 50개 금지",
          "summary": "한 번 정한 스타일이 한 번의 결정으로 남게 합니다.",
          "aliases": [
            "theme",
            "font",
            "design tokens",
            "테마",
            "폰트",
            "공통 스타일",
            "テーマ",
            "フォント",
            "デザイントークン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/theme/",
          "markdown": "https://jujin.dev/ko/guides/theme.md"
        }
      }
    },
    {
      "id": "tools",
      "kind": "guide",
      "category": "development",
      "related": [
        "static-sites",
        "shipping"
      ],
      "example": "tools",
      "translations": {
        "en": {
          "title": "Language, library, framework, engine",
          "summary": "Stop comparing tools that do different jobs.",
          "aliases": [
            "language",
            "framework",
            "library",
            "engine",
            "언어",
            "프레임워크",
            "라이브러리",
            "엔진",
            "言語",
            "フレームワーク",
            "ライブラリ",
            "エンジン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/en/guides/tools/",
          "markdown": "https://jujin.dev/en/guides/tools.md"
        },
        "ja": {
          "title": "言語・フレームワーク・ライブラリ・エンジン",
          "summary": "仕事の違う道具で決勝戦をしないこと。",
          "aliases": [
            "language",
            "framework",
            "library",
            "engine",
            "언어",
            "프레임워크",
            "라이브러리",
            "엔진",
            "言語",
            "フレームワーク",
            "ライブラリ",
            "エンジン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ja/guides/tools/",
          "markdown": "https://jujin.dev/ja/guides/tools.md"
        },
        "ko": {
          "title": "언어·프레임워크·라이브러리·엔진 구분",
          "summary": "하는 일이 다른 도구끼리 결승전을 열지 마세요.",
          "aliases": [
            "language",
            "framework",
            "library",
            "engine",
            "언어",
            "프레임워크",
            "라이브러리",
            "엔진",
            "言語",
            "フレームワーク",
            "ライブラリ",
            "エンジン"
          ],
          "revision": 1,
          "sourceRevision": 1,
          "stale": false,
          "updated": "2026-09-21",
          "url": "https://jujin.dev/ko/guides/tools/",
          "markdown": "https://jujin.dev/ko/guides/tools.md"
        }
      }
    }
  ]
}