avalonia-zafiro-development

قواعد و قراردادهای الزامی توسعهٔ Avalonia با Zafiro

این اسکیل مهارت‌ها، قراردادها و قواعد رفتاری الزامی توسعهٔ Avalonia UI با Zafiro را تعیین می‌کند و پیش از نوشتن کد روال مشخص دارد.

چه چیزی می‌گیرید

  • ستون‌های اصلی
  • سازگاری و اعتبارسنجی
  • روال پیش از کد

برای چه کاری خوب است

  • پروژه‌های Zafiro
  • یکدستی تیم

برای چه کاری نیست

  • پروژه‌های غیر Avalonia

دربارهٔ این اسکیل

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

  • Core Technical Skills & Architecture: Fundamental skills and architectural principles.
  • Naming & Coding Standards: Rules for naming, fields, and error handling.
  • Avalonia, Zafiro & Reactive Rules: Specific guidelines for UI, Zafiro integration, and DynamicData pipelines.
  • Zafiro Shortcuts: Concise mappings for common Rx/Zafiro operations.
  • Common Patterns: Advanced patterns like RefreshableCollection and Validation.

Compatibility and validation

These are project/toolkit conventions, not universal .NET rules; follow the actual repository’s requirements and pinned Zafiro/ReactiveUI/DynamicData APIs. Verify shortcut semantics (especially null/empty/whitespace distinctions) instead of assuming table equivalence. Validate the collection’s intended empty/all-valid behavior: filtering valid items then testing non-empty does not prove every item is valid. Preserve cancellation, UI-thread scheduling and disposal ownership when adapting reactive examples.

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.

When to Use

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

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

دانلود ZIP