Skip to content

Repository files navigation

Mirai

Versi Inggris: README_EN.md · dokumentasi Inggris untuk penulis extension: docs/en/

Pembaca manga dan pemutar anime dengan sistem extension — Mirai tidak membawa satu pun sumber konten. Katalog datang dari extension yang kamu pasang sendiri dari repo pilihanmu, mengikuti pola Aniyomi dan keiyoushi/extensions.

Web-first, mobile-first, dan bisa dibungkus jadi APK lewat Capacitor. Library, riwayat, dan progres baca/tonton tersimpan lokal di SQLite sehingga tetap terbuka tanpa internet. Baca dan nonton tetap butuh koneksi kecuali chapter atau episodenya sudah diunduh.

Stack — Vue 3 · Vite 8 · TypeScript · Tailwind v4 · shadcn-vue (reka-ui) · Pinia · Capacitor 8 · SQLite · pnpm workspaces

Menjalankan

pnpm install
cp apps/proxy/.env.example apps/proxy/.env

pnpm --filter @mirai/extensions build   # extension → extensions/dist
pnpm dev                                # http://localhost:5180
pnpm dev:proxy                          # http://127.0.0.1:5181, di terminal lain

Di build web semua request extension menempuh proxy, jadi tanpa pnpm dev:proxy halaman Browse memuat daftar sumbernya tapi tidak bisa mengambil katalog. Hasil build extension disajikan di /ext-dev sebagai repo lokal selama dev.

Perintah Fungsi
pnpm dev Dev server app (port 5180, strictPort)
pnpm dev:proxy Proxy CORS + stream untuk build web
pnpm build Build seluruh workspace
pnpm typecheck vue-tsc di seluruh workspace
pnpm lint / pnpm lint:fix ESLint
pnpm format / pnpm format:check Prettier
pnpm test Vitest
node scripts/smoke.mjs Smoke test Playwright (butuh pnpm dev jalan)

Struktur

apps/app         Vue SPA + host Capacitor — ini yang jadi APK
apps/proxy       Proxy CORS/stream untuk build web
packages/
  extension-api      Kontrak extension. Nol dependensi.
  extension-lib      Toolkit penulis extension (parser, http, resolver)
  extension-runtime  Loader + sandbox Worker + manajemen repo
  db                 Skema SQLite, migrasi, repositories
extensions       Source extension bawaan + skrip build repo

Alasan pembagiannya ada di docs/architecture.md.

Build Android

APK dibangun GitHub Actions, bukan di mesin lokal: buat Release ber-tag vX.Y.Z, dan mirai-X.Y.Z.apk menempel di Release itu beberapa menit kemudian. Versinya diturunkan dari tag (versionCode = X*10000 + Y*100 + Z).

pnpm cap:sync      # build web + salin ke apps/app/android
pnpm android:open  # sync lalu buka Android Studio (helper WSL)
pnpm android:icons # gambar ulang ikon & splash

Ketiganya butuh Android SDK, yang belum terpasang di mesin pengembangan — jadi APK-nya belum pernah diuji di perangkat fisik. Rinciannya, termasuk kenapa keystore debug ikut di-commit dan kenapa halaman luar dibuka di WebView aplikasi, ada di docs/features/android.md.

Roadmap

Fase Isi Status
0 Fondasi monorepo, shell layout, tooling
1 Extension API, runtime sandbox, proxy
2 Repo extension, manajemen, Komikcast + Otakudesu
3 SQLite, Library offline-first, Updates
4 Reader manga (paged + webtoon)
5 Player anime
6 Unduh manga
7 Unduh anime (mp4 + HLS)
8 Build Android (APK)
9 Backup, dwibahasa, polish

Rincian tiap fase: docs/roadmap.md.

Dokumentasi

Dokumen Isi
docs/PRD.md Masalah, tujuan, scope, non-goals
docs/DESIGN.md Token warna, tipografi, pola komponen
docs/architecture.md Lapisan, alur data, jaringan, penyimpanan
docs/conventions.md Aturan koding yang wajib diikuti
docs/roadmap.md Fase 0–9 dan kriteria selesainya
docs/features/ Satu dokumen per fitur
docs/extensions/ Cara menulis extension + API reference
docs/en/ Terjemahan Inggris untuk penulis extension
CHANGELOG.md Riwayat rilis

Menulis extension

Sumber adalah paket terpisah yang mengimplementasikan satu interface dan dijalankan di dalam Web Worker terisolasi. Mulai dari docs/extensions/writing-an-extension.md.

Catatan

Mirai adalah klien kosong. Repo extension yang kamu tambahkan dan kepatuhan pada ketentuan layanan situs sumbernya adalah tanggung jawabmu sendiri.

About

Anime & manga client with an installable extension system — Vue 3 + Vite + Capacitor, web-first, offline-first library

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages