Skip to content
Development
Skill

/desktop-packaging-tauri

Tauri 2.x bundling, code signing, auto-updater, platform installers, CI/CD

From plugin
skills
26200 skills

Claude Code

$ npx -y skills add agents-inc/skills --skill desktop-packaging-tauri --agent claude-code

SKILL.md

desktop-packaging-tauri.SKILL.md
name: desktop-packaging-tauri
description: Tauri 2.x bundling, code signing, auto-updater, platform installers, CI/CD

Tauri 2.x Bundling & Distribution

> **Quick Guide:** Configure bundling in `tauri.conf.json` under `bundle`. Platform targets: NSIS/MSI (Windows), DMG/app bundle (macOS), deb/rpm/AppImage (Linux). Code signing is required for macOS distribution (Apple notarization) and recommended for Windows (SmartScreen). The auto-updater uses Ed25519 (Minisign) signatures -- generate keys with `cargo tauri signer generate`, set `TAURI_SIGNING_PRIVATE_KEY` at build time. Cross-platform CI uses `tauri-apps/tauri-action` with a matrix strategy. Optimize binary size with `[profile.release]` settings in `Cargo.toml`. > > **Current version:** Tauri 2.x (stable). Updater artifacts use `createUpdaterArtifacts: true` (not the v1 `"v1Compatible"` unless migrating).

---

<critical_requirements>

CRITICAL: Before Using This Skill

**(You MUST set `TAURI_SIGNING_PRIVATE_KEY` as an environment variable at build time for updater artifacts -- never commit the private key)**

**(You MUST configure code signing for macOS distribution -- unsigned apps are blocked by Gatekeeper)**

**(You MUST use `bundle.identifier` as a valid reverse-domain string -- it is used for code signing, app data paths, and store submissions)**

**(You MUST build platform-specific installers on their native OS -- cross-compilation is limited to NSIS via `cargo-xwin`)**

**(You MUST set `createUpdaterArtifacts: true` in `bundle` to generate `.sig` files alongside installers)**

</critical_requirements>

---

**Auto-detection:** tauri.conf.json bundle, cargo tauri build, bundle targets, NSIS, MSI, DMG, AppImage, deb, rpm, code signing, notarization, APPLE_SIGNING_IDENTITY, certificateThumbprint, tauri-plugin-updater, createUpdaterArtifacts, TAURI_SIGNING_PRIVATE_KEY, sidecar, externalBin, tauri-action, cargo tauri signer, Minisign, installer hooks

**When to use:**

  • Configuring `tauri.conf.json` bundle settings (targets, icons, resources, identifier)
  • Building platform-specific installers (NSIS, MSI, DMG, deb, rpm, AppImage)
  • Setting up macOS code signing and Apple notarization
  • Setting up Windows code signing (OV/EV certificates, Azure Trusted Signing)
  • Configuring the auto-updater plugin with Ed25519 signature verification
  • Optimizing Tauri app binary size (Rust release profile, frontend bundle)
  • Bundling sidecar binaries or extra resources
  • Creating GitHub Actions CI/CD for cross-platform builds
  • Customizing NSIS installers with hooks or templates

**When NOT to use:**

  • Tauri command/IPC bridge, permissions, plugins, window management (use the Tauri framework skill)
  • Frontend framework or build tool configuration (separate skills)
  • General Rust programming or Cargo configuration not specific to Tauri bundling
  • Mobile distribution to App Store / Google Play (different workflow)

**Key patterns covered:**

  • Bundle configuration in `tauri.conf.json` ([examples/core.md](examples/core.md))
  • Platform-specific installer options ([examples/core.md](examples/core.md))
  • macOS code signing and notarization ([examples/code-signing.md](examples/code-signing.md))
  • Windows code signing ([examples/code-signing.md](examples/code-signing.md))
  • Auto-updater setup with Ed25519 signatures ([examples/updater.md](examples/updater.md))
  • Binary size optimization ([examples/core.md](examples/core.md))
  • Sidecar binaries and resources ([examples/core.md](examples/core.md))
  • GitHub Actions cross-platform CI/CD ([examples/ci-cd.md](examples/ci-cd.md))
  • NSIS installer hooks and customization ([examples/core.md](examples/core.md))

