JellyTau logo
JellyTau

A cross-platform Jellyfin client built with Tauri, SvelteKit, and TypeScript. Business logic lives in a Rust backend; a UI-rich Svelte frontend handles presentation and talks to it over Tauri's IPC. Targets Linux (libmpv) and Android (ExoPlayer). ## Getting Started This project uses [bun](https://bun.sh) as its package manager. ```bash # Activate the Rust environment (fish shell) source "$HOME/.cargo/env.fish" # Install dependencies bun install # Run in development bun run tauri dev # Type-check the frontend bun run check # Build for Linux bun run tauri build # Build for Android bun run tauri android build ``` For the full set of build, test, and Android helper scripts, see [scripts/README.md](scripts/README.md). ## Documentation | Topic | Location | |-------|----------| | Architecture overview & subsystem docs | [docs/architecture/](docs/architecture/) | | Requirements, traceability & technical debt | [docs/requirements.md](docs/requirements.md) | | Build & release process | [docs/build/build-release.md](docs/build/build-release.md) | | Docker builds | [docs/build/docker.md](docs/build/docker.md) | | Traceability tooling & CI | [docs/traceability.md](docs/traceability.md), [docs/traceability-ci.md](docs/traceability-ci.md) | | Release checklist | [docs/release-checklist.md](docs/release-checklist.md) | | UX flows | [docs/ux-flows.md](docs/ux-flows.md) | | CI operations (builder image, secrets, runner) | [docs/build/ci-operations.md](docs/build/ci-operations.md) | ## Contributing [CONTRIBUTING.md](CONTRIBUTING.md) covers the setup, the gates a change has to pass, and the two rules that catch people out (bug fixes start with a failing test; Jellyfin's taxonomy stays in Rust). Please also read the [Code of Conduct](CODE_OF_CONDUCT.md). Found a security problem? Do not open an issue — see [SECURITY.md](SECURITY.md). ## Verifying a download Every release publishes `SHA256SUMS` covering all of its artifacts, plus an SBOM of what went into the build: ```bash sha256sum -c SHA256SUMS ``` Desktop builds update themselves from Settings → Updates, verifying each payload against JellyTau's signing key before installing. Android installs are handled by the system installer, so the app links to the releases page instead. ## Recommended IDE Setup [VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). ## License MIT