How harrys-hq/shinku works
ShinKu is an Android manga library and reader, extending the Mihon/SY foundation with discovery, AI, translation, tracking, and sync. The principal journey is to discover manga through sources or personalized search, save it to a library, obtain chapters, and read them; related capabilities include backups, external progress tracking, and library organization. The tree and README establish these product areas, while sampled files verify selected internal behavior. Links based only on documented capabilities cite the README; unsampled implementation details are represented at their existing directory paths.
Main entry points: MangaRepositoryImpl.kt Manga Library · AiEngine.kt AI Engines · presentation Discover Feed · interactor Translation Tools
Components 26
Discovery and Sources
- Discover Feed
app/src/main/java/com/shinku/reader/presentation - Source Manager
domain/src/main/java/com/shinku/reader/domain/source/service/SourceManager.kt - Extensions
app/src/main/java/com/shinku/reader/extension/ExtensionManager.kt - Vibe Search
app/src/main/java/com/shinku/reader/domain/source/interactor/GeminiVibeSearch.kt - AI Engines
domain/src/main/java/com/shinku/reader/domain/ai/AiEngine.kt - Saved Feed Searches
data/src/main/java/com/shinku/reader/data/source/FeedSavedSearchRepositoryImpl.kt - Advanced Search
app/src/main/java/com/shinku/reader/exh/search/SearchEngine.kt
Library Management
- Manga Library
data/src/main/java/com/shinku/reader/data/manga/MangaRepositoryImpl.kt - Smart Categories
app/src/main/java/com/shinku/reader/data/category/SmartCategorizerJob.kt - Library Search
app/src/main/java/com/shinku/reader/exh/smartsearch/SmartLibrarySearchEngine.kt - Library Updates
app/src/main/java/com/shinku/reader/data/library/LibraryUpdateJob.kt
Reading and Translation
- Manga Reader
app/src/main/java/com/shinku/reader - Chapter Downloads
app/src/main/java/com/shinku/reader/data/download/DownloadManager.kt - Translation Tools
app/src/main/java/com/shinku/reader/domain/source/interactor
Sync and Integrations
- Backup and Restore
app/src/main/java/com/shinku/reader/data/backup - Tracker Manager
app/src/main/java/com/shinku/reader/data/track/TrackerManager.kt - Tracker Services
app/src/main/java/com/shinku/reader/data/track - Cloud Sync
app/src/main/java/com/shinku/reader/data/sync/SyncManager.kt - Sync Service
app/src/main/java/com/shinku/reader/data/sync/service/SyncService.kt
App Foundation
- Storage Manager
domain/src/main/java/com/shinku/reader/domain/storage/service/StorageManager.kt - Network Client
core/common/src/main/kotlin/eu/kanade/tachiyomi/network/NetworkHelper.kt
Other components
- Reader
- Manga Sources
- AI Providers
- Tracker Platforms
- Cloud Storage
Connections 26
- Reader → Discover Feed: browses
README.md - Discover Feed → Source Manager: browses sources
- Source Manager → Manga Sources: fetches titles
- Reader → Vibe Search: searches naturally
README.md - Vibe Search → AI Engines: requests recommendations
- AI Engines → AI Providers: generates results
README.md - Reader → Manga Library: organizes titles
README.md - Manga Library → Smart Categories: categorizes titles
README.md - Manga Library → Library Search: searches library
- Manga Library → Library Updates: refreshes titles
README.md - Reader → Chapter Downloads: downloads chapters
- Chapter Downloads → Storage Manager: stores chapters
- Reader → Manga Reader: reads chapters
README.md - Manga Reader → Translation Tools: translates pages
README.md - Translation Tools → AI Engines: uses cloud engines
- Translation Tools → Manga Sources: uses offline services
- Reader → Backup and Restore: backs up data
README.md - Reader → Tracker Manager: links progress
README.md - Tracker Manager → Tracker Services: dispatches tracking
- Tracker Services → Tracker Platforms: syncs progress
README.md - Reader → Cloud Sync: starts sync
- Cloud Sync → Sync Service: coordinates sync
- Sync Service → Cloud Storage: syncs remotely
- Discover Feed → Saved Feed Searches: loads saved searches
- Advanced Search → Library Search: supports migration search
- AI Engines → Network Client: sends requests
domain/src/main/java/com/shinku/reader/domain/ai/OpenAiCompatibleEngine.kt