Build content-driven apps without managing another backend.
Define your content in code, deploy everything to a single Cloudflare Worker,
and edit locally with changes only published when you're ready.
[!WARNING] baseConfig is under active development.
The project is currently in **0.x**. While the core is functional, APIs,
field types, and behavior may change before the
first stable release. It's not yet recommended for production use.
-
⚡ Edge-native Runs entirely on Cloudflare. Your website, CMS, API, and media library deploy together as a single Worker.
-
💾 Local-first editing Write without worrying about your connection. Changes stay on your device until you choose to publish.
-
🧩 Config-driven Describe your collections, globals, and fields in TypeScript. Your configuration becomes your CMS.
-
📦 Batteries included Collections, globals, rich text, blocks, relationships, media, authentication, and plugins in one place.
-
🔌 Built to extend Create your own fields, blocks, endpoints, hooks, and plugins without fighting the framework.
bun add @baseconfig/core @baseconfig/ui hono drizzle-orm better-authDefine your content model, mount the handler, and you're ready to go.
export default baseConfig({
collections: [...],
globals: [...],
})That's it.
- Content API - Mounted to /api/$.ts
- Admin dashboard - Mounted to /admin or whatever path you prefer
- Media library - Pass the binding
- Authentication - But based on your own better auth setup
- File uploads - Fully setup to work with R2
- Storage - Pass R2 Binding
- Dashboard - Covered in admin/$.ts catch all
All running from the same Cloudflare Worker.
