v1.0 is live

Content at the edge.

Open-source headless CMS built on Cloudflare Workers, D1, and R2. Deploy globally in seconds, scale infinitely with zero cold starts.

Cloudflare Workers Astro Frontend MIT License TypeScript
terminal — zsh
$ git clone https://github.com/jjaimealeman/flarecms
$ cd flarecms && pnpm install

Packages installed (3 workspaces)

$ pnpm build
@flare-cms/core built (8 entry points)

$ cd packages/cms && wrangler dev
Listening on http://localhost:8787
Admin UI → http://localhost:8787/admin
API docs → http://localhost:8787/docs
<50ms
Global Latency
300+
Edge Locations
0
Cold Starts
99.9%
Uptime

Engineered for speed.

Flare CMS leverages the latest Cloudflare technologies to provide a headless experience that is faster than traditional CMS architectures.

Edge-Native

Runs entirely on Cloudflare Workers. D1 for database, R2 for media, KV for cache. No origin server needed.

Admin Dashboard

Built-in content management UI with Quill rich text editor, media uploads, collection management, and user authentication.

API-First

RESTful JSON API with sorting and pagination. Scalar API docs at /docs. JWT authentication for protected routes.

Schema Collections

Define content types with typed schemas. String, textarea, Quill rich text, media, select, datetime, and slug fields.

Workflow & Versioning

Draft, review, and publish workflow. Content versioning with history tracking. Scheduled publishing via cron triggers.

Any Frontend

Standard REST API works with any framework — Astro, React, Vue, Svelte, or vanilla JS. Fetch your content from anywhere.

Define your schema. Fetch it anywhere.

Collections are TypeScript objects with typed fields. The API is generated automatically.

blog-posts.collection.ts Schema
import type { CollectionConfig } from '@flare-cms/core'

export default {
  name: 'blog-posts',
  displayName: 'Blog Posts',
  schema: {
    type: 'object',
    properties: {
      title: { type: 'string', title: 'Title', required: true },
      slug: { type: 'slug', title: 'URL Slug' },
      excerpt: { type: 'textarea', title: 'Excerpt' },
      content: { type: 'quill', title: 'Content' },
      featuredImage: { type: 'media', title: 'Image' },
      author: { type: 'string', title: 'Author' },
    },
    required: ['title', 'slug', 'content', 'author']
  },
  listFields: ['title', 'author', 'status'],
  defaultSort: 'createdAt',
  defaultSortOrder: 'desc'
} satisfies CollectionConfig
API
GET /api/collections/blog-posts/content Response
GET /api/collections/blog-posts/content


{
  "data": [
    {
      "id": "content-blog-posts-d13a588a",
      "title": "Deploying to the Edge",
      "slug": "deploying-to-the-edge",
      "status": "published",
      "data": {
        "title": "Deploying to the Edge",
        "content": "

Your content here...

"
, "slug": "deploying-to-the-edge", "author": "Jaime Aleman" }, "created_at": 1770192000000, "updated_at": 1770192000000 } ], "meta": { "count": 1, "timestamp": "2026-03-02T00:00:00Z", "cache": { "hit": true, "source": "kv" } } }

Built by the community, for the web.

Flare CMS is 100% open-source and will always be. Join our growing community of developers building the future of content management.