Agent skill · software engineering · affaan-m

rust-patterns

慣用的なRustパターン、所有権、エラー処理、トレイト、並行処理、および安全で高性能なアプリケーションを構築するためのベストプラクティス。

Why this skill is useful

Provides domain-specific Rust patterns and best practices that enhance the AI's ability to generate safe and high-performance Rust code.

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--f0859a

View the source on GitHub

Browse the @skills marketplace