Skip to content

Wire-DSL Documentation

Build wireframes with code, not clicks

Wire-DSL is a declarative, block-based domain-specific language (DSL) for creating interactive wireframes using code instead of visual tools.

Instead of dragging components in a design tool, you write clean, readable code:

project "Login App" {
theme { density: "comfortable" }
screen LoginScreen {
layout card(padding: lg, gap: md, radius: md, border: true) {
component Heading text: "Welcome"
component Input label: "Email"
component Input label: "Password"
component Button text: "Sign In" variant: primary
}
}
}

Render it instantly to SVG, PNG, or PDF.


  • Code-First Workflow – Version control, diff, and collaborate like code
  • 28 Built-In Components – Buttons, forms, tables, navigation, more
  • 5 Layout Types – Stack, Grid, Split, Panel, Card with intelligent spacing
  • Design Tokens – Consistent theming across wireframes
  • Instant Rendering – SVG, PNG, PDF exports
  • AI-Friendly – Generate wireframes from natural language
  • Accessible – Built-in accessibility best practices

Terminal window
npm install -g @wire-dsl/cli
wire render myfile.wire output.svg
project "Hello" {
theme { density: "normal" spacing: "md" }
screen Home {
layout stack(padding: lg) {
component Heading text: "Hello World"
}
}
}

Complete Getting Started Guide


  • Installation and setup
  • Your first wireframe
  • Web editor preview
  • Common patterns
  • Complete DSL syntax
  • All components
  • Layout containers
  • Theme system
  • Icons & styling
  • System design (7-layer pipeline)
  • IR format specification
  • Layout engine algorithms
  • Validation rules
  • 20+ example files
  • Dashboard, forms, cards
  • Learning paths
  • CLI reference
  • LLM prompting guide
  • Development setup
  • Code quality standards
  • Contribution workflow
  • Project roadmap

CategoryComponents
TextHeading, Text, Label
InputInput, Textarea, Select, Checkbox, Radio, Toggle
ButtonsButton, IconButton
NavigationTopbar, SidebarMenu, Sidebar, Breadcrumbs, Tabs
DataTable, List
MediaImage, Icon
DisplayDivider, Badge, Alert
InformationStatCard, Code, ChartPlaceholder
Modal & OverlayModal
Loading & FeedbackSpinner

  • Stack – Linear vertical/horizontal arrangement
  • Grid – 12-column responsive grid
  • Split – Sidebar + main content layout
  • Panel – Bordered container with padding
  • Card – Self-contained grouped content

layout grid(columns: 12, gap: lg) {
cell span: 4 { component StatCard title: "Users" value: "1,234" }
cell span: 8 { component Table columns: "ID,Name,Status" rows: 5 }
}
layout card(padding: lg, gap: md, radius: md, border: true) {
component Heading text: "Signup Form"
component Input label: "Name" placeholder: "John Doe"
component Select label: "Country" items: "USA,Canada,Mexico"
component Checkbox label: "I agree to terms"
component Button text: "Submit" variant: primary
}
theme {
density: "comfortable"
spacing: "lg"
radius: "lg"
stroke: "thin"
font: "base"
}

  • Live preview while coding
  • Component reference
  • Theme editor
  • No installation needed
Terminal window
wire render dashboard.wire output.svg
wire render dashboard.wire output.pdf
wire validate dashboard.wire
import { Parser, IRGenerator, SVGRenderer } from '@wire-dsl/engine';
const ir = new Parser(code).parse();
const svg = new SVGRenderer(ir).render();

Wire-DSL files use the .wire extension:

project-name.wire
screens/
├── login.wire
├── dashboard.wire
└── settings.wire

  1. Declarative – Describe what, not how
  2. Human-Readable – Clear syntax, no complexity
  3. Composable – Build complex UIs from simple blocks
  4. Themeable – Consistent design across wireframes
  5. Accessible – Built-in best practices
  6. Fast – Instant rendering
  7. Versionable – Works with Git, diff-friendly
  8. AI-Powered – Generate from natural language with predictable, LLM-friendly syntax

  1. Installation – 5 min
  2. First Wireframe – 15 min
  3. Web Preview – 10 min
  4. DSL Syntax – 20 min
  1. Components Reference – 1 hour
  2. Containers Guide – 45 min
  3. Theming – 45 min
  4. Examples – 1 hour
  1. Architecture Overview – 1 hour
  2. IR Format – 45 min
  3. Layout Engine – 1 hour
  4. Validation Rules – 45 min

  • CLI – Command-line tool for rendering
  • Web Editor – Browser-based code editor
  • VS Code Extension – Syntax highlighting, intellisense
  • LLM Prompting – Generate from natural language
  • GitHub Integration – Version control ready

Tools Documentation



Choose your path:


Wire-DSL is actively developed. Current focus:

  • ✅ Core DSL and rendering (complete)
  • ✅ Theme system and design tokens (complete)
  • 🚀 Advanced exporters (HTML, React, Figma)
  • 🚀 AI-assisted wireframing
  • 🚀 Enhanced VS Code extension

Full Development Roadmap


Wire-DSL is open source. See LICENSE for details.


Last Updated: January 2026
Status: Active Development
Version: 0.5.0