This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the UI Layout Definition Format repository - a comprehensive XML-based format for describing cross-platform user interfaces with inheritance, validation, and modern development practices. Version 1.6 includes advanced features like state management, accessibility compliance, AI assistance, performance optimization, and supported view modes.
XML Schema Definitions (.xsd files)
ui-layout-def.xsd - Main schema definition with root elements and structureui-layout-patterns.xsd - Pattern definitions for controls, structures, and wireframesui-layout-views.xsd - Advanced view definitions with state management and AI featuresui-layout-validation.xsd - Validation rules, custom validators, and profilesui-layout-basic-controls.xsd - Basic UI control definitionsui-layout-avalonia-controls.xsd - Avalonia platform-specific controlsui-layout-winforms-controls.xsd - Windows Forms platform-specific controlsui-layout-webawesome-controls.xsd - Web Awesome (formerly Shoelace) web componentsDefinition Files (Definitions/ folder)
abstract-controls.xml - Base control definitions with common attributes and behaviorsavalonia-controls.xml - Avalonia UI platform-specific control implementationsweb-controls.xml - Web platform control definitionswinform-controls.xml - Windows Forms control definitionswebawesome-controls.xml - Web Awesome component definitions with modern web controlsSample Files (Samples/ folder)
sample.xml - Comprehensive v1.6 sample showcasing all featuresbusiness-views.xml - Business logic view examplesXML Validation
# Validate XML files against XSD schemas using XMLStarlet
xmlstarlet val -e -s ui-layout-def.xsd Samples/simple-working.xml
xmlstarlet val -e -s ui-layout-def.xsd Samples/sample-minimal.xml
# Validate all schema files
xmlstarlet val -e ui-layout-*.xsd
# Alternative with xmllint if XMLStarlet unavailable
xmllint --schema ui-layout-def.xsd Samples/simple-working.xml --noout
Schema Validation Status
# All schema files are valid ✅
xmlstarlet val -e ui-layout-def.xsd
xmlstarlet val -e ui-layout-basic-controls.xsd
xmlstarlet val -e ui-layout-patterns.xsd
xmlstarlet val -e ui-layout-views.xsd
xmlstarlet val -e ui-layout-validation.xsd
xmlstarlet val -e ui-layout-avalonia-controls.xsd
xmlstarlet val -e ui-layout-winforms-controls.xsd
xmlstarlet val -e ui-layout-webawesome-controls.xsd
# Working sample file ✅
xmlstarlet val -e -s ui-layout-def.xsd Samples/simple-working.xml
# Pattern definitions file ✅
xmlstarlet val -e -s ui-layout-def.xsd Definitions/abstract-controls.xml
# Web Awesome controls file ✅
xmlstarlet val -e -s ui-layout-webawesome-controls.xsd Definitions/webawesome-controls.xml
XML Processing and Querying
# Query XML structure using XMLStarlet
xmlstarlet sel -t -m "//control" -v "@name" -n abstract-controls.xml
xmlstarlet sel -t -m "//window" -v "@name" -n sample.xml
# Format/pretty-print XML files
xmlstarlet fo sample.xml > formatted-sample.xml
ui-layout-def.xsd defines the main document structureCommonControl in abstract-controls.xmlsample.xml demonstrates v1.6 features including AI assistance, accessibility, performance optimization, and supported view modesschema-version attributeplatform-constraintsDefinitions/abstract-controls.xmlThe Gallery control (introduced in v1.5) is for displaying collections with customizable templates:
Key Features:
image-width, image-height, box-width, box-heightFiles Updated:
Definitions/abstract-controls.xml - Gallery control definition and related structuresui-layout-basic-controls.xsd - Gallery schema types and validation rulesREADME.md - Documentation and usage examplesWeb Awesome (formerly Shoelace) component support for modern web applications (added in v1.5):
Key Features:
Control Categories:
wa-button, wa-dropdown, wa-copy-button, wa-qr-codewa-input, wa-select, wa-checkbox, wa-color-picker, wa-ratingwa-badge, wa-callout, wa-progress-bar, wa-spinner, wa-tooltipwa-breadcrumb, wa-tab-group, wa-treewa-card, wa-dialog, wa-drawer, wa-split-panelwa-avatar, wa-carousel, wa-icon, wa-animated-imagewa-animation, wa-format-date, wa-include, wa-popoverFiles Added:
Definitions/webawesome-controls.xml - Complete Web Awesome control definitionsui-layout-webawesome-controls.xsd - Schema for Web Awesome componentsUsage Pattern:
<patterns>
<pattern-include src="webawesome-controls.xml" platform="web" important="true" />
</patterns>
<window platform="web">
<wa-card size="medium">
<wa-input label="Name" required="true" help-text="Enter your full name">
</wa-input>
<wa-button variant="brand" type="submit">Submit</wa-button>
</wa-card>
</window>
abstract-controls.xml and ui-layout-basic-controls.xsdwebawesome-controls.xml and ui-layout-webawesome-controls.xsdabstract-controls.xmlWhen working with this codebase, always validate XML against schemas and ensure new features follow the established patterns for platform abstraction and modular design. Use the Web Awesome controls for modern web applications requiring advanced UI components with built-in accessibility.