Agent skill · software engineering · affaan-m
rust-patterns
慣用的なRustパターン、所有権、エラー処理、トレイト、並行処理、および安全で高性能なアプリケーションを構築するためのベストプラクティス。
Why this skill is useful
Provides specific Rust patterns and best practices for ownership, error handling, and concurrency that the AI may not reliably generate on its own.
What it needs
About 6k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
Rust 開発パターン 安全で高性能かつ保守性の高いアプリケーションを構築するための慣用的なRustパターンとベストプラクティス。 使用場面 新しいRustコードを書く場合 Rustコードをレビューする場合 既存のRustコードをリファクタリングする場合 クレート構造とモジュールレイアウトを設計する場合 動作原理 このスキルは6つの重要な領域で慣用的なRustの規約を強制する:コンパイル時のデータ競合防止のための所有権と借用、ライブラリではthiserror、アプリケーションではanyhowを使用したResult/?エラー伝播、不正な状態を表現不可能にする列挙型と完全パターンマッチング、ゼロコスト抽象化のためのトレイトとジェネリクス、Arc<Mutex<T>>、チャンネル、async/awaitによる安全な並行処理、ドメインで整理された最小化されたpubインターフェース。 コア原則 1. 所有権と借用 Rustの所有権システムはコンパイル時にデータ競合とメモリエラーを防ぐ。 柔軟な所有権のための Cow の使用 エラー処理 Result と ? を使用する——本番環境では unwrap() を絶対に使わない ライブラリエラーには thiserror、アプリケーションエラーには anyhow ネストしたマッチの代わりに Option コンビネーターを優先する 列挙型とパターンマッチング 状態を列挙型としてモデル化する 完全マッチング——ビジネスロジックではワイルドカードを使わない トレイトとジェネリクス ジェネリックを受け取り、具体的な型を返す 動的ディスパッチにトレイトオブジェクトを使用する 型安全のためにNewTypeパターンを使用する 構造体とデータモデリング 複雑な構築にはビルダーパターンを使用する イテレーターとクロージャー 手動ループの代わりにイテレーターチェーンを優先する 型注釈付きの collect() を使用する 並行処理 共有可変状態には Arc<Mutex<T>> を使用する メッセージパッシングにチャンネルを使用する Tokioを使用した非同期プログラミング アンセーフコード Unsafe を使用できる場合 Unsafe を使用してはいけない場合 モジュールシステムとクレート構造 型ではなくドメインで整理する 可視性——露出を最小化する ツール統合 基本コマンド クイックリファレンス:Rustのイディオム イディオム 説明 ------- ------------- 借用、クローンではなく 所有権が必要でなければ &T を渡し、クローンしない 不正な状態を表現不可能にする 列挙型を使用して有効な状態のみをモデル化する unwrap() より ? エラーを伝播し、ライブラリ/本番コードでパニックしない 検証より解析 境界で非構造化データを型付き構造体に変換する 型安全のためのNewtype 基本型をnewtypeでラップして引数の取り違えを防ぐ ループよりイテレーターを優先 宣言的なチェーンはより明確で通常より高速 Resultに #[mustuse] を使用 呼び出し元が戻り値を処理することを保証する 柔軟な所有権のために Cow を使用 借用で十分な場合にアロケーションを避ける 完全マッチング ビジネスクリティカルな列挙型でワイルドカード を使わない pub インターフェースを最小化 内部APIには pub(crate) を使用 避けるべきアンチパターン 覚えておくこと:コンパイルが通れば、おそらく正しい——ただし unwrap() を避け、unsafe を最小化し、型システムを活用することが前提。
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/rust-patterns--1232ad