diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 7438162..2acd411 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -8,46 +8,45 @@ for a self-hosted server variant; the current implementation is Android-only). ## Repository layout -- `client/` — SolidJS + Vite PWA/webview UI (workspace root's actual app code). - - `src/api.ts` — all "business logic": scraping Ravensburger's search API/HTML - for `.gme` download links, orchestrating download + sync, calling the - native plugin. - - `src/native/TiptoiPlugin.ts` + `src/native/DevPlugin.ts` — TypeScript - interfaces for Capacitor native plugins (`registerPlugin`). Any change to - the native Kotlin plugin's method signatures must be mirrored here. - - `src/pages/` — `ScanPage.tsx` (barcode/text search) and - `DownloadsPage.tsx` (library + pen sync UI). - - `android/` — Capacitor Android project, **checked into the repo** (not - generated on demand). `android/app/src/main/java/com/tiptoisync/app/` - contains the actual native implementation: - - `TiptoiPlugin.kt` — SAF (Storage Access Framework) directory picker for - the pen, listing/copying/deleting `.gme` files on the pen, downloading - GME/cover files into app-private storage via `HttpURLConnection`. - - `DevPlugin.kt` — enables Capacitor live-reload against a Vite dev server - (see `DEV_URL` below). +This is a single SolidJS + Vite + Capacitor project (no monorepo/workspace) — +all app code lives directly at the repo root. + +- `src/api.ts` — all "business logic": scraping Ravensburger's search API/HTML + for `.gme` download links, orchestrating download + sync, calling the + native plugin. +- `src/native/TiptoiPlugin.ts` + `src/native/DevPlugin.ts` — TypeScript + interfaces for Capacitor native plugins (`registerPlugin`). Any change to + the native Kotlin plugin's method signatures must be mirrored here. +- `src/pages/` — `ScanPage.tsx` (barcode/text search) and + `DownloadsPage.tsx` (library + pen sync UI). +- `android/` — Capacitor Android project, **checked into the repo** (not + generated on demand). `android/app/src/main/java/com/tiptoisync/app/` + contains the actual native implementation: + - `TiptoiPlugin.kt` — SAF (Storage Access Framework) directory picker for + the pen, listing/copying/deleting `.gme` files on the pen, downloading + GME/cover files into app-private storage via `HttpURLConnection`. + - `DevPlugin.kt` — enables Capacitor live-reload against a Vite dev server + (see `DEV_URL` below). - `Dockerfile.android`, `build-apk.sh` — reproducible APK build via Docker/Podman (no local Android SDK needed). Output APK lands in `apk-output/tiptoi-sync.apk`. ## Build & dev commands -Run from repo root (workspace uses `bun`): +Run from repo root (uses `bun`): ```bash -bun install # installs client workspace deps -bun run dev # starts Vite dev server (client) with --host -bun run build # tsc -b && vite build for client -bun run cap:sync # copies web build into android/ project -bun run cap:android # builds & runs on connected device/emulator +bun install # installs deps +bun run dev # starts Vite dev server with --host +bun run build # tsc -b && vite build +bun run cap:sync # copies web build into android/ project +bun run cap:android # builds & runs on connected device/emulator ``` -Equivalent scripts also exist directly in `client/package.json` (`bun --cwd -client run