# yuzono/tachiyomi-extensions architecture

> Architecture diagram of the GitHub repository yuzono/tachiyomi-extensions, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yuzono/tachiyomi-extensions
- Repository: https://github.com/yuzono/tachiyomi-extensions

## Overview

This repository supplies manga-source extensions for Komikku, Mihon, Tachiyomi, and compatible apps. The main workflow is app-initiated source browsing or search, retrieval of manga details and chapters, then page/image loading. Source adapters implement site-specific behavior; shared core and multisource modules provide networking and reusable site-family support. The README also describes catalogues and improved Suggestions support. Sampled source shows several specialized paths, but not the implementation of every listed extension or catalogue delivery, so those links are kept general or omitted.

Main entry points: [`src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt) (AllAnime source), [`src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt`](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt) (LANraragi source), [`core/src/main/kotlin/keiyoushi/source/KeiSource.kt`](https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/source/KeiSource.kt) (Source contract), [`core/src/main/kotlin/keiyoushi/network/OkHttp.kt`](https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/network/OkHttp.kt) (HTTP support)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_adapters["Source adapters"]
  node_allanime["AllAnime source<br/>[AllManga.kt]"]
  node_lanraragi["LANraragi source<br/>[LANraragi.kt]"]
  node_browse["Browse and popular<br/>[AllManga.kt]"]
  node_search["Search and filters<br/>[AllManga.kt]"]
  node_details["Manga details<br/>[AllManga.kt]"]
  node_chapters["Chapter retrieval<br/>[AllManga.kt]"]
  node_pages["Page retrieval<br/>[LANraragi.kt]"]
end

subgraph group_shared["Shared source code"]
  node_multisrc["Site-family adapters"]
end

subgraph group_runtime["Extension runtime"]
  node_framework["Source contract<br/>[KeiSource.kt]"]
  node_network["HTTP support<br/>[OkHttp.kt]"]
  node_catalogue["Extension catalogues"]
end

subgraph group_special["Special integrations"]
  node_suggestions["Smart title search"]
  node_remotehistory["Remote history bridge"]
  node_readerjs["Reader script loader"]
end

node_app(("Compatible reader app"))
node_site(("Content providers"))

node_app -->|"uses sources"| node_framework
node_framework -->|"dispatches source calls"| node_allanime
node_framework -->|"dispatches source calls"| node_lanraragi
node_allanime -->|"uses HTTP client"| node_network
node_lanraragi -->|"uses HTTP client"| node_network
node_allanime -->|"implements browse"| node_browse
node_allanime -->|"implements search"| node_search
node_allanime -->|"fetches details"| node_details
node_allanime -->|"fetches chapters"| node_chapters
node_lanraragi -->|"parses page lists"| node_pages
node_browse -->|"requests manga lists"| node_site
node_search -->|"queries provider API"| node_site
node_details -->|"requests manga data"| node_site
node_chapters -->|"requests chapter data"| node_site
node_pages -->|"requests archive pages"| node_site
node_app -->|"installs catalogue"| node_catalogue
node_multisrc -->|"shares networking"| node_network
node_app -.->|"uses suggestions"| node_suggestions
node_suggestions -->|"returns ranked titles"| node_app
node_remotehistory -.->|"loads remote history"| node_site
node_readerjs -.->|"fetches reader script"| node_site

click node_framework "https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/source/KeiSource.kt"
click node_network "https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/network/OkHttp.kt"
click node_allanime "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt"
click node_lanraragi "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt"
click node_multisrc "https://github.com/yuzono/tachiyomi-extensions/tree/main/lib-multisrc"
click node_browse "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt"
click node_search "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt"
click node_details "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt"
click node_chapters "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt"
click node_pages "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt"
click node_suggestions "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/SmartBookSearchHandler.kt"
click node_remotehistory "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/cubari/src/eu/kanade/tachiyomi/extension/all/cubari/RemoteStorageUtils.kt"
click node_readerjs "https://github.com/yuzono/tachiyomi-extensions/blob/main/src/fr/raijinscans/src/eu/kanade/tachiyomi/extension/fr/raijinscans/ReaderScriptManager.kt"
click node_catalogue "https://github.com/yuzono/tachiyomi-extensions/tree/main/src"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_allanime,node_lanraragi,node_browse,node_search,node_details,node_chapters,node_pages toneBlue
class node_multisrc toneAmber
class node_framework,node_network,node_catalogue toneMint
class node_suggestions,node_remotehistory,node_readerjs toneRose
class node_app,node_site toneIndigo
```

## Components

### Source adapters

- [AllAnime source](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt): `src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`
- [LANraragi source](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt): `src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt`
- [Browse and popular](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt): `src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`
- [Search and filters](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt): `src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`
- [Manga details](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt): `src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`
- [Chapter retrieval](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt): `src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt`
- [Page retrieval](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt): `src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt`

### Shared source code

- [Site-family adapters](https://github.com/yuzono/tachiyomi-extensions/tree/main/lib-multisrc): `lib-multisrc`

### Extension runtime

- [Source contract](https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/source/KeiSource.kt): `core/src/main/kotlin/keiyoushi/source/KeiSource.kt`
- [HTTP support](https://github.com/yuzono/tachiyomi-extensions/blob/main/core/src/main/kotlin/keiyoushi/network/OkHttp.kt): `core/src/main/kotlin/keiyoushi/network/OkHttp.kt`
- [Extension catalogues](https://github.com/yuzono/tachiyomi-extensions/tree/main/src): `src`

### Special integrations

- [Smart title search](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/SmartBookSearchHandler.kt): `src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/SmartBookSearchHandler.kt`
- [Remote history bridge](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/all/cubari/src/eu/kanade/tachiyomi/extension/all/cubari/RemoteStorageUtils.kt): `src/all/cubari/src/eu/kanade/tachiyomi/extension/all/cubari/RemoteStorageUtils.kt`
- [Reader script loader](https://github.com/yuzono/tachiyomi-extensions/blob/main/src/fr/raijinscans/src/eu/kanade/tachiyomi/extension/fr/raijinscans/ReaderScriptManager.kt): `src/fr/raijinscans/src/eu/kanade/tachiyomi/extension/fr/raijinscans/ReaderScriptManager.kt`

### Other components

- **Compatible reader app**
- **Content providers**

## Connections

- Compatible reader app → Source contract: uses sources
- Source contract → AllAnime source: dispatches source calls
- Source contract → LANraragi source: dispatches source calls
- AllAnime source → HTTP support: uses HTTP client
- LANraragi source → HTTP support: uses HTTP client
- AllAnime source → Browse and popular: implements browse
- AllAnime source → Search and filters: implements search
- AllAnime source → Manga details: fetches details
- AllAnime source → Chapter retrieval: fetches chapters
- LANraragi source → Page retrieval: parses page lists
- Browse and popular → Content providers: requests manga lists
- Search and filters → Content providers: queries provider API
- Manga details → Content providers: requests manga data
- Chapter retrieval → Content providers: requests chapter data
- Page retrieval → Content providers: requests archive pages
- Compatible reader app → Extension catalogues: installs catalogue
- Site-family adapters → HTTP support: shares networking
- Compatible reader app → Smart title search: uses suggestions
- Smart title search → Compatible reader app: returns ranked titles
- Remote history bridge → Content providers: loads remote history
- Reader script loader → Content providers: fetches reader script
