First Desktop App
This quickstart describes the safe path. It does not run commands in this learn repo.
1. Create From Current Official Template
Use the current official create command from the Tauri docs. Recheck it before use because scaffold commands and package defaults change.
npm create tauri-app@latest
Pick a Vite frontend unless the project has a strong reason not to.
2. Inspect The Native Boundary
Before adding features, inspect these files:
src-tauri/tauri.conf.json
src-tauri/capabilities/
src-tauri/src/lib.rs
package.json
vite.config.ts
Find:
frontendDist
devUrl
beforeDevCommand
beforeBuildCommand
window labels
capability identifiers
registered commands
registered plugins
bundle targets
3. Run Dev Only As First Proof
npm run tauri dev
This proves the dev shell can start. It does not prove packaging, signing, updater, sidecars, WebView2 install behavior, or mobile support.
4. Add One Command
Add one validated Rust command, register it with generate_handler, call it through one frontend wrapper, and test the wrapper with mocked IPC.
5. Review Capabilities
Keep the first capability small:
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"windows": ["main"],
"permissions": ["core:default"]
}
Add plugin permissions only after the feature needs them.
6. Build A Release Artifact
npm run tauri build
Record the artifact path, target OS, signing state, and smoke result.
Gotcha: If the app works only in
tauri dev, you have not proved the Tauri app. You have proved a dev webview plus a dev server.