Wireframes as Code. Declarative wireframing with AI-friendly syntax.
WireDSL is a code-first wireframing tool that lets you:
- βοΈ Write wireframes as declarative code (like Mermaid, but for UI)
- π€ Generate from plain English ("Create a login form..." β automatic wireframe)
- π¦ Export to SVG, PNG, PDF
- π 100% open-source and free forever
- βοΈ AI-friendly syntax for LLM-powered generation
Try online (no installation needed):
Visit live.wire-dsl.org to use the web editor in your browser.
Start the web editor locally (connected to your files):
pnpm install && cd apps/web && pnpm devβ Open http://localhost:3000
Try the CLI (one-liner):
npm install -g @wire-dsl/cli && wire render examples/simple-dashboard.wire -o output.svgUse as a library:
npm install @wire-dsl/engine
import { parseWireDSL, generateIR } from '@wire-dsl/engine';Live editor showing:
- Left:
.wirecode in Monaco editor- Right: Real-time SVG preview (hot reload)
- Changes appear instantly as you type
Note: screenshot from Wire Live on live.wire-dsl.org.
- QUICKSTART.md - Setup guide (5 minutes)
- MONOREPO.md - How the project is organized (10 minutes)
- docs/DOCUMENTATION-INDEX.md - Complete documentation index
Getting Started
- QUICKSTART.md - Get up and running
- MONOREPO.md - Project structure
- docs/DOCUMENTATION-INDEX.md - Complete documentation index
- .github/CONTRIBUTING.md - Contributing guide
Technical & Design
- docs/ARCHITECTURE.md - System design
- docs/DSL-SYNTAX.md - Language syntax guide
- docs/STYLE-GUIDE.md - Style system documentation
- docs/LLM-PROMPTING.md - Guide for AI generation from natural language
- docs/ICONS-GUIDE.md - Icons library and usage
- docs/ICON-AND-BUTTON-SIZING.md - Icon and button sizing guide
Component & Container References
- specs/IR-CONTRACT.md - Intermediate representation format
- specs/LAYOUT-ENGINE.md - Layout algorithms
- specs/VALIDATION-RULES.md - Validation rules
Planning & Roadmap
- docs/ROADMAP.md - Future features and milestones
Examples
- examples/ - Complete working examples
WireDSL is a platform for creating declarative wireframes where:
- βοΈ You declare, you don't draw
- π€ AI-friendly: predictable syntax for automatic generation
- π Deterministic: same input β same output
- π Versionable: wireframes are code
project "Dashboard" {
style {
density: "normal"
spacing: "md"
radius: "md"
stroke: "normal"
font: "base"
}
screen Home {
layout stack(direction: vertical, gap: md, padding: lg) {
component Heading text: "Welcome"
component Button text: "Get Started"
}
}
}
| Package/App | Purpose | Status |
|---|---|---|
| @wire-dsl/engine | Parser, IR, layout, renderer | β Published |
| @wire-dsl/exporters | SVG, PNG, PDF export (Node.js) | β Published |
| @wire-dsl/cli | Command-line tool | β Published |
| @wire-dsl/language-support | VS Code syntax & type support | β Published |
| wire-dsl/web | Live web editor | β Published |
| wire-dsl/docs | Documentation site | β Published |
project "Login Form" {
style {
density: "normal"
spacing: "md"
radius: "md"
stroke: "normal"
font: "base"
}
screen LoginScreen {
layout panel(padding: lg, background: "white") {
layout stack(direction: vertical, gap: md) {
component Heading text: "Sign In"
component Input label: "Email" placeholder: "your@email.com"
component Input label: "Password" placeholder: "β’β’β’β’β’β’β’β’"
component Checkbox label: "Remember me"
component Button text: "Sign In" variant: primary
}
}
}
}
- Monaco editor on the left
- SVG preview on the right
- Hot reload as you type
User: "Create a login form with email, password, and remember me"
β LLM generates .wire code
β Preview appears instantly
β Edit if needed
- SVG (scale to any size)
- PNG (with optional resizing)
- PDF (multipage support)
Core
- TypeScript 5.3 (strict mode)
- Chevrotain 11.x (parser)
- Zod 4.x (validation)
Web Editor
- React
- Vite
- Monaco Editor
- Tailwind CSS
DevOps
- pnpm + Turborepo
- Vitest (testing)
- GitHub Actions (CI/CD)
- Changesets (versioning)
Deployment
- Cloudflare Pages (web editor)
- NPM (CLI tool)
.wire (text)
β
Parser (Chevrotain)
β
AST (tokens)
β
IR Generator
β
IR Contract (JSON)
β
Layout Engine
β
Positioned Elements
β
SVG Renderer
β
SVG / PNG / PDF
- Web Editor: Automatic via Cloudflare Pages (git push β live)
- CLI Tool: Automatic via GitHub Actions + NPM (changesets β publish)
Free & Open Source
- β Engine library (@wire-dsl/engine) - Pure TypeScript parser + layout
- β Exporters library (@wire-dsl/exporters) - SVG, PNG, PDF output
- β CLI tool (@wire-dsl/cli) - Command-line rendering
- β Language support (@wire-dsl/language-support) - VS Code integration
- β Web editor - Live editing and preview with AI integration
- β Full source code on GitHub
We welcome contributions! See CONTRIBUTING.md.
Quick start:
git checkout -b feature/your-feature
cd packages/engine
pnpm test:watch
# Make changes
git commit -m "feat(engine): your feature"
git push origin feature/your-feature
# Create PR- Website: https://wire-dsl.org - Official documentation site
- Live Editor: https://live.wire-dsl.org - Try WireDSL in your browser
- GitHub: https://github.com/wire-dsl/wire-dsl
- NPM Org: https://www.npmjs.com/org/wire-dsl
- Issues: GitHub Issues
- Discussions: GitHub Discussions
MIT License - Free for personal and commercial use
This project includes icons from Feather Icons, created by Cole Bemis and contributors.
- License: MIT License
- Version: 4.29.0
- Available icons: 287
- Repository: https://github.com/feathericons/feather
- Location in project:
packages/engine/src/renderer/icons/ - Complete list:
docs/ICONS-GUIDE.md - Full details: See
packages/engine/src/renderer/icons/ICONS-LICENSE.md
Feather Icons are used under the terms of the MIT License, which is fully compatible with this project's MIT License.
| Aspect | WireDSL | Mermaid | Excalidraw | Figma | v0 by Vercel |
|---|---|---|---|---|---|
| Purpose | β Wireframe ideas | β Diagrams | β Sketches | π¨ Design system | β Production code |
| UI/UX focused | β 30+ UI components | β Diagrams only | β Visual sketches | β Full design | β React apps |
| Code-first | β Full DSL | β Limited syntax | β GUI-only | β GUI-only | β GUI/prompt |
| Layout model | β Declarative containers (Stack, Grid, Panel) | β N/A | β Pixel-based | β Absolute positioning | β HTML-like |
| AI-generation ready | β Predictable syntax | β Not designed for AI | β LLM-powered | ||
| Version control friendly | β Text diffs work great | β Text-based | β Binary format | β Binary format | β Code files |
| Export formats | β SVG, PNG, PDF | β Limited | β SVG, PNG | β Multiple | β React code |
| License & Pricing | β Open Source (MIT) | β Open Source (MIT) | β Open Source (MIT) | β Paid plans |
TL;DR:
- WireDSL: Wireframe ideas in code (fast ideation + brainstorming)
- v0: Production React apps from AI (fully coded, ready to deploy)
- Figma: Design system & collaboration (professional design tool)
- Mermaid: Diagrams as code
- Excalidraw: Hand-drawn sketches
Inspired by:
- Mermaid - Diagrams as code
- Figma - Design systems
- React - Component-based UIs
- DSL design patterns - Language engineering
Phase 1 β (Completed)
- β Parser implementation
- β IR generator
- β Layout engine
- β SVG renderer
- β Web editor MVP
- β CLI tool
- β PNG/PDF export
Phase 2 β (Completed)
- β Style system with design tokens
- β 23+ built-in components
- β Component composition & validation
- β Complete documentation
Phase 3 β (Completed)
- β VS Code extension with syntax highlighting
- β Real-time error detection
- β Component intellisense
- β Document formatting
- β Live preview pane
- π GitHub Repository | VS Code Marketplace
Phase 4 π (Current)
- Source maps - Map
.wiresource to rendered components - LSP (Language Server Protocol) support
- Enhanced debugging capabilities
Future Features
- Code generation (React/Vue templates)
- Figma import/export
- Real-time collaboration
- ...and more exciting features in the pipeline! π
β
Phase 1: Core MVP (completed)
β
Phase 2: System & Design Tokens (completed)
β
Phase 3: VS Code Extension (completed)
π Phase 4: Source Maps (in progress)
ββ Source map generation
ββ Debugging support
ββ Error reporting with precise locations
π
LSP support (planned)
π
Code generation (planned)
π
More features in the pipeline π
Last Updated: February 6, 2026
Status: β
Production-Ready, Open Source
Next: Visit live.wire-dsl.org to try it now!
