SuperAPI AI Directory

openai-codex-rust-patterns

Coding & development

View repository

Updated 10-16 03:46

About this skill

OpenAI Codex Rust Best Practices

Distilled from openai/codex codex-rs/ — a 119-crate, 2,008-file Rust workspace that ships the Codex CLI coding agent. Contains 63 rules across 11 categories, each citing the exact file in codex-rs where the pattern lives, so you can write Rust the way its top contributors (Michael Bolin, jif-oai, Ahmed Ibrahim, Eric Traut, Pavel Krymets) actually ship it. Citations were refreshed against main at commit 8a94430 (2026-05-25).

When to Apply

Reference these guidelines when:

  • Writing or reviewing async Rust code that spawns tokio tasks, owns cancellation tokens, or manages long-lived background workers.
  • Designing error enums, Result flows, retry loops, or layer boundaries in a library or service.
  • Building a CLI tool that spawns subprocesses, enforces sandboxing, or runs LLM-generated code safely.
  • Architecting a Cargo workspace with more than ~5 crates, deciding what to split out, and how to manage shared dependencies.
  • Adding tests to a Rust codebase where existing tests are inline mod tests { ... } blocks and scaling is becoming painful.
  • Implementing a JSON-RPC or custom wire protocol with serde — especially one that must evolve without breaking clients.
  • Reading API keys or other secrets into memory, or hardening a binary that handles credentials against core dumps, debugger attach, and LD_PRELOAD.
  • Enforcing a network egress allowlist that must survive DNS rebinding, or loading untrusted plugins/extensions.
  • Wiring OpenTelemetry traces, logs, or metrics into a service that has privacy constraints around PII.
  • Building a Ratatui-based TUI that streams LLM output, handles paste bursts, or manages raw-mode terminal state.
  • Any time you find yourself reaching for .unwrap(), .lock().unwrap(), anyhow::Result<()>, or #[cfg(feature = "test")] — this skill explains what codex does instead.

Rule Categories by Priority

Priority Category Impact Prefix
1 Defensive Coding & Panic Discipline CRITICAL defensive-
2 Error Handling & Result Discipline CRITICAL errors-
3 Async, Concurrency & Cancellation HIGH async-
4 Sandboxing & Process Isolation HIGH sandbox-
5 Secrets & Process Hardening HIGH secrets-
6 Type Design & Invariants HIGH types-
7 Testing Architecture MEDIUM-HIGH testing-
8 Protocol & Serde Design MEDIUM-HIGH proto-
9 Workspace & Crate Organization MEDIUM workspace-
10 Observability & Tracing MEDIUM otel-
11 TUI (Ratatui) Rendering MEDIUM tui-

Quick Reference

1. Defensive Coding & Panic Discipline (CRITICAL)

2. Error Handling & Result Discipline (CRITICAL)

3. Async, Concurrency & Cancellation (HIGH)

4. Sandboxing & Process Isolation (HIGH)

5. Secrets & Process Hardening (HIGH)

6. Type Design & Invariants (HIGH)

7. Testing Architecture (MEDIUM-HIGH)

8. Protocol & Serde Design (MEDIUM-HIGH)

9. Workspace & Crate Organization (MEDIUM)

10. Observability & Tracing (MEDIUM)

11. TUI (Ratatui) Rendering (MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples cited from codex-rs/:

  • Section definitions — Category structure, impact levels, and prefixes
  • AGENTS.md — Auto-generated navigation document compiling every rule

Each rule file contains:

  • Imperative title matching its frontmatter
  • 2–4 sentence explanation of the WHY
  • Incorrect example showing the naive approach
  • Correct example from codex-rs with the file path cited

Reference Files

File Description
AGENTS.md Auto-built TOC document compiling every rule
README.md Skill repository docs — contribution, structure, commands
references/_sections.md Category definitions and ordering
gotchas.md Failure points discovered while applying these rules
metadata.json Version, discipline, references to codex-rs