Lunora
Type-safe, real-time backend framework on Cloudflare Workers and Durable Objects with a Vite-first developer experience and end-to-end TypeScript types.
At a Glance
Self-hosted on your own Cloudflare account. FSL-1.1-Apache-2.0 license, converts to Apache-2.0 on a fixed schedule. You pay Cloudflare directly at their published rates.
Engagement
Available On
Alternatives
Listed Aug 2026
About Lunora
Lunora is a type-safe, real-time backend framework built on Cloudflare Workers and Durable Objects, developed by anolilab. It gives developers a Convex-style authoring experience — define a schema, write query, mutation, and action functions in TypeScript — while deploying entirely to the developer's own Cloudflare account. The project is currently in alpha, with packages published continuously to the alpha dist-tag on npm.
What It Is
Lunora is a full-stack backend framework that sits between a raw Cloudflare setup and a managed backend-as-a-service like Convex or Firebase. Developers declare tables in a schema file, write typed server functions, and get a live-syncing, reactive API on the client — with no glue code between them. Codegen keeps server and client types in lockstep: rename a field and the client stops compiling. The framework is licensed under FSL-1.1-Apache-2.0, which converts to Apache-2.0 on a fixed schedule per release.
How the Realtime Model Works
Every query in Lunora is a subscription by default. Mutations push live deltas to all subscribed clients over WebSocket without manual cache invalidation. The client SDK (@lunora/client) handles optimistic updates and an offline mutation queue. The reactive engine (@lunora/shard-engine) is host-neutral and talks to platform contracts rather than Cloudflare APIs directly, with @lunora/platform-cloudflare as the primary implementation.
State lives in SQLite-backed Durable Objects at the edge. A single Durable Object per app is the default; developers opt into .shardBy(key) for tenant-level isolation or .global() for geo-replicated reads without rewriting their app.
Architecture and Platform
Lunora is built entirely on the Cloudflare Developer Platform:
- Workers — the RPC router, shard resolver, and query coordinator
- Durable Objects — per-shard SQLite state with WebSocket Hibernation API and subscription registry
- D1 — SQL storage for global tables
- R2 — blob storage with typed buckets and signed URLs
- Queues — background job processing
- Workflows — durable multi-step background work
- Vectorize — semantic search support
- Workers AI — provider-agnostic AI SDK access from action functions
The Vite plugin (@lunora/vite) runs the dev loop on workerd — the same runtime as production — so there is no environment mismatch between development and deployment.
Framework Adapters and Ecosystem
Lunora ships adapters for React, Vue, Svelte, Solid, Angular, Astro, Nuxt, SvelteKit, TanStack Start, React Native, and Expo. The client is framework-agnostic underneath, so any framework without a dedicated adapter still works without the framework-specific hooks.
Opt-in add-on packages cover the full surface area of a production app:
- Auth — Better Auth wrapper with email/password, OAuth, magic links, 2FA, passkeys, organizations, and RBAC
- Payments — Stripe-first adapter with webhook sync, subscriptions, and metered billing
- Email — TSX-templated transactional email via Resend or custom SMTP
- AI — Workers AI on the Vercel AI SDK, provider-agnostic
- Storage — R2 typed buckets, Workers KV, Cloudflare Images, Vectorize
- Background Jobs — cron triggers, delayed jobs, durable workflows
- Bring-your-own DB — Postgres or MySQL over Cloudflare Hyperdrive
Every app also ships with Lunora Studio, a local admin UI for schema, data, SQL, logs, time-travel, and security/performance advisors — served automatically by lunora dev against the live edge database.
Current Status: Alpha
The project self-describes as alpha with APIs that will break between releases. Every package publishes under a 1.0.0-alpha version on the alpha dist-tag; the latest tag holds a 0.0.x placeholder. The GitHub repository shows 229 stars, 7 forks, and 5 contributors as of late August 2026, with active pushes. The homepage explicitly states: "Build side projects and internal tools on it today; wait for 1.0 before it carries revenue." A Lunora Cloud managed hosting option is listed as a waitlist, meaning self-hosting to a developer's own Cloudflare account is currently the only deployment mode.
Community Discussions
Be the first to start a conversation about Lunora
Share your experience with Lunora, ask questions, or help others learn from your insights.
Pricing
Open Source
Self-hosted on your own Cloudflare account. FSL-1.1-Apache-2.0 license, converts to Apache-2.0 on a fixed schedule. You pay Cloudflare directly at their published rates.
- Full framework source code
- Deploy to your own Cloudflare account
- All packages and adapters
- Lunora Studio included
- CLI for scaffold, migrate, seed, deploy
Capabilities
Key Features
- Type-safe end-to-end TypeScript with codegen
- Realtime queries as subscriptions by default
- Optimistic updates and offline mutation queue
- SQLite-backed Durable Objects at the edge
- Sharding by key for tenant or room isolation
- Global replication for low-latency reads
- Lunora Studio local admin UI (schema, data, SQL, logs, time-travel)
- Vite-first dev loop running on workerd
- CLI for scaffold, migrate, seed, deploy, and inspect
- Auth add-on (Better Auth, email/password, OAuth, 2FA, passkeys, RBAC)
- Payments add-on (Stripe-first, webhook sync, subscriptions)
- Transactional email add-on (TSX templates, Resend, queue-backed)
- AI add-on (Workers AI, Vercel AI SDK, provider-agnostic)
- Background jobs (cron triggers, delayed jobs, durable workflows)
- Bring-your-own Postgres/MySQL via Cloudflare Hyperdrive
- MCP server to expose deployments to AI agents
- Schema and query advisors (lints)
- In-memory test harness for Vitest
- Point-in-time data rewind (30-day window)
- 13 project templates across major frameworks
- React Native and Expo support