**Detailed resources:**

  • [examples/core.md](examples/core.md) - Bundle config, platform targets, size optimization, sidecars, NSIS hooks
  • [examples/code-signing.md](examples/code-signing.md) - macOS notarization, Windows signing, CI/CD signing setup
  • [examples/updater.md](examples/updater.md) - Auto-updater plugin, key generation, endpoint format, JS/Rust usage
  • [examples/ci-cd.md](examples/ci-cd.md) - GitHub Actions workflow, matrix strategy, secrets
  • [reference.md](reference.md) - Bundle config field reference, CLI commands, platform target table

---

<philosophy>

Philosophy

Tauri's bundling system produces small, native installers by leveraging the OS system webview instead of bundling a browser engine. The typical binary is 5-15 MB compared to 150+ MB for alternatives. Distribution requires platform-specific steps: code signing and notarization for macOS, SmartScreen-friendly signing for Windows, and package manager formats for Linux.

**The bundling workflow:**

1. Configure `tauri.conf.json` bundle section (identifier, icons, targets) 2. Set up code signing for target platforms 3. Configure the updater plugin with Ed25519 keys 4. Build with `cargo tauri build` (produces installer + `.sig` files) 5. Distribute via CI/CD pipeline with platform matrix

**Key constraints:**

  • Cross-compilation is limited -- build macOS on macOS, Windows on Windows (NSIS is the exception via `cargo-xwin`)
  • Code signing requires platform-specific certificates and accounts (Apple Developer, Windows code signing cert)
  • The updater requires Ed25519 signatures -- this cannot be disabled
  • AppImage bundles all dependencies (~70+ MB) while deb/rpm rely on system packages (~2-6 MB)

</philosophy>

---

<patterns>

Core Patterns

Pattern 1: Bundle Configuration

The `bundle` section in `tauri.conf.json` controls all packaging behavior. The `identifier` is the most important field -- it must be a unique reverse-domain string used for app data paths, code signing, and store submissions.

{
  "bundle": {
    "active": true,
    "targets": "all",
    "identifier": "com.mycompany.myapp",
    "icon": [
      "icons/32x32.png",
      "icons/128x128.png",
      "icons/128x128@2x.png",
      "icons/icon.icns",
      "icons/icon.ico"
    ],
    "resources": {
      "locales/*": "locales/"
    },
Read more
@agents-inc
Ships withskills

The official skills marketplace for Agents Inc. 230+ skills covering everything from React and Prisma to Redis, ElevenLabs, and infrastructure tooling. Pick the skills that match your stack and install them via Claude Code. Need more control?

Stars on GitHub

Momentum

stars in total
26
Star history of agents-inc/skills on GitHub, a chart by star-history.com

Other skills on skills.

ai-infrastructure-litellm

ai-infrastructure-lite…

LiteLLM proxy server setup, TypeScript client patterns via OpenAI SDK, model routing, fallbacks, load balancing, spend tracking,…

@agents-inc@agents-incInstall Skill
ai-infrastructure-modal

ai-infrastructure-moda…

Serverless GPU compute platform for AI model deployment — web endpoints, GPU functions, model serving, and TypeScript client…

@agents-inc@agents-incInstall Skill
ai-infrastructure-ollama

ai-infrastructure-olla…

Local LLM inference with the Ollama JavaScript client -- chat, streaming, tool calling, vision, embeddings, structured output,…

@agents-inc@agents-incInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about desktop-packaging-tauri.

Which coding agents can use desktop-packaging-tauri?
desktop-packaging-tauri installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.