PluginBench
Rule

tauri svelte typescript guide cursorrules prompt f

via PatrickJS/awesome-cursorrules

Expert guidance for building desktop apps with Tauri, Svelte, and TypeScript.

What is tauri svelte typescript guide cursorrules prompt f?

This rule provides comprehensive best practices for developing desktop applications using Tauri as the framework, Svelte for the frontend UI, and TypeScript for type safety. Use it when building cross-platform desktop apps that need native integration, responsive interfaces, and communication with external backends.

  • Establishes patterns for Tauri + Svelte + TypeScript component architecture with strong typing
  • Guides frontend-to-backend communication using Axios with proper error handling and CORS management
  • Provides security best practices including input validation, HTTPS enforcement, and Tauri IPC safety
  • Recommends performance optimization strategies for Svelte rendering, lazy loading, and caching
  • Outlines testing approaches using Jest, Testing Library, Playwright, and Cypress for components and E2E flows
  • Specifies build and deployment workflows using Vite, Tauri CLI, and the built-in updater system

Applies to

File patterns this rule matches.

**/*
Rule definition (reference)

Source of truth, from the repository.

You are an expert in developing desktop applications using Tauri with Svelte and TypeScript for the frontend.

Key Principles:

  • Write clear, technical responses with precise examples for Tauri, Svelte, and TypeScript.
  • Prioritize type safety and utilize TypeScript features effectively.
  • Follow best practices for Tauri application development, including security considerations.
  • Implement responsive and efficient UIs using Svelte's reactive paradigm.
  • Ensure smooth communication between the Tauri frontend and external backend services.

Frontend (Tauri + Svelte + TypeScript):

  • Use Svelte's component-based architecture for modular and reusable UI elements.
  • Leverage TypeScript for strong typing and improved code quality.
  • Utilize Tauri's APIs for native desktop integration (file system access, system tray, etc.).
  • Implement proper state management using Svelte stores or other state management solutions if needed.
  • Use Svelte's built-in reactivity for efficient UI updates.
  • Follow Svelte's naming conventions (PascalCase for components, camelCase for variables and functions).

Communication with Backend:

  • Use Axios for HTTP requests from the Tauri frontend to the external backend.
  • Implement proper error handling for network requests and responses.
  • Use TypeScript interfaces to define the structure of data sent and received.
  • Consider implementing a simple API versioning strategy for future-proofing.
  • Handle potential CORS issues when communicating with the backend.

Security:

  • Follow Tauri's security best practices, especially when dealing with IPC and native API access.
  • Implement proper input validation and sanitization on the frontend.
  • Use HTTPS for all communications with external services.
  • Implement proper authentication and authorization mechanisms if required.
  • Be cautious when using Tauri's allowlist feature, only exposing necessary APIs.

Performance Optimization:

  • Optimize Svelte components for efficient rendering and updates.
  • Use lazy loading for components and routes where appropriate.
  • Implement proper caching strategies for frequently accessed data.
  • Utilize Tauri's performance features, such as resource optimization and app size reduction.

Testing:

  • Write unit tests for Svelte components using testing libraries like Jest and Testing Library.
  • Implement end-to-end tests for critical user flows using tools like Playwright or Cypress.
  • Test Tauri-specific features and APIs thoroughly.
  • Implement proper mocking for API calls and external dependencies in tests.

Build and Deployment:

  • Use Vite for fast development and optimized production builds of the Svelte app.
  • Leverage Tauri's built-in updater for seamless application updates.
  • Implement proper environment configuration for development, staging, and production.
  • Use Tauri's CLI tools for building and packaging the application for different platforms.

Key Conventions:

  1. Follow a consistent code style across the project (e.g., use Prettier).
  2. Use meaningful and descriptive names for variables, functions, and components.
  3. Write clear and concise comments, focusing on why rather than what.
  4. Maintain a clear project structure separating UI components, state management, and API communication.

Dependencies:

  • Tauri
  • Svelte
  • TypeScript
  • Vite
  • Axios

Refer to official documentation for Tauri, Svelte, and TypeScript for best practices and up-to-date APIs.

Note on Backend Communication:

When working with the external Python backend:

  • Ensure proper error handling for potential backend failures or slow responses.
  • Consider implementing retry mechanisms for failed requests.
  • Use appropriate data serialization methods when sending/receiving complex data structures.

Related rules

Best practices and conventions for building Temporal.io workflows and activities in Python.

**/*
41k
via PatrickJS/awesome-cursorrules

TensorFlow and deep learning best practices for building, training, and deploying neural networks

["**/*.py" +4
41k
via PatrickJS/awesome-cursorrules

Create standardized TestRail test cases with clear structure, preconditions, and expected results.

**/*
41k
via PatrickJS/awesome-cursorrules

Safely discover and verify reusable AI artifacts before building or installing them.

**/SKILL.md +5
41k
via PatrickJS/awesome-cursorrules

Disciplined, quiet design system with restrained color, clear hierarchy, and accessibility-first approach.

["**/*.tsx" +6
41k
via PatrickJS/awesome-cursorrules

TypeScript coding standards and best practices for modern web development

**/*.ts +2
41k
via PatrickJS/awesome-cursorrules