Design as Code (DaaC). Write declarative design files (
.dac) and compile them into HTML, JSON IR, and native Figma Auto Layout components.
π Official Documentation & Live Guide: https://dormiwww.github.io/Vireo/ π€ Official AI Agent Skill: https://github.com/DorMiwww/vireo-skill
Vireo bridges the gap between codebases and design systems. Instead of manually drawing components in Figma and re-implementing them in code, you define your design system in a clean, declarative .dac syntax that compiles into:
.dac)import buttons from "./components/buttons.dac"
import badges from "./components/badges.dac"
block Profile {
component Card {
width: 380
color: #FFFFFF
radius: 16
shadow: true
padding: 24
layout: vertical
gap: 16
component Header {
layout: horizontal
gap: 16
alignItems: center
component Avatar {
width: 56
height: 56
radius: 99
color: #2563EB
component Initials {
text: "JD"
fontSize: 20
fontWeight: bold
color: #FFFFFF
}
}
component UserInfo {
layout: vertical
gap: 4
component Name {
text: "Jane Doe"
fontSize: 18
fontWeight: bold
color: #111827
}
component Handle {
text: "@janedoe β’ Design Systems"
fontSize: 13
color: #6B7280
}
}
}
component Bio {
text: "Design systems architect and UI engineer."
fontSize: 14
color: #4B5563
}
component ActionBtn {
ref: buttons.Primary.Default
label: "Connect"
}
}
}
Vireo is built as a pure Kotlin (JVM) multi-module project with strict dependency isolation:
Vireo
βββ vireo-core # AST model, SourceLocation, Visitor pattern, VireoResult
βββ vireo-lexer # Stateless lexical scanner with token classification
βββ vireo-parser # Recursive descent parser producing unresolved AST
βββ vireo-analysis # Semantic analyzer, symbol table, cross-file imports, expression evaluator
βββ vireo-renderer-json # Structured JSON IR emitter
βββ vireo-renderer-html # Standalone HTML5 + CSS Flexbox generator
βββ vireo-renderer-figma # AST-to-Figma schema transformer
βββ vireo-cli # CLI interface (vireo init, vireo check, vireo render)
βββ figma-plugin # Native Figma development plugin (JS/HTML) for canvas import
Data compilation pipeline:
.dac source βββΆ [ Lexer ] βββΆ [ Parser ] βββΆ [ Analyzer ] βββΆ [ Renderer ] βββΆ HTML / JSON / Figma
./gradlew)./gradlew test
curl -fsSL https://raw.githubusercontent.com/DorMiwww/Vireo/main/install.sh | bash
./gradlew installCli
# Or run the local repository wrapper directly:
./vireo --help
Vireo provides an official AI agent skill for Claude Code and Google Antigravity: DorMiwww/vireo-skill. It equips coding assistants to professionally author, refactor, and architect .dac design systems using live, dynamically fetched documentation.
Install globally with a single command:
curl -fsSL https://raw.githubusercontent.com/DorMiwww/vireo-skill/main/install.sh | bash
π Repository & documentation: https://github.com/DorMiwww/vireo-skill
The Vireo CLI features a kubectl-style ergonomic interface with built-in help for each subcommand:
vireo init)Scaffold a complete ready-to-render design system in seconds:
# Initialize a new project in directory 'my-design'
vireo init my-design
# Or initialize in the current directory
vireo init .
This creates:
vireo.config.json β project configurationdesigns/tokens.dac β colors, spacing, and typography tokensdesigns/components/button.dac β reusable component definitionsdesigns/card.dac β full composition showcasing token and component importsREADME.md β project instructionsvireo check)Verify syntax, resolve cross-file imports, and catch semantic errors:
vireo check designs/card.dac
vireo render)Render .dac designs into HTML previews, JSON AST representations, or Figma-ready schema files. By default, output files are created automatically based on input file names:
# Render to standalone HTML5 preview (automatically creates card.html)
vireo render designs/card.dac --html
# Render to Figma JSON for the Figma Canvas Plugin (automatically creates card.figma.json)
vireo render designs/card.dac --figma
# Stream output directly to terminal stdout (or pipe to other tools)
vireo render designs/card.dac --html --stdout
vireo render designs/card.dac -o -
# Render HTML snippet to custom file (without full HTML wrapper)
vireo render designs/card.dac --html --snippet --out card-snippet.html
# Render to structured JSON IR (AST representation)
vireo render designs/card.dac -o json
For a full list of options, run:
vireo render --help
Vireo includes a private development plugin located in figma-plugin/:
figma-plugin/manifest.json.*.figma.json file.Vireo compiles declarative .dac files directly into pixel-perfect standalone HTML5/CSS Flexbox previews. Below are previews of ready-to-test components available in the showcase/ directory:
showcase/dashboard.dac)Complete responsive analytics dashboard featuring navigation, hero greetings, key performance metrics, data tables with pagination, and interactive sidebars.

