New

VaisX

VaisX is a full-stack web framework powered by the Vais compiler. Compile-time reactivity, file-based routing, and SSR — all in under 3KB.

< 3KB
Runtime (gzip)
0ms
Reactivity overhead
SSR
First-class support
TS
Full type safety

Build Web Apps with Vais

VaisX is a full-stack web framework powered by the Vais compiler. Compile-time reactivity, file-based routing, and SSR — all in under 3KB.

Compile-Time Reactivity

Reactive state analyzed at build time. Zero runtime overhead for state tracking — just surgical DOM updates.

🗂️

File-Based Routing & SSR

Your app/ directory structure becomes your URL routes. SSR, SSG, and streaming out of the box.

📦

< 3KB Runtime

The entire runtime weighs under 3KB gzipped. Most work happens at compile time, not in the browser.

Counter.vaisx
<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>

Quick Start

Get a VaisX project running in under a minute.

1

Install the CLI

npm install -g @vaisx/cli
2

Create a new project

vaisx new my-app
3

Start dev server

vaisx dev

Packages

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

Ready to build?

Full documentation, guides, and API reference are coming soon at /vaisx/docs/.