Start with your stack.
Pick a framework and `lunora init` scaffolds a typed, real-time Lunora backend wired into it — schema, functions, live data, and a one-command Cloudflare deploy. Then build.
Twelve whole projects
Each one is a complete app in templates/, fetched at init and wired to the same typed, live-syncing backend. Only the frontend changes.
TanStack Start
React
SSR with live-loader routes, typed end to end.
-t tanstack-start-reactTanStack Start
Solid
The same live loaders on fine-grained Solid reactivity.
-t tanstack-start-solidNext.js
React
App Router on OpenNext, plus a standalone Lunora worker.
-t nextReact Router
React
v7 framework mode, SSR composed into the Lunora worker.
-t react-routerNuxt
Vue
One worker: Lunora mounts inside Nitro beside your pages.
-t nuxtSvelteKit
Svelte
Live stores and reactive loaders, plus a Lunora worker.
-t sveltekitAstro
Islands
Mostly-static islands, live where it counts.
-t astroAnalog
Angular
Angular on Nitro, single worker, RxJS-friendly live data.
-t analogExpo
React Native
iOS, Android and web against one Lunora backend.
-t expovinext
React
Next App Router on Vite, composed into one worker. Experimental.
-t vinextvinext
Pages Router
The same, for the Pages Router. Experimental.
-t vinext-pagesStandalone
Worker only
No frontend — a typed backend any client can call.
-t standaloneOr start from create-vite
No bespoke template — the official create-vite base for your framework, with the Lunora layer added on top.
React
SPA
The default when init runs without a framework flag.
--vite reactVue
SPA
create-vite's Vue base plus Lunora.
--vite vueSolid
SPA
create-vite's Solid base plus Lunora.
--vite solidSvelte
SPA
create-vite's Svelte base plus Lunora.
--vite svelteVanilla
SPA
No framework — create-vite's plain base plus Lunora.
--vite vanillaAdd the rest at scaffold time
Pass a comma-separated list and init wires the packages, config and example code for each one, instead of leaving you to follow a setup page per feature.
aiauthbackupbrowsercloudflare-accesscronsemailflagshyperdrivepaymentpresencequeuestorageworkflowAlready have an app? Init detects the framework, patches the config and scaffolds lunora/ in place.
Scaffold the deploy pipeline with it, so the first push ships.
lunora init my-app -t nuxt --add auth,email --ci github
Ready to ship realtime apps?
Open source, deployed to your own Cloudflare account, with no infrastructure to manage.
Start building