mcpField
O
openai-codex-rust-patterns

openai-codex-rust-patterns

github.com/pproenca开发218209 次安装11 周前更新
代码仓库

关于 openai-codex-rust-patterns

这是一套提炼自 OpenAI Codex 的 codex-rs 工作区的 Rust 工程实践技能,面向 Rust 开发者,涵盖异步系统、CLI、协议和大型工作区,并为规则提供源码引用。

主要功能

  1. 01涵盖 11 类的 63 条规则
  2. 02引用 codex-rs 源码文件
  3. 03异步与取消机制指南
  4. 04沙箱和密钥处理模式
  5. 05协议、测试与工作区设计
  6. 06Ratatui TUI 与追踪实践

适用场景

  1. 01审查异步 Rust 任务与取消设计
  2. 02强化 CLI 子进程与沙箱策略
  3. 03设计可演进的 serde 协议
  4. 04组织多 crate Cargo 工作区

安装

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

$npx skills add https://github.com/pproenca/dot-skills --skill openai-codex-rust-patterns

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

包含的文件

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

AGENTS.md
gotchas.md
metadata.json
README.md
references/
_sections.md
async-abort-on-drop-handle.md
async-biased-select-for-cancellation.md
async-bounded-vs-unbounded-channel-split.md
async-child-cancellation-tokens.md
async-graceful-then-forceful-cancel.md
async-shared-boxfuture-joinhandle.md
defensive-banned-interpreter-prefixes.md
defensive-canonicalize-approval-cache-key.md
defensive-debug-assert-with-early-return.md
defensive-deny-unwrap-workspace-wide.md
defensive-fault-isolate-plugin-load.md
defensive-head-tail-output-buffer.md
defensive-io-drain-timeout-grandchildren.md
defensive-recover-poisoned-lock.md
defensive-refuse-to-run-unsandboxed.md
errors-boundary-error-translator.md
errors-carry-retry-delay-in-variant.md
errors-exhaustive-retryable-match.md
errors-io-error-with-context-struct.md
errors-struct-display-payload.md
errors-tool-call-respond-vs-fatal.md
errors-transient-permanent-type-split.md
otel-field-empty-then-record.md
otel-instrument-at-trace-level.md
otel-layered-subscribers-env-filter.md

详细介绍

OpenAI Codex Rust 最佳实践

摘编自 openai/codex codex-rs/ —— 一个包含 119 个 crate、2,008 个文件的 Rust 工作区,用于发布 Codex CLI 编码 Agent。涵盖 11 个类别中的 63 条规则,每条规则都引用了 codex-rs 中对应模式所在的确切文件,帮助你按照顶尖贡献者(Michael Bolin、jif-oai、Ahmed Ibrahim、Eric Traut、Pavel Krymets)的实际方式编写 Rust。引用已根据 main 分支的提交 8a94430(2026-05-25)更新。

何时应用

遇到以下情况时,可参考这些指南:

  • 编写或审查会启动 tokio 任务、拥有取消令牌或管理长期运行后台工作线程的异步 Rust 代码。
  • 在库或服务中设计错误枚举、Result 流程、重试循环或分层边界。
  • 构建会启动子进程、强制执行沙箱隔离或安全运行大模型生成代码的 CLI 工具。
  • 构建包含约 5 个以上 crate 的 Cargo 工作区,决定如何拆分,以及如何管理共享依赖项。
  • 为 Rust 代码库添加测试,而现有测试采用内联 mod tests { ... } 块,且扩展起来正变得愈发困难。
  • 使用 serde 实现 JSON-RPC 或自定义线协议,尤其是协议必须演进且不能破坏客户端的情况。
  • 将 API 密钥或其他机密读入内存,或加固处理凭据的二进制程序,以防止核心转储、调试器附加和 LD_PRELOAD。
  • 强制执行必须能够抵御 DNS 重绑定的网络出口白名单,或加载不可信的插件/扩展。
  • 在对 PII 有隐私限制的服务中接入 OpenTelemetry 跟踪、日志或指标。
  • 构建基于 Ratatui 的 TUI,以流式方式输出大模型内容、处理粘贴突发输入或管理终端原始模式状态。
  • 每当你想使用 .unwrap()、.lock().unwrap()、anyhow::Result<()> 或 #[cfg(feature = "test")] 时——本技能会说明 codex 的替代做法。

按优先级划分的规则类别

优先级类别影响前缀
1防御性编码与 Panic 规范严重defensive-
2错误处理与 Result 规范严重errors-
3异步、并发与取消高async-
4沙箱隔离与进程隔离高sandbox-
5机密与进程加固高secrets-
6类型设计与不变量高types-
7测试架构中高testing-
8协议与 Serde 设计中高proto-
9工作区与 Crate 组织中workspace-
10可观测性与跟踪中otel-
11TUI(Ratatui)渲染中tui-

快速参考

1. 防御式编码与 panic 纪律(严重)
2. 错误处理与 Result 纪律(严重)
3. 异步、并发与取消(高)
4. 沙箱与进程隔离(HIGH)
5. 密钥与进程加固(HIGH)
6. 类型设计与不变量(HIGH)
7. 测试架构(MEDIUM-HIGH)
8. 协议与 Serde 设计(中高)
9. 工作区与 Crate 组织(中)
10. 可观测性与追踪(中)
11. TUI(Ratatui)渲染(中)

使用方法

阅读各参考文件,了解对 codex-rs/ 中引用的详细说明和代码示例:

  • 章节定义 — 类别结构、影响级别和前缀
  • AGENTS.md — 自动生成的导航文档,汇总所有规则

每个规则文件都包含:

  • 与其 frontmatter 匹配的祈使式标题
  • 2–4 句解释 WHY 的说明
  • 错误示例,展示最直接的做法
  • 来自 codex-rs 的正确示例,并注明文件路径

参考文件

文件说明
AGENTS.md自动构建的 TOC 文档,汇总所有规则
README.md技能仓库文档 — 贡献、结构、命令
references/_sections.md类别定义和排序
gotchas.md应用这些规则时发现的问题
metadata.json版本、规范领域、对 codex-rs 的引用

评论

支持 Markdown