dora-tauri-boundary

Manage IPC contracts between Rust Tauri backends and TypeScript frontends.

14|1|Updated May 11, 2025
One-click install
npx skills add https://github.com/remcostoeten/dora --skill dora-tauri-boundary
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dora-tauri-boundary
Source: https://github.com/remcostoeten/dora/tree/main/.claude/skills/dora-tauri-boundary
Command: npx skills add https://github.com/remcostoeten/dora --skill dora-tauri-boundary

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a structured framework for managing the Inter-Process Communication (IPC) boundary between a Rust backend and a frontend, preventing common serialization errors, type mismatches, and contract drift.

Core Features & Use Cases

  • Contract Enforcement: Ensures command signatures, error shapes, and serialization logic remain consistent across the IPC wire.
  • Type Safety: Facilitates the generation of TypeScript bindings from Rust types using specta, ensuring the frontend and backend stay in sync.
  • Use Case: When adding a new database command, use this Skill to correctly register the command, define the error variants, and ensure the generated TypeScript bindings are updated to prevent runtime failures.

Quick Start

Use the dora-tauri-boundary skill to validate the IPC contract and generate updated TypeScript bindings for the newly added database command.

Frequently Asked Questions about dora-tauri-boundary

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate TypeScript bindings from Rust types in a Tauri app?

To generate TypeScript bindings from Rust types in a Tauri app, you define command signatures and serialization traits on the backend, then use specta to produce type-safe frontend contracts that prevent IPC mismatches.

Why do my Tauri IPC commands fail with serialization errors?

Tauri IPC commands fail with serialization errors when Rust backend types and frontend expectations drift. Enforcing strict serialization traits and ensuring proper command registration prevents these cross-platform contract mismatches.

How do I manage error serialization for Tauri commands?

Manage error serialization for Tauri commands by defining consistent error variants in your Rust backend. This ensures error shapes remain structured and serializable across the IPC wire to the TypeScript frontend.

What is the best way to keep Rust and TypeScript contracts in sync for Tauri database applications?

The best way to keep Rust and TypeScript contracts in sync for Tauri database applications is enforcing IPC contract definitions and generating type-safe bindings, ensuring all commands and error variants adhere to serialization requirements.

Do I need specta to maintain type safety across the Tauri IPC boundary?

Yes, you need a binding generation mechanism like specta to maintain type safety across the Tauri IPC boundary. It facilitates generating TypeScript definitions from Rust types, ensuring frontend and backend consistency.

How do I register a new database command in a Tauri backend?

Register a new database command in a Tauri backend by defining the command signature, specifying error variants, and ensuring strict adherence to serialization traits before generating the updated TypeScript bindings.