Developer Guide
Guide for building, deploying and publishing Luvabase apps
Private Beta
Deploying and publishing apps is currently in a private beta. Apply for early access to be among the first to build with Luvabase.
Overview
The short version for creating a Luvabase app is to make a Cloudflare-deployable app, add a luvabase.jsonc manifest, and then deploy it with luvabase deploy.
Step 1: Setup your app
Luvabase apps are deployed to Cloudflare behind the scenes, so the easiest way to get started is to follow one of the official Cloudflare guides such as the TanStack Start guide. Luvabase will automatically deploy required resources and configuration from wrangler.jsonc.
For local development, you can use Vite/Wrangler as normal for Cloudflare Workers (documentation).
Check out these resources for how to use Luvabase specifics:
- Runtime reference Available methods in the runtime, such as getting app members and the current user.
- Environment reference Available environment metadata such as the pod id.
- CLI reference Available commands for deploying and publishing apps.
Step 2: Add a luvabase.jsonc app manifest
Below is a basic example of a luvabase.jsonc file that should be placed at the root directory of your app. The full manifest schema reference can be found here.
{
"$schema": "node_modules/luvabase/manifest-schema.json",
"identifier": "snake", // globally unique identifier for the app (enforced only when publishing new apps)
"name": "Snake",
"subtitle": "Play the classic of classics",
}Step 3: Deploy the app
Use luvabase deploy to deploy or update your app:
npx luvabase deployYou will be asked to log in to your Luvabase account, and once the deployment is complete, you will be given a URL to the app.
You can also publish the app so it can be installed by anyone.
npx luvabase deploy --publishNote that running deploy will update all your apps with the same identifier as the app on your account. When running deploy with --publish, it will also schedule updates for everyone who has the app installed globally.