github
// login → init → deploy

Freedom to deploy. Freedom to own. Freedom from recurring CMS costs.

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 this — a live site in a few minutes
$npx kalayaan init
read the quickstart guide
kalayaan
$ kalayaan login
→ opening your Cloudflare token page…
✓ signed in — account auto-detected
$ kalayaan init my-site
? content models: posts, authors
? services: ai, custom domain
? domain: blog.example.com
✓ wrote cms.config.ts
deploy now? → yes
$ kalayaan deploy
→ provisioning D1, R2, KV…
→ attaching blog.example.com…
✓ live at https://blog.example.com
$0.00/mo
// how it works

Three commands. One is enough.

Run them yourself, or let kalayaan init chain login and deploy for you.

01$ kalayaan login
Sign in, once

Opens a Cloudflare token page with the right permissions pre-filled. Kalayaan auto-detects your account — no keys to copy by hand.

02$ kalayaan init
Answer the wizard

Pick your content models, toggle services, enter a domain. It writes a real cms.config.ts — the file below — then asks: deploy now?

03$ kalayaan deploy
Ship to the edge

Provisions D1, R2, and KV, uploads the admin SPA, and attaches your domain with automatic DNS and TLS. Resolves to a live URL.

// the config the wizard writes — not lorem
cms.config.ts
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,
    }),
  ],
});
// the whole platform

A real CMS, not a starter kit.

Everything below ships in the current release.

› every feature, in detail

// honest cost

The bill is the whole point.

Kalayaan runs entirely on your own Cloudflare free tier — every service it uses, at no monthly cost to publish.

cloudflare service
what it runs
cost / mo
Workers
runs the CMS admin and serves your API
$0.00
D1
your default SQL database
$0.00
R2
media and file storage
$0.00
KV
cache and edge config
$0.00
Workers Assets
static hosting for the admin SPA
$0.00
Workers AI
alt-text, translation, editorial assist
$0.00
Turnstile
spam-free public submissions
$0.00

// free tier limits apply — every allowance is itemised on the pricing page.

› the actual free-tier limits, and when you'd start paying

Your idea, on your own domain.

Sign in once, answer a few questions, deploy — free, on your own Cloudflare account.

$npx kalayaan init