A guided setup — sign in once, answer a few questions, deploy — to a live site on your own Cloudflare account. D1, R2, and Workers on the permanent free tier. Your domain, your data, no monthly bill to publish.
Run them yourself, or let kalayaan init chain login and deploy for you.
Opens a Cloudflare token page with the right permissions pre-filled. Kalayaan auto-detects your account — no keys to copy by hand.
Pick your content models, toggle services, enter a domain. It writes a real cms.config.ts — the file below — then asks: deploy now?
Provisions D1, R2, and KV, uploads the admin SPA, and attaches your domain with automatic DNS and TLS. Resolves to a live URL.
import { defineConfig, collection, field } from "kalayaan";
export default defineConfig({
name: "my-site",
domain: "blog.example.com",
ai: { enabled: true, features: ["alt-text", "translate", "editorial-assist"] },
collections: [
collection("posts", {
fields: {
title: field.text({ required: true }),
slug: field.slug({ from: "title", unique: true }),
body: field.richText(),
cover: field.media(),
author: field.relation("authors"),
status: field.select(["draft", "published"], { default: "draft" }),
},
versioning: true,
}),
],
}); Everything below ships in the current release.
Kalayaan runs entirely on your own Cloudflare free tier — every service it uses, at no monthly cost to publish.
// free tier limits apply — see the docs for D1 / R2 / Workers quotas.
Sign in once, answer a few questions, deploy — free, on your own Cloudflare account.