mcpField
R
rust-engineer

rust-engineer

github.com/404kidwiz开发126 次安装
代码仓库

关于 rust-engineer

面向后端、系统编程和 WebAssembly 开发的 Rust 技能,适用于构建内存安全的并发软件。内容包括异步编程、FFI、测试,以及 Axum 和 Tokio 等框架选择。

主要功能

  1. 01使用 Axum 开发 REST API
  2. 02Tokio 异步与并发系统
  3. 03C 库 FFI 绑定
  4. 04Rust 转 WebAssembly 工作流
  5. 05测试与文档实践

适用场景

  1. 01构建高性能后端服务
  2. 02编写内存安全的系统软件
  3. 03将 Rust 与 C 或 C++ 库集成
  4. 04在浏览器中部署 Rust 模块

安装

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

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill rust-engineer

安装后在 Claude Code 中输入/rust-engineer确认已加载。

附带文件EXAMPLES.mdREFERENCE.md

详细介绍

Rust 工程师

用途

提供专业的 Rust 开发能力,专注于内存安全的系统编程、使用 Tokio 进行异步编程,以及高性能后端服务。利用零成本抽象和全面的错误处理,构建安全、并发的应用程序。

适用场景

  • 使用 Axum 或 Actix 构建高性能后端服务
  • 实现无需垃圾回收器的内存安全系统编程
  • 使用 Tokio 运行时开发异步/并发应用程序
  • 通过 FFI 将 Rust 与 C 库集成
  • 编译为 WebAssembly,以部署到 Web 或 Node.js
  • 将性能关键组件从 C/C++ 迁移到 Rust

快速开始

适用场景
  • 构建 Axum/Actix REST API 或 gRPC 服务
  • 需要内存安全的系统编程
  • 使用 Tokio 的异步/并发应用程序
  • 为 C/C++ 库编写 FFI 绑定
  • 编译为 WebAssembly,以用于浏览器
不适用场景
  • 快速原型开发(使用 Python/Node.js)
  • Spring Boot/Java 后端(使用 java-architect)
  • 移动应用(使用 mobile-developer)
  • 简单脚本(使用 Python/Bash)

核心能力

后端开发
  • 使用 Axum 框架构建 REST API
  • 实现 WebSocket 服务端和实时功能
  • 使用 SQLx 或 Diesel 管理数据库访问
  • 配置应用部署和扩缩容
系统编程
  • 实现零分配模式
  • 管理所有权、借用和生命周期
  • 使用 Tokio 构建并发系统
  • 创建 C 库的 FFI 绑定
WebAssembly 开发
  • 将 Rust 编译为 WASM,以部署到浏览器
  • 将 WASM 模块与 JavaScript 集成
  • 优化 WASM 二进制文件的大小和性能
  • 管理 WASM 环境中的内存
测试与文档
  • 编写单元测试和集成测试
  • 实现基于属性的测试
  • 使用 cargo doc 创建文档
  • 管理代码格式和 lint

决策框架

何时选择 Rust?
Need high performance + memory safety?
│
├─ YES → Project type?
│        │
│        ├─ BACKEND API/SERVICE → Latency requirements?
│        │                        │
│        │                        ├─ <10ms → **Rust (Axum/Actix)** ✓
│        │                        │          (zero-cost async, minimal overhead)
│        │                        │
│        │                        └─ 10-100ms → Node.js/Go acceptable?
│        │                                      │
│        │                                      ├─ YES → **Go/Node.js** ✓
│        │                                      │        (faster development)
│        │                                      │
│        │                                      └─ NO → **Rust** ✓
│        │                                               (memory safety critical)
│        │
│        ├─ SYSTEMS PROGRAMMING → C/C++ replacement?
│        │                        │
│        │                        ├─ YES → **Rust** ✓
│        │                        │        (memory safety without GC)
│        │                        │
│        │                        └─ NO → **Rust** ✓
│        │
│        ├─ CLI TOOL → Cross-platform?
│        │            │
│        │            ├─ YES → **Rust** ✓
│        │            │        (single binary, fast startup)
│        │            │
│        │            └─ NO → Simple script?
│        │                    │
│        │                    ├─ YES → **Bash/Python** ✓
│        │                    │
│        │                    └─ NO → **Rust** ✓
│        │
│        └─ WEB (HIGH-PERF) → Browser or server?
│                             │
│                             ├─ BROWSER → **Rust + WASM** ✓
│                             │            (image processing, crypto, games)
│                             │
│                             └─ SERVER → See "BACKEND API/SERVICE" above
│
└─ NO → Use language optimized for use case
异步运行时决策
方面TokioAsync-stdSmol
生态系统最大中等小
性能最快快轻量
运行时开销~300KB~200KB~50KB
HTTP 框架Axum、Hyper、TonicTide无官方框架
采用情况生产环境(Discord、AWS)实验性小众
最适合生产服务原型开发嵌入式

