{
  "name": "Tomo Extensions Repository",
  "description": "Official repository for Tomo app extensions",
  "version": "1.0.0",
  "extensions": [
    {
      "id": "gogoanime",
      "name": "GoGoAnime",
      "version": "1.0.0",
      "type": "anime",
      "description": "Watch anime from GoGoAnime",
      "author": "Tomo Team",
      "icon": "https://example.com/icons/gogoanime.png",
      "manifest": {
        "id": "gogoanime",
        "name": "GoGoAnime",
        "type": "anime",
        "baseUrl": "https://gogoanime.example",
        "description": "GoGoAnime source",
        "language": "en",
        "searchUrl": "https://gogoanime.example/search?keyword={query}",
        "cache": {
          "listTTL": 3600,
          "contentTTL": 86400,
          "enabled": true
        },
        "rules": {
          "list": {
            "container": ".items li",
            "title": ".name",
            "link": { "selector": "a", "attr": "href" },
            "cover": { "selector": "img", "attr": "src" }
          },
          "episodes": {
            "container": "#episode_related li",
            "title": ".ep_name",
            "link": { "selector": "a", "attr": "href" },
            "number": ".ep_num"
          },
          "stream": {
            "selector": "iframe",
            "attr": "src",
            "regex": "url=(.*?)$"
          }
        }
      }
    },
    {
      "id": "mangadex",
      "name": "MangaDex",
      "version": "1.0.0",
      "type": "manga",
      "description": "Read manga from MangaDex",
      "author": "Tomo Team",
      "icon": "https://example.com/icons/mangadex.png",
      "manifest": {
        "id": "mangadex",
        "name": "MangaDex",
        "type": "manga",
        "baseUrl": "https://mangadex.example",
        "description": "MangaDex source",
        "language": "en",
        "searchUrl": "https://mangadex.example/search?q={query}",
        "cache": {
          "listTTL": 3600,
          "contentTTL": 86400,
          "enabled": true
        },
        "rules": {
          "list": {
            "container": ".manga-list .manga-item",
            "title": ".manga-title",
            "link": { "selector": "a.manga-link", "attr": "href" },
            "cover": { "selector": "img.cover", "attr": "data-src" }
          },
          "chapters": {
            "container": ".chapter-list .chapter-item",
            "title": ".chapter-title",
            "link": { "selector": "a", "attr": "href" },
            "number": {
              "selector": ".chapter-num",
              "regex": "Chapter (\\\\d+)"
            }
          },
          "pages": {
            "selector": ".reader-content img.page-image",
            "attr": "data-src"
          }
        }
      }
    },
    {
      "id": "meionovel",
      "name": "MeioNovel",
      "version": "1.0.0",
      "type": "novel",
      "description": "Read light novels from MeioNovel",
      "author": "Tomo Team",
      "icon": "https://example.com/icons/meionovel.png",
      "manifest": {
        "id": "meionovel",
        "name": "MeioNovel",
        "type": "novel",
        "baseUrl": "https://meionovels.com",
        "description": "Indonesian light novel translations",
        "language": "id",
        "searchUrl": "https://meionovels.com/?s={query}&post_type=wp-manga",
        "cache": {
          "listTTL": 3600,
          "contentTTL": 86400,
          "enabled": true
        },
        "rules": {
          "list": {
            "container": ".c-tabs-item__content",
            "title": ".post-title a",
            "link": { "selector": ".post-title a", "attr": "href" },
            "cover": { "selector": ".tab-thumb img", "attr": "data-src" }
          },
          "chapters": {
            "container": "li.wp-manga-chapter",
            "title": "a",
            "link": { "selector": "a", "attr": "href" }
          },
          "content": {
            "title": { "selector": ".chapter-heading h1", "attr": "" },
            "body": { "selector": ".reading-content", "attr": "" },
            "removeSelectors": [
              ".adsbygoogle",
              ".code-block",
              "script",
              "style"
            ]
          }
        }
      }
    }
  ]
}
