tauri by Microck
Tauri framework for building cross-platform desktop and mobile apps. Use for desktop app development, native integrations, Rust backend, and web-based UIs.
Content & Writing
105 Stars
9 Forks
Updated Dec 4, 2025, 10:14 PM
Why Use This
This skill provides specialized capabilities for Microck's codebase.
Use Cases
- Developing new features in the Microck repository
- Refactoring existing code to follow Microck standards
- Understanding and working with Microck's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Repository ordinary-claude-skills
Skill Version
main
Community
105 9
Updated At Dec 4, 2025, 10:14 PM
Skill Stats
SKILL.md 420 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: tauri
description: Tauri framework for building cross-platform desktop and mobile apps. Use for desktop app development, native integrations, Rust backend, and web-based UIs.
---
# Tauri Skill
Comprehensive assistance with Tauri development, generated from official documentation.
## When to Use This Skill
This skill should be triggered when:
- Building cross-platform desktop applications with Rust + WebView
- Implementing native system integrations (file system, notifications, system tray)
- Setting up Tauri project structure and configuration
- Debugging Tauri applications in VS Code or Neovim
- Configuring Windows/macOS/Linux code signing for distribution
- Developing mobile apps with Tauri (Android/iOS)
- Creating Tauri plugins for custom native functionality
- Implementing IPC (Inter-Process Communication) between frontend and backend
- Optimizing Tauri app security and permissions
- Setting up CI/CD pipelines for Tauri app releases
## Key Concepts
### Multi-Process Architecture
Tauri uses a **Core Process** (Rust) and **WebView Process** (HTML/CSS/JS) architecture:
- **Core Process**: Manages windows, system tray, IPC routing, and has full OS access
- **WebView Process**: Renders UI using system WebViews (no bundled browser!)
- **Principle of Least Privilege**: Each process has minimal required permissions
### Inter-Process Communication (IPC)
Two IPC primitives:
- **Events**: Fire-and-forget, one-way messages (both Core → WebView and WebView → Core)
- **Commands**: Request-response pattern using `invoke()` API (WebView → Core only)
### Why Tauri?
- **Small binaries**: Uses OS WebViews (Microsoft Edge WebView2/WKWebView/webkitgtk)
- **Security-first**: Message passing architecture prevents direct function access
- **Multi-platform**: Desktop (Windows/macOS/Linux) + Mobile (Android/iOS)
## Quick Reference
### 1. Project Setup - Cargo.toml
```toml
[build-dependencies]
tauri-build = "2.0.0"
[dependencies]
tauri = { version = "2.0.0" }
```
### 2. Windows Code Signing Configuration
```json
{
"tauri": {
"bundle": {
"windows": {
"certificateThumbprint": "A1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8A9B9A0B0",
"digestAlgorithm": "sha256",
"timestampUrl": "http://timestamp.comodoca.com"
}
}
}
}
```
### 3. VS Code Debugging - launch.json
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Tauri Development Debug",
"cargo": {
"args": [
"build",
"--manifest-path=./src-tauri/Cargo.toml",
"--no-default-features"
]
},
"preLaunchTask": "ui:dev"
}
]
}
```
### 4. Rust State Management
```rust
let data = app.state::<AppData>();
```
### 5. GitHub Actions - Publish Workflow
```yaml
name: 'publish'
on:
push:
tags:
- 'app-v*'
```
### 6. Trunk Configuration (Rust Frontend)
```toml
# Trunk.toml
[watch]
ignore = ["./src-tauri"]
[serve]
ws_protocol = "ws"
```
### 7. Azure Key Vault Signing (relic.conf)
```toml
[server.azurekv]
url = "https://<KEY_VAULT_NAME>.vault.azure.net/certificates/<CERTIFICATE_NAME>"
```
### 8. Custom Sign Command (tauri.conf.json)
```json
{
"tauri": {
"bundle": {
"windows": {
"signCommand": "relic sign -c relic.conf -f -o \"%1\""
}
}
}
}
```
### 9. Opening DevTools Programmatically
```rust
use tauri::Manager;
#[tauri::command]
fn open_devtools(window: tauri::Window) {
window.open_devtools();
}
```
### 10. Mobile Plugin - Android Command
```kotlin
@Command
fun download(invoke: Invoke) {
val args = invoke.parseArgs(DownloadArgs::class.java)
// Command implementation
invoke.resolve()
}
```
## Reference Files
This skill includes comprehensive documentation organized into 9 categories:
### core_concepts.md
**Contains:** 7 pages covering foundational architecture
- **Process Model**: Multi-process architecture, Core vs WebView processes, security principles
- **Inter-Process Communication**: Events and Commands patterns, message passing
- **Debug in VS Code**: Setting up `vscode-lldb`, launch.json configuration, Windows debugger
- **Tauri Architecture**: Ecosystem overview (tauri-runtime, tauri-macros, tauri-utils, WRY, TAO)
**When to use**: Understanding Tauri's design philosophy, debugging setup, architecture decisions
### development.md
**Contains:** 13 pages on development workflows
- **Debug in Neovim**: nvim-dap setup, codelldb configuration, overseer plugin for dev servers
- **CrabNebula DevTools**: Real-time log inspection, performance tracking, event monitoring
- **Debug**: Development-only code patterns, console logging, WebView inspector, production debugging
- **Mobile Plugin Development**: Android (Kotlin) and iOS (Swift) plugin creation, lifecycle events
**When to use**: Setting up development environment, debugging strategies, mobile development
### distribution.md
**Contains:** 8 pages on app distribution
- **Windows Code Signing**: OV certificates, Azure Key Vault, custom sign commands, GitHub Actions
- **Azure Code Signing**: trusted-signing-cli setup, environment variables, signing workflows
- **Code Signing Best Practices**: EV vs OV certificates, SmartScreen reputation, Microsoft Store
**When to use**: Preparing apps for release, code signing, CI/CD pipelines, production builds
### getting_started.md
**Contains:** Quick start guides and initial setup instructions
- Project initialization
- First Tauri app tutorials
- Configuration basics
**When to use**: Starting new Tauri projects, onboarding new developers
### plugins.md
**Contains:** Plugin development and integration guides
- Creating custom plugins
- Mobile plugin patterns (Android/iOS)
- Plugin configuration
- Lifecycle events (load, onNewIntent)
- Command arguments and parsing
**When to use**: Extending Tauri with native functionality, integrating third-party libraries
### reference.md
**Contains:** API references and configuration schemas
- tauri.conf.json structure
- Command-line interface options
- Configuration options reference
**When to use**: Looking up specific API methods, configuration properties, CLI flags
### security.md
**Contains:** Security best practices and patterns
- Content Security Policy (CSP)
- Secure IPC patterns
- Permission management
- WebView security
**When to use**: Hardening applications, security audits, implementing secure features
### tutorials.md
**Contains:** Step-by-step implementation guides
- Building specific features
- Integration examples
- Real-world use cases
**When to use**: Learning by example, implementing common patterns
### other.md
**Contains:** Miscellaneous documentation not categorized above
- Advanced topics
- Edge cases
- Platform-specific notes
**When to use**: Troubleshooting unusual issues, platform-specific implementations
## Working with This Skill
### For Beginners
1. **Start with**: `getting_started.md` for project setup and basic concepts
2. **Then read**: `core_concepts.md` → Process Model and IPC sections
3. **Practice**: Set up debugging with `development.md` → Debug in VS Code
4. **Build**: Follow tutorials in `tutorials.md`
**Common beginner questions:**
- "How do I create a Tauri app?" → `getting_started.md`
- "What is the Core Process?" → `core_concepts.md` → Process Model
- "How do I call Rust from JavaScript?" → `core_concepts.md` → IPC → Commands
### For Intermediate Developers
1. **Focus on**: `plugins.md` for custom native functionality
2. **Master**: `development.md` for debugging and DevTools
3. **Explore**: `reference.md` for API details
4. **Implement**: Custom IPC patterns from `core_concepts.md`
**Common intermediate questions:**
- "How do I create a custom plugin?" → `plugins.md` → Plugin Development
- "How do I debug performance issues?" → `development.md` → CrabNebula DevTools
- "What configuration options are available?" → `reference.md`
### For Advanced Users
1. **Deep dive**: `security.md` for production-ready security
2. **Optimize**: Mobile development patterns in `plugins.md`
3. **Automate**: Distribution workflows in `distribution.md`
4. **Customize**: Advanced patterns in `other.md`
**Common advanced questions:**
- "How do I set up code signing for Windows?" → `distribution.md` → Windows Code Signing
- "How do I create mobile plugins?" → `development.md` → Mobile Plugin Development
- "What are the security best practices?" → `security.md`
### Navigation Tips
- **Search by topic**: Each reference file has a table of contents
- **Code examples**: All code blocks include language annotations
- **Original docs**: Reference files include URLs to source documentation
- **Quick patterns**: Check the Quick Reference section above first
### Using with Claude
When asking Claude for help with Tauri:
1. **Be specific**: Mention the platform (Windows/macOS/Linux/Android/iOS)
2. **Provide context**: Share your `tauri.conf.json` if relevant
3. **Reference categories**: "Check the distribution.md file for signing info"
4. **Share errors**: Include full error messages and stack traces
## Resources
### references/
Organized documentation extracted from official Tauri sources (https://tauri.app/). These files contain:
- **Detailed explanations**: Architecture, patterns, best practices
- **Code examples**: Language-annotated (rust, json, toml, kotlin, swift)
- **Links to sources**: Original documentation URLs for deeper reading
- **Table of contents**: Quick navigation within each file
### scripts/
Helper scripts for common automation tasks:
- Build scripts
- Testing utilities
- Deployment helpers
*Add your custom scripts here for project-specific automation*
### assets/
Templates, boilerplate, and example projects:
- Project templates
- Configuration examples
- Sample applications
*Add your templates and boilerplate code here*
## Common Patterns
### Creating a Tauri Command
```rust
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}!", name)
}
// In main.rs
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
```
### Calling Commands from Frontend
```javascript
import { invoke } from '@tauri-apps/api/core';
const greeting = await invoke('greet', { name: 'World' });
console.log(greeting); // "Hello, World!"
```
### Emitting Events
```rust
// From Rust
app.emit_all("event-name", Payload { message: "Hello".into() }).unwrap();
// Listening in JavaScript
import { listen } from '@tauri-apps/api/event';
const unlisten = await listen('event-name', (event) => {
console.log(event.payload.message);
});
```
## Debugging Quick Tips
### Enable Rust Backtraces
```bash
# Linux/macOS
RUST_BACKTRACE=1 tauri dev
# Windows (PowerShell)
$env:RUST_BACKTRACE=1; tauri dev
```
### Create Debug Build
```bash
npm run tauri build -- --debug
```
### Open DevTools Programmatically
```rust
use tauri::Manager;
window.open_devtools();
window.close_devtools();
```
## Platform-Specific Notes
### Windows
- Uses **Microsoft Edge WebView2** (automatically installed on Windows 11)
- Code signing required for SmartScreen reputation
- EV certificates get immediate trust; OV certificates build reputation over time
### macOS
- Uses **WKWebView** (native to macOS)
- DevTools API is private (using in production prevents App Store acceptance)
- Code signing with Apple Developer certificate
### Linux
- Uses **webkitgtk** (must be installed separately)
- Package formats: .deb, .rpm, .AppImage
### Android
- Kotlin-based plugins
- Activity lifecycle integration
- Requires Android Studio
### iOS
- Swift-based plugins
- Swift Package Manager for dependencies
- Requires Xcode
## Notes
- This skill was automatically generated from official Tauri documentation
- All code examples are extracted from official sources
- Reference files preserve structure and links to original docs
- Quick reference patterns represent real-world usage
- Last updated: October 2025
## Updating
To refresh this skill with updated documentation:
1. Re-run the scraper with `configs/tauri.json`
2. The skill will be rebuilt with the latest information
3. Enhancement will preserve custom additions in `scripts/` and `assets/`
Name Size