Productivity

tauri-development

mindrally/skills · updated Apr 8, 2026

$npx skills add https://github.com/mindrally/skills --skill tauri-development
summary

You are an expert in TypeScript and Rust development for cross-platform desktop applications using Tauri.

skill.md

Tauri Development Guidelines

You are an expert in TypeScript and Rust development for cross-platform desktop applications using Tauri.

Core Principles

  • Write clean, maintainable TypeScript and Rust code
  • Use TailwindCSS and ShadCN-UI for styling
  • Follow step-by-step planning for complex features
  • Prioritize code quality, security, and performance

Technology Stack

  • Frontend: TypeScript, React/Next.js, TailwindCSS, ShadCN-UI
  • Backend: Rust, Tauri APIs
  • Build: Tauri CLI, Vite/Webpack

Project Structure

src/
├── app/                # Next.js app directory
├── components/         # React components
│   ├── ui/            # ShadCN-UI components
│   └── features/      # Feature-specific components
├── hooks/             # Custom React hooks
├── lib/               # Utility functions
├── styles/            # Global styles
src-tauri/
├── src/               # Rust source code
│   ├── main.rs       # Entry point
│   └── commands/     # Tauri commands
├── Cargo.toml        # Rust dependencies
└── tauri.conf.json   # Tauri configuration

TypeScript Guidelines

Code Style

  • Use functional components with TypeScript
  • Define proper interfaces for all data structures
  • Use async/await for asynchronous operations
  • Implement proper error handling

Tauri Integration

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

// Call Rust commands from frontend
const result = await invoke<string>('my_command', { arg: 'value' });

// Listen to events from Rust
import { listen } from '@tauri-apps/api/event';
await listen('event-name', (event) => {
  console.log(event.payload);
});

Rust Guidelines

Command Definitions

#[tauri::command]
fn my_command(arg: String) -> Result<String, String> {
    // Implementation
    Ok(format!("Received: {}", arg))
}

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![my_command])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

Error Handling

  • Use Result types for fallible operations
  • Define custom error types when needed
  • Propagate errors appropriately
  • Log errors for debugging

Security

  • Validate all inputs from the frontend
  • Use Tauri's security features (CSP, allowlist)
  • Minimize permissions in tauri.conf.json
  • Sanitize file paths and user inputs

UI Development

TailwindCSS

  • Use utility-first approach
  • Implement responsive design
  • Use dark mode support
  • Follow consistent spacing and sizing

ShadCN-UI Components

  • Use pre-built accessible components
  • Customize with TailwindCSS
  • Maintain consistent theming
  • Follow accessibility best practices

State Management

  • Use React Context for global state
  • Consider Zustand for complex state
  • Keep state close to where it's used
  • Implement proper state synchronization with Rust

File System Operations

use std::fs;
use tauri::api::path::app_data_dir;

#[tauri::command]
fn read_file(path: String) -> Result<String, String> {
    fs::read_to_string(&path)
        .map_err(|e| e.to_string())
}

#[tauri::command]
fn write_file(path: String, content: String) -> Result<(), String> {
    fs::write(&path, content)
        .map_err(|e| e.to_string())
}

Building and Distribution

  • Configure proper app metadata
  • Set up code signing for distribution
  • Use Tauri's updater for auto-updates
  • Test on all target platforms

Performance

  • Minimize IPC calls between frontend and Rust
  • Use batch operations where possible
  • Implement proper caching
  • Profile and optimize hot paths

Testing

  • Write unit tests for Rust commands
  • Test frontend components
  • Implement integration tests
  • Test on all target platforms
general reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    tauri-development is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Piyush G· Sep 9, 2024

    Keeps context tight: tauri-development is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Chaitanya Patil· Aug 8, 2024

    Registry listing for tauri-development matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Sakshi Patil· Jul 7, 2024

    tauri-development reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Ganesh Mohane· Jun 6, 2024

    I recommend tauri-development for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Oshnikdeep· May 5, 2024

    Useful defaults in tauri-development — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Dhruvi Jain· Apr 4, 2024

    tauri-development has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Rahul Santra· Mar 3, 2024

    Solid pick for teams standardizing on skills: tauri-development is focused, and the summary matches what you get after install.

  • Pratham Ware· Feb 2, 2024

    We added tauri-development from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Yash Thakker· Jan 1, 2024

    tauri-development fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.