Skill

Develop Cross-Platform Apps with Avalonia & Zafiro

Mandatory conventions for cross-platform Avalonia UI and Zafiro toolkit development, built on functional-reactive MVVM.

Works with github

81
Spark score
out of 100
Updated 29 days ago
Version 13.6.1

Add to Favorites

Why it matters

Establish and enforce mandatory conventions for developing cross-platform applications using Avalonia UI and the Zafiro toolkit. Prioritize maintainability, correctness, and a functional-reactive approach.

Outcomes

What it gets done

01

Implement functional-reactive MVVM patterns with DynamicData and ReactiveUI.

02

Ensure safety and predictability through explicit error handling and avoidance of exceptions.

03

Develop cross-platform compatible ViewModels using composition-over-inheritance.

04

Leverage Zafiro abstractions and helpers to minimize code redundancy.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-avalonia-zafiro-development | bash

Overview

Avalonia Zafiro Development

Mandatory conventions for cross-platform Avalonia UI and Zafiro toolkit applications, built on functional-reactive MVVM, Result-based error handling, and Avalonia-independent ViewModels. Use it when writing or reviewing Avalonia/Zafiro application code, not as a substitute for environment-specific testing or expert review.

What it does

Avalonia Zafiro Development defines mandatory conventions for building cross-platform applications with Avalonia UI and the Zafiro toolkit, organized around four pillars: functional-reactive MVVM built on DynamicData and ReactiveUI, explicit error handling via Result types instead of exceptions for flow control, strictly Avalonia-independent ViewModels using composition over inheritance, and preferring existing Zafiro abstractions and helpers over redundant custom code. The rules themselves live across five linked guide files - core technical skills and architecture, naming and coding standards, Avalonia/Zafiro/reactive-specific rules, a Zafiro Rx shortcuts reference, and common patterns like RefreshableCollection and validation.

When to use - and when NOT to

Use this skill when writing or reviewing Avalonia and Zafiro application code, following its mandated procedure before writing anything: search the codebase first for a similar existing implementation or Zafiro helper, propose a new reusable extension method rather than inlining complex logic if one is missing, and prefer DynamicData operators over plain Rx wherever applicable. It is not a substitute for environment-specific validation, testing, or expert review, and it explicitly says to stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Inputs and outputs

Input is a UI or ViewModel implementation task within an Avalonia/Zafiro codebase; output is code that conforms to the four core pillars and defers to the linked guides for naming standards, reactive-pipeline rules, and common patterns, rather than inventing conventions ad hoc.

Who it's for

Developers building cross-platform desktop applications with Avalonia UI and the Zafiro toolkit who need a consistent functional-reactive MVVM approach with explicit error handling and DynamicData-first pipelines, enforced through a documented set of naming, architecture, and pattern guides.

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.