Standalone repository for the cross-platform MobiDevices application built with Tauri 2.
- Main scope:
. - Rust/Tauri code:
src-tauri/ - Website target: https://mobidevices.com
.
├── README.md
├── AGENTS.md
├── LICENSE
├── package.json
├── .github/
│ └── workflows/
│ ├── ci.yml
│ └── release.yml
├── macos/
├── src-tauri/
│ ├── src/
│ ├── capabilities/
│ ├── i18n/
│ └── tauri.conf.json
├── linux/
├── debian/
├── flatpak/
├── snap/
└── aur/
- Edit source/config files, not generated build output.
- Avoid editing generated paths unless explicitly requested (
src-tauri/target/,src-tauri/gen/). - Keep this README high-level and stable.
npm installnpm run dev
npm run build
npm run build:dmg
npm run generate:flatpak-sources
npm run build:flatpak
npm run validate:linux-assets- Tauri bundles are produced under
src-tauri/target/release/bundle/. - Linux
.debpackages in CI and tagged releases are built from the Debian packaging underdebian/viadpkg-buildpackage, then staged under architecture-specific directories indist/release/. - CI and tagged releases now build ARM artifacts for Linux (
ubuntu-24.04-arm) in addition to the existing Linux x64 pipeline. - Local Flatpak builds now write the final bundle to
dist/flatpak/mobidevices.flatpakby default. - Local Snap builds now write the final package to
dist/snap/mobidevices.snapby default. - Local Flathub submission export now writes to
dist/flathub/<tag>/by default. - CI and release workflows stage downloadable artifacts under architecture-specific directories in
dist/release/before upload, so x64 and ARM artifacts can coexist without filename collisions.
- Packaging helpers live next to their platform or packaging format under
linux/,flatpak/,snap/, andmacos/. - Linux packaging assets are centralized in
linux/install-assets.shand reused by Flatpak, Snap, Debian, AUR, and metadata validation. - Release
.debpackages use the Debian source package metadata indebian/, which keeps the package name atmobidevicesand aligns desktop/AppStream assets with the rest of the Linux packaging.
- Flatpak manifest now builds the app from source in flatpak/com.mobidevices.desktop.yml using flatpak/cargo-sources.json.
- Refresh vendored Rust sources after any Cargo dependency change with
npm run generate:flatpak-sources. - Local Flatpak build uses
npm run build:flatpak, writes the finalmobidevices.flatpakbundle intodist/flatpak/by default, and prints the resulting path. npm run prepare:flathub-submission -- [tag] [output-dir]exports a minimal Flathub submission directory with a top-levelcom.mobidevices.desktop.ymlandcargo-sources.json, pinned to an upstream Git tag and commit, and defaults todist/flathub/<tag>/.- The Flathub submission manifest template lives in flatpak/com.mobidevices.desktop.flathub.yml.in and keeps AppStream compose enabled for Flathub builds.
- Tagged GitHub releases now attach both
mobidevices.flatpakandmobidevices-flathub-submission-<tag>.tar.gz, so the release already contains the final Flatpak bundle plus the Flathub submission files. - Local Flatpak build requires
flatpak-builder,org.gnome.Sdk//50,org.gnome.Platform//50, andorg.freedesktop.Sdk.Extension.rust-stable//25.08. - Hosted screenshots are configured in linux/com.mobidevices.desktop.metainfo.xml and should stay available at stable public HTTPS URLs.
- Workflow and constraints:
AGENTS.md - CI validation:
.github/workflows/ci.yml - Release workflow:
.github/workflows/release.yml