[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2dh3l1vp9i0p2":3},{"code":4,"message":5,"data":6,"timestamp":32},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":28,"homepage":29,"updated_at":30,"history":31},"morganlinton\u002FBeautifulRust",21,"A Claude Code plugin that teaches Claude to write idiomatic, robust Rust","Python",302,18,140,2,[],"让编程 Agent 在写 Rust 时遵循惯用法、错误处理和文档规范的一份技能指令。","如果你已经在用编程 Agent 写 Rust，却总要反复纠正它的 API 设计、错误处理和文档示例，这份技能值得试一次。它不增加新工具，只是在 Rust 任务出现时改变 Agent 看到的指令内容。\n\n## 解决什么问题\n\n开发者让 Agent 写一个小型 Rust 库，代码能编译，但结构体字段全部公开，文档示例里直接 `unwrap()`，失败情况也没有说明。每次都要人工审查再改一轮，下一个 crate 又重蹈覆辙。Beautiful Rust 安装的是一份技能，当任务涉及 Rust、cargo、crate、借用检查器、clippy 或 `.rs` 文件时，Agent 会自动加载它，让风格建议在代码起草前就到位。按 README 自己给出的对比，改动后的结果是私有字段加访问器、带 `# Errors` 说明、示例用错误传播而不是 panic。\n\n## 有什么不同\n\n这是一份压缩过、方便 Agent 扫读的风格指南，不是 linter。约 500 行内容覆盖所有权、类型与 API 设计、`Option`\u002F`Result`\u002Fpanic 的取舍、异步与 `Send`、unsafe 与 `SAFETY:` 注释、feature 与 semver 习惯、文档、测试，以及交付前的 `fmt`、带 `-D warnings` 的 clippy、测试和文档检查。背后是五份来源的改写摘要：[Google Rust 风格指南](https:\u002F\u002Fgoogle.github.io\u002Fstyleguide\u002Frustguide.html)、[Rust API Guidelines](https:\u002F\u002Frust-lang.github.io\u002Fapi-guidelines\u002F)、[Effective Rust](https:\u002F\u002Fwww.lurklurk.org\u002Feffective-rust\u002F)、[Rust Design Patterns](https:\u002F\u002Frust-unofficial.github.io\u002Fpatterns\u002F)、[微软 Pragmatic Rust Guidelines](https:\u002F\u002Fmicrosoft.github.io\u002Frust-guidelines\u002F)。来源之间有冲突时，技能会明确选一边并说明理由，这对避免 Agent 把互相矛盾的建议平均一下很有用。\n\n代价是这仍属于提示词层面的引导，没有强制力。它拦不住坏提交，效果取决于 Agent 是否照做。仓库附带的三项任务评测提供了一个具体信号：带技能时 30 项断言通过 29 项，不带时通过 24 项，每个任务大约多消耗三分之一 token。这组数字来自维护者自己的评测设置和它定义的“好结果”，只能作为方向性参考，不是独立证明。\n\n仓库还打包了五份来源摘要，方便 Agent 查阅原始推理，但作者明确说这些是为本项目写的压缩改写，不是逐字复制。如果你的团队对 Rust 的约定与这五个来源不同，你接受的就是别人的共识。\n\n## 谁值得试\n\n适合：正在用 Claude Code、Codex、Copilot、Cursor 或 Gemini CLI 写 Rust 库和应用，希望减少关于 API 暴露面、错误类型和文档的评审意见的开发者。跨多个 Agent 工作时尤其相关，因为同一份技能文件夹可以装进各个宿主。不太适合：已经有内部风格指南并通过 lint 或 clippy 配置固定下来的团队，或者需要在 CI 里做确定性拦截的场景——技能影响生成代码，但替代不了编译器和 lint 关卡。\n\n安装方式因宿主而异：有面向多数 Agent 的一键 [`skills` 安装器](https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills)、Claude Code 插件、GitHub CLI、Gemini CLI，以及把文件夹复制到各 Agent 技能目录的手动方式。因此项目并不绑定 Claude Code，不过 README 里引用的评测命令来自 Claude Code 插件环境。\n\n## 使用条件与边界\n\n技能遵循 [Agent Skills 格式](https:\u002F\u002Fagentskills.io)，所以需要一个能读取该格式、并能识别技能目录的宿主。安装器路线要求 Node 22.20 或以上；GitHub Copilot 路线要求 GitHub CLI 2.90 或以上。手动复制时注意，Claude Code 不读取共享的 `.agents\u002Fskills\u002F` 位置，要用它自己的目录或插件。技能没有立即出现时重启 Agent。\n\n运行仓库自带的评测是真实的、会计费的模型调用，Agent 还需要 Write、Edit 和 Bash 权限来执行任务。后续维护也要手动做：修改技能、在插件清单里提升版本、提交，然后插件用户更新、复制文件夹的用户重新安装。项目本身是 MIT 许可，但打包的 Effective Rust 摘要源于 CC BY-NC-ND 材料，重新分发这些摘要前值得确认许可边界。\n\n## HotRepo 点评\n\nHotRepo 在 2026-10-25 首次记录该项目，当时项目年龄 2 天，总星数 302，位列 Python 新项目榜第 21 名——这只是一个带日期的快照，不是每日增长数据。仅凭这一次观察，无法判断后续热度能否持续。采用前，建议先读评测断言，确认其中定义的“好结果”是否与你们团队的 Rust 约定一致。",{"slug":19,"name":20},"developer-tools","开发工具",[22,23,24,25,26,27],"claude-code","claude-plugin","claude-skills","coding-agent","rust","style-guide","MIT",null,"2026-10-25T06:46:45Z",[],1792919591]