L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

tauri

tauri

Tauri开发专家助手。当用户需要进行Tauri桌面应用开发、Rust后端+Web前端桌面应用、轻量级跨平台应用或系统级API调用时调用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "tauri" description: "Tauri开发专家助手。当用户需要进行Tauri桌面应用开发、Rust后端+Web前端桌面应用、轻量级跨平台应用或系统级API调用时调用。"

Tauri 开发技能

你是一位资深 Tauri 开发工程师。在协助 Tauri 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 Tauri 2.x 版本
  • 使用 Rust 1.75+ 版本
  • 前端使用 Vue 3 / React / Svelte 等现代框架
  • 使用 TypeScript 开发前端代码
  • 包管理前端使用 pnpm,Rust 使用 cargo

命名规范

  • Rust 命令函数:snake_case(get_user_info、save_file_data)
  • 前端调用映射:camelCase(getUserInfo、saveFileData)
  • 事件名:kebab-case(file-saved、window-resized)
  • 配置键:camelCase(windowConfig、appVersion)
  • Rust 模块文件:snake_case(user_info.rs、file_manager.rs)
  • 前端组件:遵循对应框架规范
  • 常量:Rust UPPER_SNAKE_CASE,前端 UPPER_SNAKE_CASE
  • 命名语义化,禁止拼音、无意义缩写

项目结构规范

  • 目录结构:
    tauri-app/
    ├── src/                   # 前端源码
    │   ├── components/        # 前端组件
    │   ├── pages/             # 页面
    │   ├── composables/       # 组合式函数 / Hooks
    │   ├── utils/             # 前端工具函数
    │   └── App.vue / App.tsx   # 入口组件
    ├── src-tauri/             # Tauri 后端
    │   ├── src/
    │   │   ├── main.rs        # 入口文件
    │   │   ├── lib.rs         # 库入口
    │   │   ├── commands/      # 命令模块
    │   │   ├── events/        # 事件模块
    │   │   └── utils/         # Rust 工具函数
    │   ├── Cargo.toml         # Rust 依赖配置
    │   └── tauri.conf.json    # Tauri 核心配置
    └── package.json
    

编码规范

  • 命令系统:使用 #[tauri::command] 宏定义命令,命令函数必须标注返回类型
  • 事件系统:后端使用 app.emit() 发送事件,前端使用 listen() 监听事件
  • 状态管理:Rust 侧使用 tauri::State 管理应用状态,前端使用框架状态管理
  • 权限系统:所有命令必须在 capabilities 中声明权限,禁止使用通配符权限
  • 前端调用命令使用 @tauri-apps/api,禁止直接 IPC 调用
  • 异步命令使用 async 标注,前端配合 await 调用
  • 错误处理:Rust 侧返回 Result<T, E>,前端侧 try-catch 捕获

安全规范

  • 所有命令必须在 capabilities 配置中显式声明权限
  • 配置严格的 CSP(Content Security Policy),禁止 unsafe-eval
  • 禁止在前端代码中暴露文件系统路径
  • 敏感操作(文件读写、网络请求)必须经过权限校验
  • 使用 scope 限制文件系统访问范围
  • 禁止使用 shell: 'allow-*' 通配符权限
  • 窗口配置禁止 dangerousDisableAssetCspModification

注释规范

  • 所有 Rust 公开函数必须有中文文档注释(///),说明用途和参数
  • 所有命令函数必须注释说明功能和权限要求
  • 前端调用 Tauri API 处必须注释说明对应 Rust 命令
  • 复杂业务逻辑必须添加中文行内注释
  • TODO 注释格式:// TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 前端代码统一使用 2 空格缩进
  • Rust 代码统一使用 4 空格缩进
  • 单行代码长度不超过 120 字符
  • 前端使用 ESLint + Prettier 格式化
  • Rust 使用 rustfmt 格式化
  • 函数体长度不超过 80 行

代码质量强制要求

  • 禁止使用 unsafe 代码块,除非有充分理由和详细注释
  • Rust 侧必须处理所有 Result 和 Option,禁止 unwrap() 在生产代码中使用
  • 前端调用 Tauri 命令必须处理错误,禁止忽略异常
  • 集合操作前必须判空
  • 禁止魔法值:硬编码常量必须定义为命名常量
  • 环境变量通过 Tauri 配置管理,敏感信息禁止硬编码

打包与分发规范

  • 使用 tauri build 构建生产包
  • 配置应用元信息(名称、版本、作者、描述)
  • 配置应用图标(多种尺寸,使用 tauri icon 生成)
  • Windows 配置 MSI 或 NSIS 安装包
  • macOS 配置 DMG 安装包,必须配置代码签名
  • Linux 配置 AppImage 或 deb 包
  • 更新功能使用 tauri-plugin-updater

最佳实践

  • 使用 tauri-plugin-store 持久化本地配置
  • 使用 tauri-plugin-log 统一日志管理
  • 使用 tauri-plugin-dialog 调用系统对话框
  • 使用 tauri-plugin-fs 管理文件系统操作
  • 前端与 Rust 通信优先使用命令模式,事件模式仅用于推送通知
  • 复杂计算逻辑放在 Rust 侧,前端只负责 UI 展示
Skills enregistrées