建议: 95% 的异步 Rust 项目都使用 Tokio。

Web 框架决策
Building HTTP API?
│
├─ Microservice / Performance-critical?
│  │
│  ├─ YES → Need advanced routing/middleware?
│  │        │
│  │        ├─ YES → **Axum** ✓
│  │        │        (type-safe extractors, Tower middleware)
│  │        │
│  │        └─ NO → **Hyper** ✓
│  │                 (low-level HTTP, maximum control)
│  │
│  └─ NO → Rapid prototyping?
│           │
│           ├─ YES → **Actix-web** ✓
│           │        (batteries-included, macros)
│           │
│           └─ NO → **Rocket** ✓
│                    (codegen, easy to start)
FFI 与纯 Rust
情况决策理由
遗留 C 库FFI 封装避免重新实现经过测试的代码
性能关键的 C 代码先进行基准测试Rust 的性能可能达到或超过 C
简单的 C 算法用 Rust 重写更易于维护
特定于操作系统的 API通过 windows-rs 使用 FFI没有纯 Rust 替代方案
从 C/Python 调用 Rust使用 #[no_mangle] 的 FFI支持跨语言使用

升级处理触发条件

警示信号 → 升级给 oracle:

  • 为超过 10 个微服务设计异步架构,且服务间通信复杂
  • 为全新 API 项目选择 Rust 还是 Go(涉及团队/业务权衡)
  • 实现自定义异步执行器或运行时(Tokio 高级内部机制)
  • 涉及 trait 边界和泛型类型的复杂生命周期问题
  • 在性能关键代码段中使用不安全代码模式
  • 大型应用中 WASM 模块与 JavaScript 的互操作

集成模式

backend-developer:
  • 交接: rust-engineer 构建 Axum API → backend-developer 添加 Node.js 微服务
  • 工具: 用于 gRPC 契约的 Protocol Buffers、共享的 OpenAPI 规范
database-optimizer:
  • 交接: rust-engineer 实现 SQLx 查询 → database-optimizer 检查是否存在 N+1 问题
  • 工具: SQLx 编译时查询验证、EXPLAIN ANALYZE
devops-engineer:
  • 交接:rust-engineer 构建二进制文件 → devops-engineer 将其容器化并部署
  • 工具:Docker 多阶段构建、Prometheus 指标(通过 axum-prometheus)
frontend-developer:
  • 交接:rust-engineer 编译 WASM 模块 → frontend-developer 将其集成到 React/Vue
  • 工具:wasm-pack、TypeScript 绑定生成
cpp-pro:
  • 交接:cpp-pro 维护 C/C++ 库 → rust-engineer 创建安全的 FFI 包装器
  • 工具:使用 bindgen 生成 FFI 绑定,使用 cxx 实现 C++/Rust 双向互操作
golang-pro:
  • 交接:rust-engineer 构建性能关键型服务 → golang-pro 构建编排层
  • 工具:用于服务间通信的 gRPC、共享的 Protobuf 定义
kubernetes-specialist:
  • 交接:rust-engineer 构建服务 → kubernetes-specialist 使用 Helm 部署
  • 工具:Dockerfiles、Kubernetes 清单、Helm charts

其他资源

评论

支持 Markdown