Skip to content

Repository files navigation

Unframework

Unframework

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.

Unframework is part of UXFront, written and maintained by @alexgrozav.


Unframework - The compiler that speaks seven UI frameworks


Homepage · Documentation · Contributing · Issue Tracker


Website Last commit



Table of contents

How it works

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.

  • 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 drift, one standard, agent-ready.
  • Compiler: the compiler reads what your component does, then writes it the way each framework expects: hooks in React, refs in Vue, runes in Svelte, signals in Solid. Idiomatic, consistent, build-time, deterministic.
  • 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. Meet the Open Components standard once, and every output meets 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. The walking skeleton is in place: the compiler's pipeline, and the verification machine that checks every case on all seven frameworks, from golden output and each framework's own compiler and type checker to server HTML, the DOM, the accessibility tree and pixels in a real browser. Watch this repository to hear when the first release lands, and read the documentation as it grows with it.

Part of UXFront

Unframework is one of the UXFront projects, which share one foundation:

Bugs and feature requests

Found a bug, or have an idea for the compiler or a framework it should speak? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Contributing

Please read through our contributing guide. There you can find how the monorepo is laid out, how to run the site locally, how to add a package and how releases work. Everyone taking part in the project agrees to follow our Code of Conduct.

Thanks goes to these wonderful people!

Creator

Alex Grozav

If you use Unframework in your daily work and feel that it has made your life easier, please consider sponsoring me on GitHub Sponsors. 💖

Copyright

Copyright © 2026 UXFront.

About

The compiler that speaks seven frameworks. Write your code once, then compile it to every one of them.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages