A markup language for AI-native UI component definitions
UXSCII (pronounced "you-ex-ski") is an open specification for representing UI components in a text-based format optimized for both human readability and AI agent consumption.
Why UXSCII?
AI-Native
Designed from the ground up for machine parsing and generation by AI agents
Human-Readable
ASCII representations anyone can understand without special tools
Version Control Friendly
Text-based format with meaningful diffs, perfect for git
Tool Independent
Open specification, not tied to specific software or vendors
Extensible
Clear extension points for custom types and behaviors
Accessible
ASCII representation readable by screen readers
Quick Example
A UXSCII component consists of two files:
button.uxm JSON Metadata
{
"id": "primary-button",
"type": "button",
"version": "1.0.0",
"metadata": {
"name": "Primary Button",
"created": "2024-01-01T00:00:00Z",
"modified": "2024-01-01T00:00:00Z"
},
"props": {
"text": "Click Me"
},
"ascii": {
"templateFile": "button.md",
"width": 16,
"height": 3
}
}
button.md ASCII Template
# Primary Button
```
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓ {{text}} ▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
```
What It Is
The Two-File System
- .uxm files - JSON metadata defining component structure, behavior, and properties
- .md files - ASCII visual templates showing how components look
Key Characteristics
- Text-based - Works with git, readable in any editor
- AI-native - Designed for machine parsing and generation
- Tool-independent - Open specification, not tied to specific software
- Human-readable - ASCII representations anyone can understand
Who It's For
🤖 AI Agent Builders
Build design tools without reinventing format parsing. UXSCII provides a standard format AI agents can read and generate.
🛠️ Tool Developers
Implement UXSCII support in your design tools, build systems, or component libraries. Think of it like supporting Markdown or JSON.
🎨 Design Systems Teams
Define components in a tool-independent format. Version control your designs. Work across any platform.
Getting Started
Installation
# Install the reference CLI
npm install -g uxscii
# Validate a component
uxscii validate button.uxm
# Validate a template
uxscii template button.md
# Get component with template
uxscii uxm get button
Why UXSCII Exists
Existing Design Formats
- ❌ Proprietary and closed
- ❌ Binary formats (poor version control)
- ❌ Tool-locked
- ❌ Not designed for AI consumption
UXSCII
- ✅ Open specification (MIT License)
- ✅ Text-based (git-friendly, meaningful diffs)
- ✅ Tool-independent
- ✅ Built for AI agents from day one