Awesome-omni-skill avalonia-viewmodels-zafiro

Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/machine-learning/avalonia-viewmodels-zafiro" ~/.claude/skills/diegosouzapw-awesome-omni-skill-avalonia-viewmodels-zafiro-738e02 && rm -rf "$T"
manifest: skills/machine-learning/avalonia-viewmodels-zafiro/SKILL.md
source content

Avalonia ViewModels with Zafiro

This skill provides a set of best practices and patterns for creating ViewModels, Wizards, and managing navigation in Avalonia applications, leveraging the power of ReactiveUI and the Zafiro toolkit.

Core Principles

  1. Functional-Reactive Approach: Use ReactiveUI (
    ReactiveObject
    ,
    WhenAnyValue
    , etc.) to handle state and logic.
  2. Enhanced Commands: Utilize
    IEnhancedCommand
    for better command management, including progress reporting and name/text attributes.
  3. Wizard Pattern: Implement complex flows using
    SlimWizard
    and
    WizardBuilder
    for a declarative and maintainable approach.
  4. Automatic Section Discovery: Use the
    [Section]
    attribute to register and discover UI sections automatically.
  5. Clean Composition: map ViewModels to Views using
    DataTypeViewLocator
    and manage dependencies in the
    CompositionRoot
    .

Guides

Example Reference

For real-world implementations, refer to the Angor project:

  • CreateProjectFlowV2.cs
    : Excellent example of complex Wizard building.
  • HomeViewModel.cs
    : Simple section ViewModel using functional-reactive commands.

When to Use

This skill is applicable to execute the workflow or actions described in the overview.