Getting Started

Introduction

Unframework is the compiler that speaks seven UI frameworks. Write a component once, and it compiles to native React, Vue, Svelte, Angular, Solid, Qwik and Astro code.

Unframework is the compiler that speaks seven UI frameworks: write a component once, and it compiles to native React, Vue, Svelte, Angular, Solid, Qwik and Astro code, and to whichever faster framework comes next, with no migration.

One beam of light goes into a prism and comes out as seven. Unframework does the same with your components: one source goes into the compiler and comes out as seven frameworks.

How it works

Source

One component is the source of truth for every framework. Change it in one place, and all seven get the change on the next build.

  • One source: no port per framework to write, review and keep in sync.
  • No drift: seven outputs can't fall out of step when there is only one input.
  • One standard: meet the Open Components standard once, and every output meets it.
  • Agent-ready: agents change one component, not seven, so no port is missed.

Compiler

The compiler reads what your component does, then writes it the way each framework expects: its reactivity, its templates, its conventions.

  • Idiomatic: hooks in React, refs in Vue, runes in Svelte, signals in Solid.
  • Consistent: props, events and slots keep their names in every framework.
  • Build-time: the translation happens in your build, not in the browser.
  • Deterministic: the same source compiles to the same output, every time.

Output

Each framework gets a real component in its own format, typed and readable, with no wrapper or adapter in between: React, Vue, Svelte, Angular, Solid, Qwik and Astro.

Props, events and slots keep their names in every framework, so a component reads the same wherever you use it.

The eighth framework

AI is speeding everything up, and a faster framework is always around the corner. When it lands, it's one more compile target: your components move on the next build, not in a migration.

  • No migration: a new framework is a new compile target, not a rewrite of every component.
  • No bet to make: don't guess which framework wins. Your components go where it goes.
  • Side by side: ship the old framework and the new one from the same source while you move.
  • On your schedule: switch when the numbers say so, not when a rewrite fits the roadmap.

Status

Unframework is in early development, and the compiler isn't published yet. Watch the GitHub repository to hear when the first release lands. These docs grow with it.

For agents

Every page of these docs is also published as markdown: prefix its path with /raw and add .md, as in /raw/docs/getting-started/introduction.md. /llms.txt lists every page, and /llms-full.txt holds them all in one file.

Copyright © 2026