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. 0111 分野にわたる 63 のルール
  2. 02codex-rs のソースファイルを引用
  3. 03非同期処理とキャンセルの指針
  4. 04サンドボックスとシークレット管理
  5. 05プロトコル、テスト、ワークスペース設計
  6. 06Ratatui TUI とトレーシングの実践

活用シーン

  1. 01非同期 Rust タスクとキャンセル設計のレビュー
  2. 02CLI の子プロセスとサンドボックスポリシーの強化
  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/(Codex CLI コーディングエージェントを提供する、119 個のクレートと 2,008 個のファイルからなる Rust ワークスペース)から抽出した内容です。11 カテゴリにわたる 63 個のルールを収録しています。それぞれのルールには、パターンが記述されている codex-rs 内の正確なファイルを引用しているため、主要な貢献者(Michael Bolin、jif-oai、Ahmed Ibrahim、Eric Traut、Pavel Krymets)が実際にリリースしている方法に沿って Rust を書けます。引用は、コミット 8a94430(2026-05-25)の main を基に更新されています。

適用するタイミング

次のようなときは、これらのガイドラインを参照してください。

  • tokio タスクを起動する、キャンセルトークンを所有する、または長時間実行されるバックグラウンドワーカーを管理する非同期 Rust コードを書く、あるいはレビューするとき。
  • ライブラリやサービスで、エラー列挙型、Result のフロー、再試行ループ、またはレイヤー境界を設計するとき。
  • サブプロセスを起動する、サンドボックス化を徹底する、または LLM が生成したコードを安全に実行する CLI ツールを構築するとき。
  • 約 5 個を超えるクレートを含む Cargo ワークスペースを設計し、何を分離するか、共有依存関係をどう管理するかを決めるとき。
  • 既存のテストがインラインの mod tests { ... } ブロックで書かれている Rust コードベースにテストを追加し、規模の拡大が負担になってきたとき。
  • serde を使って JSON-RPC または独自のワイヤープロトコルを実装するとき。特に、クライアントを壊さずに進化させる必要がある場合。
  • API キーなどのシークレットをメモリに読み込むとき、またはコアダンプ、デバッガーのアタッチ、LD_PRELOAD に対して、認証情報を扱うバイナリを強化するとき。
  • DNS リバインディングに耐える必要があるネットワークの送信先許可リストを徹底するとき、または信頼できないプラグインや拡張機能を読み込むとき。
  • PII に関するプライバシー制約があるサービスに、OpenTelemetry のトレース、ログ、またはメトリクスを組み込むとき。
  • LLM の出力をストリーミングし、連続した貼り付け入力に対応し、または raw モードのターミナル状態を管理する Ratatui ベースの TUI を構築するとき。
  • .unwrap()、.lock().unwrap()、anyhow::Result<()>、または #[cfg(feature = "test")] を使おうとしているときはいつでも。このスキルでは、codex が代わりに何をしているかを説明します。

優先度別ルールカテゴリ

優先度カテゴリ影響度接頭辞
1防御的コーディングとパニックの抑制CRITICALdefensive-
2エラー処理と Result の規律CRITICALerrors-
3非同期処理、並行性、キャンセルHIGHasync-
4サンドボックス化とプロセスの隔離HIGHsandbox-
5シークレットとプロセスの強化HIGHsecrets-
6型設計と不変条件HIGHtypes-
7テストアーキテクチャMEDIUM-HIGHtesting-
8プロトコルと Serde の設計MEDIUM-HIGHproto-
9ワークスペースとクレートの構成MEDIUMworkspace-
10可観測性とトレーシングMEDIUMotel-
11TUI(Ratatui)のレンダリングMEDIUMtui-

クイックリファレンス

1. 防御的コーディングとパニックの規律(CRITICAL)
2. エラー処理と Result の規律(CRITICAL)
3. 非同期処理、並行処理、キャンセル(HIGH)
4. サンドボックス化とプロセス分離(HIGH)
5. シークレットとプロセスの強化(HIGH)
  • secrets-read-into-locked-buffer — シークレットをゼロ化可能なスタックバッファーに読み込み、mlock でロックします。stdin() 経由では読み込まないでください。
  • secrets-ctor-pre-main-hardening — main() の実行前にシークレットを扱うプロセスを強化し、安全側に倒して失敗させます。
  • secrets-manual-debug-elide — Debug を導出するのではなく、認証情報を省略する手動の Debug 実装を記述します。
6. 型設計と不変条件(HIGH)
7. テストアーキテクチャ(MEDIUM-HIGH)
8. プロトコルと Serde の設計(中〜高)
9. ワークスペースとクレートの構成(中)
10. 可観測性とトレーシング(中)
11. TUI(Ratatui)のレンダリング(中)
  • tui-two-gear-hysteresis-chunking — 固定のスロットリングを、ヒステリシスで切り替えるスムーズモードと追い付きモードに置き換えます。
  • tui-schedule-frame-coalescer — FrameRequester アクターとレートリミッターを介して再描画をまとめます。
  • tui-drop-guard-panic-hook-chain — Drop ガードと連鎖するパニックフックを使って、ターミナルの状態を復元します。
  • tui-paste-burst-state-machine — 文字のタイミングを追跡するステートマシンを使って、ブラケットなしの貼り付けバーストを検出します。
  • tui-event-broker-pause-resume — サブプロセスへ処理を引き渡す前にイベントストリームを破棄して、一時停止します。

使用方法

codex-rs/ から引用した詳しい解説やコード例については、個別のリファレンスファイルをお読みください。

  • セクションの定義 — カテゴリー構成、影響度、プレフィックス
  • AGENTS.md — すべてのルールをまとめた、自動生成のナビゲーションドキュメント

各ルールファイルには、次の内容が含まれています。

  • フロントマターに一致する命令形のタイトル
  • WHY を説明する 2~4 文の解説
  • 素朴なアプローチを示す誤った例
  • ファイルパスを記載した、codex-rs の正しい例

リファレンスファイル

ファイル説明
AGENTS.mdすべてのルールをまとめた、自動生成の目次ドキュメント
README.mdスキルリポジトリのドキュメント — 貢献方法、構成、コマンド
references/_sections.mdカテゴリーの定義と順序
gotchas.mdこれらのルールを適用する際に判明した失敗しやすいポイント
metadata.jsonバージョン、分野、codex-rs への参照

コメント