A headless CMS for agencies who code
Zero-downtime deployments. Code-first schema. TypeScript native.
Built for SvelteKit teams who want control over their CMS.
Every agency has been here:
| Payload CMS | Over-engineered. Hooks everywhere. Setup nightmare. |
| Strapi | UI vs code conflicts. Sync hell. Inconsistent truth. |
| PocketBase | Migration chaos. Kubernetes nightmares. |
| WordPress | PHP baggage. UI modifications. Complex stack. |
collection({
name: "post",
fields: [
{ name: "title", type: "text", required: true },
{ name: "content", type: "richtext" },
{ name: "publishedDate", type: "date" },
],
});
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Developer │ │ mimsy CLI │ │ Go Backend │
│ (TypeScript) │───▶│ (Schema) │───▶│ (REST API) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Admin Panel │ │ Your App │ │ PostgreSQL │
│ (SvelteKit) │◀───│ (SvelteKit) │◀───│ + pgroll │
└─────────────────┘ └─────────────────┘ └─────────────────┘
// 1. Define your schema in TypeScript// collections/blog.tsexport const BlogPost = collection({ name: "post", fields: [ { name: "title", type: "text", required: true }, { name: "content", type: "richtext" }, { name: "publishedDate", type: "date" }, ], });// 2. Process with CLI$ mimsy build// 3. Deploy with zero downtime$ mimsy deploy✓ Schema migration created ✓ Old API version: active ✓ New API version: active ✓ Traffic migration: complete
# 1. Install mimsy CLInpm install -g mimsy-cli# 2. Initialize projectmimsy init my-cms# 3. Define your first collection# collections/posts.tsexport const BlogPost = collection({ name: "post", fields: [ { name: "title", type: "text", required: true }, { name: "content", type: "richtext" }, { name: "publishedDate", type: "date" }, ], });# 4. Build and deploymimsy build mimsy deploy