VaisX is a full-stack web framework powered by the Vais compiler. Compile-time reactivity, file-based routing, and SSR — all in under 3KB.
VaisX is a full-stack web framework powered by the Vais compiler. Compile-time reactivity, file-based routing, and SSR — all in under 3KB.
Reactive state analyzed at build time. Zero runtime overhead for state tracking — just surgical DOM updates.
Your app/ directory structure becomes your URL routes. SSR, SSG, and streaming out of the box.
The entire runtime weighs under 3KB gzipped. Most work happens at compile time, not in the browser.
<script> let count = __vx_state(0) let doubled = __vx_derived(count * 2) </script> <template> <button @on:click={count++}> Count: {count} (×2 = {doubled}) </button> </template> <style> button { padding: 12px 24px; } </style>
Get a VaisX project running in under a minute.
npm install -g @vaisx/cli
vaisx new my-app
vaisx dev
The VaisX ecosystem is split into focused, composable packages.
| Package | Description | Status |
|---|---|---|
| @vaisx/runtime | Core DOM diffing and reactive primitives (< 3KB gzip) | Stable |
| @vaisx/cli | Project scaffolding, dev server, build toolchain | Stable |
| @vaisx/kit | Full-stack meta-framework with SSR, SSG, and file-based routing | Beta |
| @vaisx/compiler | Vais-to-JS compiler plugin — transforms .vaisx single-file components | Stable |
| @vaisx/store | Global state management with compile-time optimized stores | Beta |
| @vaisx/ui | Accessible, zero-dependency component library | WIP |
Full documentation, guides, and API reference are coming soon at /vaisx/docs/.