mcpField
R
rust

rust

github.com/oakoss開発21120 回インストール12 週間前に更新
リポジトリ

rust について

Rustは、メモリ安全性、並行性、性能を重視するシステムプログラミング言語です。このスキルは、サービス、CLIツール、ターミナルUI、WebAssemblyなどの開発に役立つ実践的な指針を提供します。

主な機能

  1. 01所有権と借用のガイダンス
  2. 02エラー処理パターン
  3. 03Tokioによる非同期プログラミング
  4. 04axumによるWebサービス開発
  5. 05clapによるCLI開発
  6. 06テストとベンチマーク

活用シーン

  1. 01メモリ安全なシステムソフトウェアの構築
  2. 02非同期Webサービスの開発
  3. 03コマンドラインツールやターミナルUIの作成
  4. 04性能重視アプリケーションのベンチマーク

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oakoss/agent-skills --skill rust

インストール後、Claude Code で/rustを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
async-tokio.md
axum-web.md
cli-applications.md
error-handling.md
ownership-and-types.md
ratatui-tui.md
release-pipeline.md
testing-and-benchmarks.md

詳細

Rust

概要

Rust は、安全性、並行性、パフォーマンスを重視したシステムプログラミング言語です。所有権システムにより、ガベージコレクションなしでメモリ安全性が保証され、型システムによりコンパイル時にスレッド安全性が確保されます。

使用する場面: システムプログラミング、Web サービス(axum)、CLI ツール(clap)、ターミナル UI(ratatui)、WebAssembly、パフォーマンスが重要なアプリケーション、実行時のオーバーヘッドなしでメモリ安全性が必要なあらゆる用途。

使用しない場面: 安全性よりコンパイル時間が重要な迅速なプロトタイピング、単純なスクリプト作成、チームに Rust の経験がなく納期が厳しいプロジェクト。

クイックリファレンス

パターンAPI / ツール主なポイント
所有権の移動let b = a;a はムーブされ、その後は使用できません
借用&T / &mut T可変参照は 1 つ、または不変参照は複数
ライフタイム注釈fn f<'a>(x: &'a str) -> &'a str出力のライフタイムを入力に結び付けます
エラーの伝播? 演算子エラーを変換して伝播します
カスタムエラーthiserror::Error deriveDisplay を実装した構造化エラー型
アドホックなエラーanyhow::Result<T>アプリケーション向けのコンテキスト連鎖
非同期ランタイム#[tokio::main]非同期プログラムのエントリーポイント
タスクの起動tokio::spawn(async { })非同期タスクを並行実行します
HTTP ルーターaxum::Router::new().route(...)エクストラクターを使った合成可能なルーティング
エクストラクターJson<T>, Path<T>, State<T>型安全なリクエスト解析
シリアライズ#[derive(Serialize, Deserialize)]フォーマットに依存しない derive を備えた serde
CLI の解析#[derive(Parser)]引数解析用の clap derive API
TUI の描画terminal.draw(|f| { })即時モードの ratatui 描画
ベンチマークcriterion::Criterion統計的なベンチマーク用フレームワーク
依存関係の監査cargo deny checkライセンス、脆弱性、ソースの監査
バイナリのリリースcargo dist initクロスプラットフォームのバイナリ配布
変更履歴release-plz updatesemver の自動更新と変更履歴の生成

よくある間違い

間違い正しいパターン
ローカル変数への参照を返す所有型を返すか、ライフタイムパラメーターを使用する
ライブラリコードで unwrap() を使うResult を返し、呼び出し元に判断を任せる
借用チェッカーを通すために clone() するコードを再構成して借用の競合を避ける
非同期コンテキストでブロッキングするtokio::task::spawn_blocking を使う
同期機構なしで可変状態を共有するArc<Mutex<T>> またはチャネルを使う
&str で十分な場面で String を使う関数パラメーターでは &str を受け取る
must_use 警告を無視する対処するか、let _ = で明示的に破棄する
大きな列挙型のバリアントを使う大きなバリアントを Box 化して全体のサイズを抑える
境界条件なしでトレイトに async fn を定義するSend 境界を追加するか、async-trait クレートを使う
非同期テストに #[tokio::test] がない#[test] の代わりに #[tokio::test] を使う

委任

  • コードの調査:Explore エージェントを使用します
  • アーキテクチャのレビュー:Task エージェントを使用します
  • コードレビュー:code-reviewer エージェントに委任します

docker スキルを利用できる場合は、複数ステージのコンテナビルドパターンを委任します。 github-actions スキルを利用できる場合は、CI パイプラインの設定を委任します。 openapi スキルを利用できる場合は、API 仕様とコード生成を委任します。

参考資料

コメント