# Tauri > Documentation for Tauri ## Pages - [Tauri Documentation](tauri-documentation.md) - [Tauri Full Documentation](tauri-full-documentation.md): Tauri is a framework for building tiny, fast binaries for all major desktop and mobile platforms. Developers can inte... - [Create a Project](create-a-project.md): import { Steps } from '@astrojs/starlight/components'; - [What is Tauri?](what-is-tauri.md): Tauri is a framework for building tiny, fast binaries for all major desktop and mobile platforms. Developers can inte... - [Prerequisites](prerequisites.md): import { Tabs, TabItem, Card } from '@astrojs/starlight/components'; - [10.2.3](1023.md): It's important to restart your Terminal to ensure it recognizes the new installation. In some cases, you might need t... - [Project Structure](project-structure.md): A Tauri project is usually made of 2 parts, a Rust project and a JavaScript project (optional), - [Upgrade from Tauri 2.0 Beta](upgrade-from-tauri-20-beta.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [Upgrade from Tauri 1.0](upgrade-from-tauri-10.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [Cargo.toml](cargotoml.md): [dependencies] - [Cargo.toml](cargotoml-2.md): [dependencies] - [Cargo.toml](cargotoml-3.md): [dependencies] - [Cargo.toml](cargotoml-4.md): [dependencies] - [Cargo.toml](cargotoml-5.md): [dependencies] - [Cargo.toml](cargotoml-6.md): [dependencies] - [Cargo.toml](cargotoml-7.md): [dependencies] - [Cargo.toml](cargotoml-8.md): [dependencies] - [Cargo.toml](cargotoml-9.md): [dependencies] - [Upgrade & Migrate](upgrade-migrate.md): Learn about common scenarios and steps to upgrade from Tauri 1.0 or migrate from another framework. - [Frontend Configuration](frontend-configuration.md): import { LinkCard, CardGrid } from '@astrojs/starlight/components'; - [Leptos](leptos.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Nuxt](nuxt.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Next.js](nextjs.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Qwik](qwik.md): import { Steps, TabItem, Tabs } from '@astrojs/starlight/components'; - [SvelteKit](sveltekit.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Trunk](trunk.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Vite](vite.md): import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; - [Tauri Architecture](tauri-architecture.md): Tauri is a polyglot and generic toolkit that is very composable and allows engineers to make a wide variety of applic... - [Core Concepts](core-concepts.md): import { CardGrid, LinkCard } from '@astrojs/starlight/components'; - [App Size](app-size.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [src-tauri/Cargo.toml](src-tauricargotoml.md): [profile.dev] - [src-tauri/Cargo.toml](src-tauricargotoml-2.md): [profile.dev] - [Process Model](process-model.md): Tauri employs a multi-process architecture similar to Electron or many modern web browsers. This guide explores the r... - [Brownfield Pattern](brownfield-pattern.md): _**This is the default pattern.**_ - [Inter-Process Communication](inter-process-communication.md): import { CardGrid, LinkCard } from '@astrojs/starlight/components'; - [Isolation Pattern](isolation-pattern.md): The Isolation pattern is a way to intercept and modify Tauri API messages sent by the frontend before they get to Tau... - [Capabilities](capabilities.md): Tauri provides application and plugin developers with a capabilities system, - [Content Security Policy (CSP)](content-security-policy-csp.md): Tauri restricts the [Content Security Policy] (CSP) of your HTML pages. - [Tauri Ecosystem Security](tauri-ecosystem-security.md): Our Tauri organization ecosystem is hosted on GitHub and facilitates several - [Future Work](future-work.md): This section describes topics we started or would like to tackle - [HTTP Headers](http-headers.md): import SinceVersion from '../../../components/SinceVersion.astro'; - [Security](security.md): import { CardGrid, LinkCard } from '@astrojs/starlight/components'; - [Application Lifecycle Threats](application-lifecycle-threats.md): Tauri applications are composed of many pieces at different points in time of the application lifecycle. - [Permissions](permissions.md): Permissions are descriptions of explicit privileges of commands. - [Runtime Authority](runtime-authority.md): The runtime authority is part of the Tauri Core. - [Command Scopes](command-scopes.md): A scope is a granular way to define (dis)allowed behavior of a Tauri command. - [Calling the Frontend from Rust](calling-the-frontend-from-rust.md): import { Content as FrontendListen } from './_sections/frontend-listen.mdx'; - [Calling Rust from the Frontend](calling-rust-from-the-frontend.md): import { Content as FrontendListen } from './_sections/frontend-listen.mdx'; - [Configuration Files](configuration-files.md): import CommandTabs from '@components/CommandTabs.astro'; - [start the dev server](start-the-dev-server.md): before-dev-command = "npm run dev" - [App Icons](app-icons.md): {/* TODO: More platform specific explanations like macOS requiring padding in the icon (waiting for - [Develop](develop.md): import CommandTabs from '@components/CommandTabs.astro'; - [Embedding Additional Files](embedding-additional-files.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [Embedding External Binaries](embedding-external-binaries.md): You may need to embed external binaries to add additional functionality to your application or prevent users from ins... - [Unix (Linux/macOS)](unix-linuxmacos.md): rustc -Vv | grep host | cut -f2 -d' ' - [Windows PowerShell](windows-powershell.md): rustc -Vv | Select-String "host:" | ForEach-Object {$_.Line.split(" ")[1]} - [State Management](state-management.md): In a Tauri application, you often need to keep track of the current state of your application or manage the lifecycle... - [Updating Dependencies](updating-dependencies.md): {/* TODO: Add plugin update example */} - [Mobile Plugin Development](mobile-plugin-development.md): :::tip[Plugin Development] - [Plugin Development](plugin-development.md): {/* TODO: Add a CLI section */} - [we need to add schemars to both dependencies and build-dependencies because the scope.rs module is shared between the app code and build script](we-need-to-add-schemars-to-both-dependencies-and-build-dependencies-because-the-.md): [dependencies] - [Tests](tests.md): Tauri offers support for both unit and integration testing utilizing a mock runtime. Under the mock runtime, native - [Mock Tauri APIs](mock-tauri-apis.md): import SinceVersion from '../../../../components/SinceVersion.astro'; - [CrabNebula DevTools](crabnebula-devtools.md): import { Image } from 'astro:assets'; - [Debug](debug.md): import CommandTabs from '@components/CommandTabs.astro'; - [Debug in Neovim](debug-in-neovim.md): There are many different plugins that can be used to debug Rust code in Neovim. This guide will show you how to set u... - [Debug in JetBrains IDEs](debug-in-jetbrains-ides.md): {/* TODO: Add support to light/dark mode images */} - [Debug in VS Code](debug-in-vs-code.md): This guide will walk you through setting up VS Code for debugging the [Core Process of your Tauri app](/concept/proce... - [Calling the Frontend from Rust](calling-the-frontend-from-rust-2.md): The`@tauri-apps/api`NPM package offers APIs to listen to both global and webview-specific events. - [WebDriver](webdriver.md): [WebDriver] is a standardized interface to interact with web documents primarily intended for automated testing. - [Continuous Integration](continuous-integration.md): It is possible to run [WebDriver] tests with [`tauri-driver`] on your CI. The following example uses the [WebdriverIO... - [run this action when the repository is pushed to](run-this-action-when-the-repository-is-pushed-to.md): on: [push] - [the name of our workflow](the-name-of-our-workflow.md): name: WebDriver - [Selenium](selenium.md): import CommandTabs from '@components/CommandTabs.astro'; - [WebdriverIO](webdriverio.md): import CommandTabs from '@components/CommandTabs.astro'; - [App Store](app-store.md): import CommandTabs from '@components/CommandTabs.astro'; - [Publishing To The Arch User Repository](publishing-to-the-arch-user-repository.md): First go to`and make an account. Be sure to add the proper ssh keys. Next, clone an empty... - [Contributor:](contributor.md): pkgname= - [Maintainer:](maintainer.md): pkgname=-git - [AppImage](appimage.md): `AppImage`is a distribution format that does not rely on the system installed packages and instead bundles all depen... - [Distributing with CrabNebula Cloud](distributing-with-crabnebula-cloud.md): [CrabNebula] is an official Tauri partner providing services and tooling for Tauri applications. - [Debian](debian.md): import ShowSolution from '@components/ShowSolution.astro'; - [DMG](dmg.md): import CommandTabs from '@components/CommandTabs.astro'; - [Flathub](flathub.md): import { Tabs, TabItem, Card } from '@astrojs/starlight/components'; - [flatpak-builder.yaml](flatpak-builderyaml.md): id: - [Install the flatpak](install-the-flatpak.md): flatpak-builder --force-clean --user --disable-cache --repo flatpak-repo flatpak flatpak-builder.yaml - [Run it](run-it.md): flatpak run # or via your desktop environment - [Update it](update-it.md): flatpak -y --user update - [Google Play](google-play.md): import CommandTabs from '@components/CommandTabs.astro'; - [Distribute](distribute.md): import { CardGrid, LinkCard, LinkButton } from '@astrojs/starlight/components'; - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store.md): npm run tauri bundle -- --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution.md): npm run tauri bundle -- --bundles app --config src-tauri/tauri.appstore.conf.json" - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store-2.md): yarn tauri bundle --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution-2.md): yarn tauri bundle --bundles app --config src-tauri/tauri.appstore.conf.json" - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store-3.md): pnpm tauri bundle --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution-3.md): pnpm tauri bundle --bundles app --config src-tauri/tauri.appstore.conf.json" - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store-4.md): deno task tauri bundle --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution-4.md): deno task tauri bundle --bundles app --config src-tauri/tauri.appstore.conf.json" - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store-5.md): bun tauri bundle --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution-5.md): bun tauri bundle --bundles app --config src-tauri/tauri.appstore.conf.json" - [bundle for distribution outside the macOS App Store](bundle-for-distribution-outside-the-macos-app-store-6.md): cargo tauri bundle --bundles app,dmg - [bundle for App Store distribution](bundle-for-app-store-distribution-6.md): cargo tauri bundle --bundles app --config src-tauri/tauri.appstore.conf.json" - [macOS Application Bundle](macos-application-bundle.md): import CommandTabs from '@components/CommandTabs.astro'; - [Microsoft Store](microsoft-store.md): import CommandTabs from '@components/CommandTabs.astro'; - [RPM](rpm.md): import ShowSolution from '@components/ShowSolution.astro'; - [... rest of the file](rest-of-the-file.md): And for`src-tauri/tauri.conf.json` - [Snapcraft](snapcraft.md): import { Tabs, TabItem, Card } from '@astrojs/starlight/components'; - [Add these lines only if you're using the single-instance plugin](add-these-lines-only-if-youre-using-the-single-instance-plugin.md) - [Check https://v2.tauri.app/plugin/single-instance/ for details](check-httpsv2tauriapppluginsingle-instance-for-details.md) - [name: org.net_mydomain_MyApp.SingleInstance # Remember to change net_mydomain_MyApp to your app ID with "_" instead of "." and "-"](name-orgnet-mydomain-myappsingleinstance-remember-to-change-net-mydomain-myapp-t.md) - [name: org.net_mydomain_MyApp.SingleInstance # Remember to change net_mydomain_MyApp to your app ID with "_" instead of "." and "-"](name-orgnet-mydomain-myappsingleinstance-remember-to-change-net-mydomain-myapp-t-2.md): package-repositories: - [Windows Installer](windows-installer.md): import CommandTabs from '@components/CommandTabs.astro'; - [CrabNebula Cloud](crabnebula-cloud.md): [CrabNebula](https://crabnebula.dev) is an official Tauri partner providing services and tooling for Tauri applications. - [GitHub](github.md): This guide will show you how to use [tauri-action](https://github.com/tauri-apps/tauri-action) in [GitHub Actions](ht... - [Android Code Signing](android-code-signing.md): import { Image } from 'astro:assets'; - [iOS Code Signing](ios-code-signing.md): Code signing on iOS is required to distribute your application through the official [Apple App Store] or possibly alt... - [Linux Code Signing](linux-code-signing.md): This guide provides information on code signing for Linux packages. - [macOS Code Signing](macos-code-signing.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [Windows Code Signing](windows-code-signing.md): import { Steps } from '@astrojs/starlight/components'; - [Learn](learn.md): import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components'; - [Node.js as a sidecar](nodejs-as-a-sidecar.md): import CommandTabs from '@components/CommandTabs.astro'; - [Splashscreen](splashscreen.md): import { Image } from 'astro:assets'; - [System Tray](system-tray.md): import { Icon } from '@astrojs/starlight/components'; - [Window Customization](window-customization.md): import { Icon } from '@astrojs/starlight/components'; - [Window Menu](window-menu.md): import { Tabs, TabItem } from '@astrojs/starlight/components'; - [Capabilities for Different Windows and Platforms](capabilities-for-different-windows-and-platforms.md): import { Steps } from '@astrojs/starlight/components'; - [Using Plugin Permissions](using-plugin-permissions.md): import { Steps } from '@astrojs/starlight/components'; - [Writing Plugin Permissions](writing-plugin-permissions.md): import { Steps } from '@astrojs/starlight/components';