mcpField
A
avalonia-viewmodels-zafiro

avalonia-viewmodels-zafiro

github.com/sickn33開発48.7k513 回インストール今日更新
リポジトリ

avalonia-viewmodels-zafiro について

ReactiveUI と Zafiro を使い、Avalonia アプリの ViewModel、ウィザード、ナビゲーションを構築するためのスキルです。リアクティブな状態管理やコマンド、画面構成の指針を示し、導入済みバージョンでの API 検証も促します。

主な機能

  1. 01ReactiveUI による状態とロジックのパターン
  2. 02進捗報告に対応する拡張コマンド
  3. 03SlimWizard による複数ステップのフロー
  4. 04Section の自動検出
  5. 05View と ViewModel のマッピング

活用シーン

  1. 01Avalonia アプリの ViewModel 構築
  2. 02複数ステップのウィザード実装
  3. 03ナビゲーションとセクション UI の整理

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill avalonia-viewmodels-zafiro

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

同梱ファイル

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

composition.md
navigation_sections.md
viewmodels.md
wizards.md

詳細

Zafiro を使用した Avalonia の ViewModel

このスキルでは、ReactiveUI と Zafiro ツールキットを活用し、Avalonia アプリケーションで ViewModel やウィザードを作成し、ナビゲーションを管理するためのベストプラクティスとパターンを紹介します。

基本原則

  1. 関数型リアクティブアプローチ:ReactiveUI(ReactiveObject、WhenAnyValue など)を使用して、状態とロジックを扱います。
  2. 拡張コマンド:進捗レポートや名前/テキスト属性を含む、より優れたコマンド管理のために IEnhancedCommand を使用します。
  3. ウィザードパターン:SlimWizard と WizardBuilder を使用し、複雑なフローを宣言的で保守しやすい方法で実装します。
  4. セクションの自動検出:[Section] 属性を使用して、UI セクションを自動的に登録、検出します。
  5. クリーンな構成:DataTypeViewLocator を使用して ViewModel を View にマッピングし、CompositionRoot で依存関係を管理します。

ガイド

統合時の注意事項

ガイド内のスニペットでは、インポート、インターフェース、アプリケーションサービスを省略しています。API やソースジェネレーターの構文は、インストール済みの Zafiro/ReactiveUI のバージョンに照らして確認してください。互換性を確認せずに、フィールドベースと partial プロパティのジェネレータースタイルを混在させないでください。両方が必要だと決めつけず、実際に使用するセクション登録方法を 1 つ選んでください。サービスプロバイダーはアプリケーションの存続期間中維持し、終了時に破棄するとともに、サブスクリプションも破棄してください。副作用を確定する前に、ウィザードのキャンセルや失敗を処理してください。以下に記載する Angor のファイルは外部のサンプルであり、同梱の前提条件ではありません。

参考例

実際の実装例については、Angor プロジェクトを参照してください。

  • CreateProjectFlowV2.cs:複雑なウィザード構築の優れた例です。
  • HomeViewModel.cs:関数型リアクティブなコマンドを使用する、シンプルなセクション ViewModel です。

使用する場面

このスキルは、概要で説明したワークフローやアクションを実行する場合に適用できます。

制限事項

  • 上記で説明した範囲に明確に該当するタスクでのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

コメント