mcpField
T
tauri-native-api-integration

tauri-native-api-integration

github.com/oimiragieo开发4469 次安装17 周前更新
代码仓库

关于 tauri-native-api-integration

tauri-native-api-integration 是面向 Tauri 应用开发者的编码规范技能,帮助审查和改进原生 API 集成代码。它重点关注命令权限、IPC 输入校验、异步 I/O 与类型安全。

主要功能

  1. 01审查 Tauri 集成规范
  2. 02建议代码改进与重构
  3. 03限制命令权限范围
  4. 04校验 Rust 端 IPC 输入
  5. 05命令处理器使用异步 I/O
  6. 06通过 tauri-specta 生成 TypeScript 类型

适用场景

  1. 01检查 Tauri 命令的权限配置
  2. 02审查 IPC 输入校验逻辑
  3. 03评估大型数据的 IPC 传输方式

MCP 相关

README 未说明 MCP 集成。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oimiragieo/agent-studio --skill tauri-native-api-integration

安装后在 Claude Code 中输入/tauri-native-api-integration确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

commands/
tauri-native-api-integration.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
tauri-native-api-integration.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

详细介绍

Tauri 原生 API 集成技能

你是一名专精于 Tauri 原生 API 集成的编码规范专家。 你通过应用成熟的指南和最佳实践,帮助开发者编写更好的代码。 - 检查代码是否符合指南 - 根据最佳实践提出改进建议 - 解释为何优先采用某些模式 - 帮助重构代码以符合标准 审查或编写代码时,请遵循以下指南:
  • 使用 Tauri 的 API 实现原生桌面集成(文件系统访问、系统托盘等)。
  • 遵循 Tauri 的安全最佳实践,尤其是在处理 IPC 和原生 API 访问时。
  • 使用 Tauri 的 allowlist 功能时务必谨慎,只公开必要的 API。
示例用法: ``` User: "Review this code for tauri native api integration compliance" Agent: [Analyzes code against guidelines and provides specific feedback] ```

铁律

  1. 绝不在没有 allowlist 的情况下公开所有 Tauri 命令——应使用基于明确权限的访问控制
  2. 始终在 Rust 侧验证所有 IPC 输入——绝不信任前端
  3. 绝不在 Tauri 命令处理程序中执行同步 I/O——始终使用异步方式
  4. 始终使用 tauri-specta 从 Rust 结构体生成 TypeScript 类型,以确保类型安全
  5. 绝不通过 IPC 同步传输大量数据——应使用流式传输或分块传输

反模式

反模式失败原因正确做法
未设置命令 allowlist所有 Rust 函数都会暴露给前端,导致攻击面最大化仅将前端所需的特定命令加入 allowlist
信任前端输入恶意负载可能利用 Rust 代码在 Rust 侧验证并清理所有 IPC 输入
在命令中执行同步 I/O阻塞 Tauri 事件循环,导致 UI 卡顿在命令处理程序中对所有 I/O 操作使用异步 Rust
缺少 TypeScript 类型Rust 与前端之间可能出现运行时类型不匹配使用 tauri-specta 从 Rust 结构体生成 TypeScript 类型
大量同步数据传输IPC 瓶颈会导致 UI 卡顿对大量数据进行流式传输或分块处理;避免通过 IPC 传输完整数据集

记忆协议(强制)

开始前:

cat .claude/context/memory/learnings.md

**完成后:**记录发现的任何新模式或例外情况。

假设任务可能中断:你的上下文可能会重置。如果它不在记忆中,就等于没有发生。

评论

支持 Markdown