关于 rust-engineer
面向后端、系统编程和 WebAssembly 开发的 Rust 技能,适用于构建内存安全的并发软件。内容包括异步编程、FFI、测试,以及 Axum 和 Tokio 等框架选择。
主要功能
- 01使用 Axum 开发 REST API
- 02Tokio 异步与并发系统
- 03C 库 FFI 绑定
- 04Rust 转 WebAssembly 工作流
- 05测试与文档实践
适用场景
- 01构建高性能后端服务
- 02编写内存安全的系统软件
- 03将 Rust 与 C 或 C++ 库集成
- 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
异步运行时决策
| 方面 | Tokio | Async-std | Smol |
|---|---|---|---|
| 生态系统 | 最大 | 中等 | 小 |
| 性能 | 最快 | 快 | 轻量 |
| 运行时开销 | ~300KB | ~200KB | ~50KB |
| HTTP 框架 | Axum、Hyper、Tonic | Tide | 无官方框架 |
| 采用情况 | 生产环境(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
其他资源
- 详细技术参考:参见 REFERENCE.md
- 代码示例与模式:参见 EXAMPLES.md
评论
支持 Markdown