mcpField
A
avalonia-zafiro-development

avalonia-zafiro-development

github.com/davila7Development33.0k192 installsUpdated today
Repository

About avalonia-zafiro-development

A development skill for cross-platform Avalonia UI applications using the Zafiro toolkit. It guides developers toward functional-reactive MVVM, explicit error handling, and reusable Zafiro abstractions.

Key features

  1. 01Functional-reactive MVVM with DynamicData and ReactiveUI
  2. 02Explicit error handling with Result types
  3. 03Avalonia-independent ViewModels
  4. 04Reuse Zafiro abstractions and helpers
  5. 05Search for existing patterns before coding

Use cases

  1. 01Structuring cross-platform Avalonia applications
  2. 02Building reactive data pipelines with DynamicData
  3. 03Handling errors without using exceptions for control flow

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/davila7/claude-code-templates --skill avalonia-zafiro-development

After installing, type/avalonia-zafiro-developmentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

avalonia-reactive-rules.md
core-technical-skills.md
naming-standards.md
patterns.md
zafiro-shortcuts.md

Details

From the project README

Avalonia Zafiro Development

This skill defines the mandatory conventions and behavioral rules for developing cross-platform applications with Avalonia UI and the Zafiro toolkit. These rules prioritize maintainability, correctness, and a functional-reactive approach.

Core Pillars

  1. Functional-Reactive MVVM: Pure MVVM logic using DynamicData and ReactiveUI.
  2. Safety & Predictability: Explicit error handling with Result types and avoidance of exceptions for flow control.
  3. Cross-Platform Excellence: Strictly Avalonia-independent ViewModels and composition-over-inheritance.
  4. Zafiro First: Leverage existing Zafiro abstractions and helpers to avoid redundancy.

Guides

Procedure Before Writing Code

  1. Search First: Search the codebase for similar implementations or existing Zafiro helpers.
  2. Reusable Extensions: If a helper is missing, propose a new reusable extension method instead of inlining complex logic.
  3. Reactive Pipelines: Ensure DynamicData operators are used instead of plain Rx where applicable.

Comments

Markdown supported