# Rust

> Apply project-aware Rust conventions for services, CLIs, libraries, async systems, and validation.

- Skill: `h1d3r/rust` (Agent Skill)
- Install (CLI): `npx skillmds@latest add h1d3r/rust`
- Raw SKILL.md: https://api.skillmd.com/api/skills/h1d3r/rust/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: H1d3r (https://skillmd.com/u/h1d3r)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/h1d3r/rust

---


# Rust Skill（for Agents）

## 适用场景
- Rust 服务端、CLI、异步系统、系统工具
- tokio/axum/actix-web/sqlx/serde 等栈相关任务
- 任务主导词：`rust`, `tokio`, `cargo`, `clippy`, `thiserror`, `anyhow`

## 强制执行

1. **确认所有权与借用边界**：任何数据流变更先确认 Move、Borrow、生命周期。
2. **先做小补丁**：优先修复最小路径，不提前引入新抽象。
3. **错误语义分层**：业务错误、参数错误、外部错误分开表达。
4. **无回归测试不合入**：新行为至少补充一个可复现测试。

## 编码原则

- 避免生产路径使用 `unwrap` / `expect`（仅测试/明确不可能时）。
- 借用/持有规则可读：跨 `await` 避免持有重锁。
- 使用 `thiserror` 定义业务错误，`anyhow` 做应用层聚合。
- 不在核心逻辑散落 `String` 与 `&str` 转换，统一边界。
- 并发场景首选所有权转移清晰、避免过度克隆。
- `Result` 链路保留上下文并在边界统一落地。

## 常用命令（仓库常见）

- `cargo fmt --check`
- `cargo check --workspace`
- `cargo test --workspace`
- `cargo clippy --workspace -- -D warnings`

## 架构与质量建议

- 模块边界保持稳定：修改公共接口时同步评估调用方影响。
- 异步调用与超时：外部调用加超时与重试策略。
- 性能优化：通过基准测试或 `criterion` 评估后再改；避免过早优化。

## Skill 协作

- Rust 基础任务只加载本 skill。
- 所有权、trait、unsafe、FFI 与性能任务补充 `rust-pro`。
- Tokio、任务生命周期、取消与背压任务补充 `rust-async`。
- 通用测试方法在任务明确涉及 testing 时加载 `testing`。

## 目录与项目事实

- 遵循现有 Cargo workspace 和 crate 成员关系。
- 绿地默认使用 Cargo 的 `src/`、`tests/`、`examples/`、`benches/` 布局。
- 创建或移动文件时加载 `project-structure`，不复用历史客户项目目录作为全局模板。

## 反模式（避免）

- `panic!` 替代错误链传播。
- 并发场景无约束 clone 大对象。
- 通过 `Option`/`Result` 直接 `unwrap` 触发崩溃。
- 单文件承载业务、持久化和网络三层逻辑。

## 优先级

若通用建议与项目真实编译、依赖或更具体规则冲突，以项目事实为先并记录差异。

