tauri-dev

SKILL.md

Tauri Development Patterns

IPC Communication

Always define IPC commands with TypeScript types:

// src-tauri/src/main.rs
#[tauri::command]
fn start_agent(task_id: i32) -> Result<(), String> {
    // Implementation
    Ok(())
}
// frontend/src/api/tauri.ts
import { invoke } from '@tauri-apps/api/tauri';

export async function startAgent(taskId: number): Promise<void> {
  await invoke('start_agent', { taskId });
}

Window Management

Create windows programmatically:

import { WebviewWindow } from '@tauri-apps/api/window';

const taskWindow = new WebviewWindow('task-detail', {
  url: '/task/42',
  title: 'Task #42',
  width: 800,
  height: 600
});

Testing Tauri Commands

// tests/tauri.test.ts
import { mockIPC } from '@tauri-apps/api/mocks';

describe('Tauri IPC', () => {
  beforeEach(() => {
    mockIPC((cmd, args) => {
      if (cmd === 'start_agent') {
        return Promise.resolve();
      }
    });
  });

  test('starts agent', async () => {
    await expect(startAgent(42)).resolves.toBeUndefined();
  });
});
Weekly Installs
4
GitHub Stars
7
First Seen
Jan 24, 2026
Installed on
cursor4
claude-code3
github-copilot3
openclaw3
opencode3
qoder2