showcase/pricing.dac)Multi-tier comparative pricing table with highlight badges, feature lists, and action buttons.

showcase/card.dac)User profile component demonstrating nested Auto Layout, avatar typography, followers metrics grid, and tag chips.
You can preview the pre-rendered HTML files directly in your browser:
open showcase/dashboard.html
# or
open showcase/pricing.html
# or
open showcase/card.html
Full developer documentation, component catalogue, language syntax, and layout specifications are available online:
π https://dormiwww.github.io/Vireo/
Source markdown documentation files are maintained in the DOCS/ directory:
import ... from), Layout Constraints & HTML5/CSS Flexbox Rendererif ... then ... else)vireo-renderer-figma)figma-plugin/) with Auto Layout & Device Canvas Presetsvireo init, kubectl-style flags)brew install dormiwww/tap/vireovireo bundle)Project guidelines, syntax references, architecture decision records, and agent skills are organized under .agents/:
.agents/rules/AGENTS.md.agents/rules/ROADMAP.md, .agents/rules/CONTEXT.md.agents/skills/DorMiwww/vireo-skillJavaScript
43.3%
Kotlin
37.4%
Python
9.2%
HTML
9.0%
Design as Code (DaaC). Write declarative design files (
.dac) and compile them into HTML, JSON IR, and native Figma Auto Layout components.
π Official Documentation & Live Guide: https://dormiwww.github.io/Vireo/ π€ Official AI Agent Skill: https://github.com/DorMiwww/vireo-skill
Vireo bridges the gap between codebases and design systems. Instead of manually drawing components in Figma and re-implementing them in code, you define your design system in a clean, declarative .dac syntax that compiles into:
.dac)import buttons from "./components/buttons.dac"
import badges from "./components/badges.dac"
block Profile {
component Card {
width: 380
color: #FFFFFF
radius: 16
shadow: true
padding: 24
layout: vertical
gap: 16
component Header {
layout: horizontal
gap: 16
alignItems: center
component Avatar {
width: 56
height: 56
radius: 99
color: #2563EB
component Initials {
text: "JD"
fontSize: 20
fontWeight: bold
color: #FFFFFF
}
}
component UserInfo {
layout: vertical
gap: 4
component Name {
text: "Jane Doe"
fontSize: 18
fontWeight: bold
color: #111827
}
component Handle {
text: "@janedoe β’ Design Systems"
fontSize: 13
color: #6B7280
}
}
}
component Bio {
text: "Design systems architect and UI engineer."
fontSize: 14
color: #4B5563
}
component ActionBtn {
ref: buttons.Primary.Default
label: "Connect"
}
}
}
Vireo is built as a pure Kotlin (JVM) multi-module project with strict dependency isolation:
Vireo
βββ vireo-core # AST model, SourceLocation, Visitor pattern, VireoResult
βββ vireo-lexer # Stateless lexical scanner with token classification
βββ vireo-parser # Recursive descent parser producing unresolved AST
βββ vireo-analysis # Semantic analyzer, symbol table, cross-file imports, expression evaluator
βββ vireo-renderer-json # Structured JSON IR emitter
βββ vireo-renderer-html # Standalone HTML5 + CSS Flexbox generator
βββ vireo-renderer-figma # AST-to-Figma schema transformer
βββ vireo-cli # CLI interface (vireo init, vireo check, vireo render)
βββ figma-plugin # Native Figma development plugin (JS/HTML) for canvas import
Data compilation pipeline:
.dac source βββΆ [ Lexer ] βββΆ [ Parser ] βββΆ [ Analyzer ] βββΆ [ Renderer ] βββΆ HTML / JSON / Figma
./gradlew)./gradlew test
curl -fsSL https://raw.githubusercontent.com/DorMiwww/Vireo/main/install.sh | bash
./gradlew installCli
# Or run the local repository wrapper directly:
./vireo --help
Vireo provides an official AI agent skill for Claude Code and Google Antigravity: DorMiwww/vireo-skill. It equips coding assistants to professionally author, refactor, and architect .dac design systems using live, dynamically fetched documentation.
Install globally with a single command:
curl -fsSL https://raw.githubusercontent.com/DorMiwww/vireo-skill/main/install.sh | bash
π Repository & documentation: https://github.com/DorMiwww/vireo-skill
The Vireo CLI features a kubectl-style ergonomic interface with built-in help for each subcommand:
vireo init)Scaffold a complete ready-to-render design system in seconds:
# Initialize a new project in directory 'my-design'
vireo init my-design
# Or initialize in the current directory
vireo init .
This creates:
vireo.config.json β project configurationdesigns/tokens.dac β colors, spacing, and typography tokensdesigns/components/button.dac β reusable component definitionsdesigns/card.dac β full composition showcasing token and component importsREADME.md β project instructionsvireo check)Verify syntax, resolve cross-file imports, and catch semantic errors:
vireo check designs/card.dac
vireo render)Render .dac designs into HTML previews, JSON AST representations, or Figma-ready schema files. By default, output files are created automatically based on input file names:
# Render to standalone HTML5 preview (automatically creates card.html)
vireo render designs/card.dac --html
# Render to Figma JSON for the Figma Canvas Plugin (automatically creates card.figma.json)
vireo render designs/card.dac --figma
# Stream output directly to terminal stdout (or pipe to other tools)
vireo render designs/card.dac --html --stdout
vireo render designs/card.dac -o -
# Render HTML snippet to custom file (without full HTML wrapper)
vireo render designs/card.dac --html --snippet --out card-snippet.html
# Render to structured JSON IR (AST representation)
vireo render designs/card.dac -o json
For a full list of options, run:
vireo render --help
Vireo includes a private development plugin located in figma-plugin/:
figma-plugin/manifest.json.*.figma.json file.Vireo compiles declarative .dac files directly into pixel-perfect standalone HTML5/CSS Flexbox previews. Below are previews of ready-to-test components available in the showcase/ directory:
showcase/dashboard.dac)Complete responsive analytics dashboard featuring navigation, hero greetings, key performance metrics, data tables with pagination, and interactive sidebars.

showcase/pricing.dac)Multi-tier comparative pricing table with highlight badges, feature lists, and action buttons.

showcase/card.dac)User profile component demonstrating nested Auto Layout, avatar typography, followers metrics grid, and tag chips.
You can preview the pre-rendered HTML files directly in your browser:
open showcase/dashboard.html
# or
open showcase/pricing.html
# or
open showcase/card.html
Full developer documentation, component catalogue, language syntax, and layout specifications are available online:
π https://dormiwww.github.io/Vireo/
Source markdown documentation files are maintained in the DOCS/ directory:
import ... from), Layout Constraints & HTML5/CSS Flexbox Rendererif ... then ... else)vireo-renderer-figma)figma-plugin/) with Auto Layout & Device Canvas Presetsvireo init, kubectl-style flags)brew install dormiwww/tap/vireovireo bundle)Project guidelines, syntax references, architecture decision records, and agent skills are organized under .agents/:
.agents/rules/AGENTS.md.agents/rules/ROADMAP.md, .agents/rules/CONTEXT.md.agents/skills/DorMiwww/vireo-skillJavaScript
43.3%
Kotlin
37.4%
Python
9.2%
HTML
9.0%