mcpField
R
rust-systems

rust-systems

github.com/pproenca開発22043 回インストール11 週間前に更新
リポジトリ

rust-systems について

rust-systems は、システムプログラミング、コマンドラインツール、性能重視のアプリケーション向けの Rust 実践スキルです。プロジェクトとモジュールの構成、命名、型とトレイト、エラー処理を扱う 52 のルールを収録しています。

主な機能

  1. 015 分野にわたる 52 のルール
  2. 02Cargo ワークスペースとモジュール構成
  3. 03Rust コードの命名規則
  4. 04型とトレイトの設計パターン
  5. 05エラー処理のガイダンス

活用シーン

  1. 01複数クレートの Rust プロジェクト構成
  2. 02Rust のモジュールと命名のレビュー
  3. 03型、トレイト、エラー処理の設計
  4. 04システムツールやデーモンの開発

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill rust-systems

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

同梱ファイル

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

AGENTS.md
README.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
err-anyhow-context.md
err-bail-validation.md
err-expect-message.md
err-graceful-degradation.md
err-ok-or-else.md
err-panic-unrecoverable.md
err-path-context.md
err-result-alias.md
err-source-attribute.md
err-thiserror-enum.md
err-two-tier-strategy.md
mod-colocated-tests.md
mod-conditional-compilation.md
mod-explicit-declarations.md
mod-reexport-pattern.md
mod-submodule-organization.md
mod-types-errors-files.md
name-boolean-predicates.md
name-constant-screaming.md
name-constructor-new.md
name-conversion-to-from.md
name-field-unit-suffixes.md
name-function-snake-case.md
name-generic-parameters.md
name-getter-prefix.md

詳細

Rust システムプログラミングのベストプラクティス

システムプログラミング向けの包括的な Rust のパターンとスタイル規約です。5 つのカテゴリにわたる 52 のルールを含みます。システムプログラミング、CLI ツール、パフォーマンスが重要なアプリケーション向けに設計されています。

適用する場面

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

  • 新しい Rust コードやモジュールを作成するとき
  • Rust プロジェクトの構成を整理するとき
  • 独自の型、トレイト、エラー処理を定義するとき
  • スタイルの一貫性を保つために Rust コードをレビューするとき
  • システムツール、CLI、デーモンプロセスを構築するとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1プロジェクト構成高org-
2モジュール構造高mod-
3命名規則高name-
4型とトレイトのパターン高type-
5エラー処理高err-

クイックリファレンス

1. プロジェクト構成(高)
  • org-cargo-workspace - 複数クレートのプロジェクトでは Cargo ワークスペースを使用する
  • org-directory-naming - すべてのディレクトリ名に snake_case を使用する
  • org-binary-library-separation - バイナリクレートとライブラリクレートを分ける
  • org-feature-domain-grouping - クレートを機能ドメインごとにグループ化する
  • org-common-crate - 共有ユーティリティ用に専用の共通クレートを使用する
  • org-flat-crate-structure - クレート構造をフラットに保つ
2. モジュール構造(高)
  • mod-explicit-declarations - lib.rs で明示的にモジュールを宣言する
  • mod-colocated-tests - テストを test.rs ファイルとして同じ場所に配置する
  • mod-submodule-organization - 複数ファイルのモジュールには mod.rs を使用する
  • mod-types-errors-files - 型とエラーを専用ファイルに分ける
  • mod-reexport-pattern - pub use を使用して API をすっきりと再エクスポートする
  • mod-conditional-compilation - 条件付きモジュールには cfg 属性を使用する
3. 命名規則(高)
  • name-function-snake-case - 関数とメソッドには snake_case を使用する
  • name-type-pascal-case - 型には PascalCase を使用する
  • name-constant-screaming - 定数には SCREAMING_SNAKE_CASE を使用する
  • name-getter-prefix - ゲッター関数には get_ を接頭辞として付ける
  • name-boolean-predicates - 真偽値の判定には is_、has_、should_ を使用する
  • name-constructor-new - コンストラクターには new を使用する
  • name-conversion-to-from - 変換には to_ と from_ を使用する
  • name-type-suffixes - 型の特殊化には説明的な接尾辞を使用する
  • name-field-unit-suffixes - フィールド名に単位の接尾辞を含める
  • name-module-snake-case - モジュール名には snake_case を使用する
  • name-generic-parameters - ジェネリックパラメーターには説明的な名前、または単一文字の名前を使用する
  • name-lifetime-parameters - ライフタイムには小文字の単一文字を使用する
  • name-test-files - テストファイルには test.rs という名前を付ける
4. 型とトレイトのパターン(高)
  • type-option-nullable-fields - null 許容フィールドには Option を使用する
  • type-standard-derives - データ構造体では derive の順序を統一する
  • type-builder-pattern - メソッドチェーンを使ったビルダーパターンを使用する
  • type-associated-types - 関連する型同士の関係には関連型を使用する
  • type-phantom-data - 未使用のジェネリックパラメーターには PhantomData を使用する
  • type-newtype-pattern - 型安全性のために Newtype パターンを使用する
  • type-enum-copy-simple - 単純な列挙型には Copy を derive する
  • type-enum-variants - 型安全なバリアントには列挙型を使用する
  • type-trait-impl-grouping - 関連するトレイト実装をまとめる
  • type-bitflags - 型安全なビットフラグには bitflags! を使用する
  • type-operator-overload - ドメイン型には演算子トレイトを実装する
  • type-public-fields - データ構造体にはパブリックフィールドを使用する
  • type-async-trait - 非同期トレイトメソッドには async_trait を使用する
  • type-boxed-trait-objects - 実行時ポリモーフィズムには Box を使用する
  • type-type-aliases - 複雑なジェネリクスには型エイリアスを使用する
5. エラー処理(高)
  • err-thiserror-enum - thiserror を使用してカスタムエラー型を定義する
  • err-result-alias - モジュール内でローカルな Result 型エイリアスを定義する
  • err-path-context - IO エラーにパスのコンテキストを含める
  • err-anyhow-context - エラーメッセージには context() と with_context() を使用する
  • err-bail-validation - 検証に失敗した場合は bail! を使用する
  • err-graceful-degradation - 重要でない処理にはグレースフルデグラデーションを使用する
  • err-panic-unrecoverable - 回復不能な状況に限って panic! を使用する
  • err-expect-message - 説明的なメッセージを添えて expect() を使用する
  • err-source-attribute - エラーのチェーンには #[source] を使用する
  • err-ok-or-else - エラーの生成コストが高い場合は ok_or_else を使用する
  • err-two-tier-strategy - 2段階のエラー戦略を使用する

使用方法

詳しい説明とコード例については、個別のリファレンスファイルをお読みください。

コンパイル済みドキュメント全文

すべてのルールを展開したガイド全文については、AGENTS.md をご覧ください。

コメント