Skip to content

Roadmap

What's shipped, what's next, and what's still an idea.

VexCMS is in public alpha. Ten specs stand between the current alpha and the 0.1.0 tag, and they ship in the order below. This page itself is edited in the admin panel, not in a source file.

11
shipped

Field types, codegen, the admin panel, globals, media, RBAC, themes, auth, SEO, the CLI, and the test kit

10
specs to v0.1.0

Each spec consumes what the last one built. The mobile pass is the final gate

0.1.0-alpha.16
on npm today

Published from the dev branch. The whole track lands before anything is tagged 0.1.0

Roadmap

Shipped means it is in the published packages and running in this site. Planned means it is committed to 0.1.0, listed in the order it ships. Everything past that is an intention, not a promise.

Planned

Planned10
  • Data-Table Integrity & Config HonestyFirst in the launch track. Every key under admin.table gets a consumer or gets deleted. No README documents a flag that does nothing.
  • Public API Honesty PassNothing exported may lie about what it does. The auto-migration stubs leave the public surface. The localization model gets decided before anyone has data to migrate.
  • Lifecycle Hooks & Server-Side ValidationbeforeChange and afterChange, plus one write-validation stage. min and max become enforced through the Local API, not only in the admin form. An async validate() receives ctx, so transactional uniqueness checks are sound.
  • Live PreviewUnsaved form state, streamed over postMessage and overlaid on your real route. The preview is your production page, not a parallel render path. Origin-allowlisted and gated per request.
  • Versioning & DraftsA real draft and publish workflow. Reads return the published document, readDrafts returns drafts, and publish promotes. Autosave never touches what is live. Prior versions are restorable from the edit view.
  • Richtext FieldA richtext() field in core, wired to the Plate.js editor and renderer that @vexcms/richtext-plate already ships. The @ts-nocheck pragmas go with it.
  • Field Input Consistency PassEvery input gets correct empty, loading, error, and read-only states. The relationship field is the named offender. The media picker finally honours the upload field's accept filter.
  • Edit-View OverhaulAn unsaved-changes guard, so a misclick cannot cost you work. Duplicate for documents and for blocks. A validation summary that jumps to the failing field.
  • List-View OverhaulPer-collection search, sortable columns, column visibility, page-size control, and saved views. Each control ships together with the config key that drives it.
  • Responsive & Mobile PassThe final gate. Every admin and marketing surface audited at seven widths, from 375 to 1536. No clipped controls, and every primary action reachable on a phone.

Future

Future7
  • JSON, Email & Textarea Fields
  • Content Scheduling
  • Team Management & API Keys
  • TanStack Start Adapter
  • S3, R2 & Vercel Blob Adapters
  • Form Builder
  • Plugin System

Exploring

Exploring2
  • Enterprise Add-Ons
  • Multi-Component Workspaces

Shipped

Shipped11
  • 12 Field Typestext, url, color, number, checkbox, date, select, relationship, array, group, blocks, and upload.
  • Convex Schema & Type Codegenvex dev and vex generate write your Convex schema, TypeScript types, and Zod validators from defineCollection. There is no hand-written schema.ts to drift.
  • Real-Time Admin PanelA data table with pagination, live totals, and bulk operations. Every list view is a Convex subscription. Two people on one collection see each other work.
  • GlobalsdefineGlobal singletons for site settings, headers, footers, and anything else there is exactly one of.
  • Media LibraryA Convex file storage adapter with a searchable, paginated picker built into every upload field.
  • Document & Field-Level RBACRules per collection, operation, document, and field. Constraints compile to withIndex ranges inside the query. Per-call overrides and an anonRole fallback are built in.
  • Custom Theme SystemThemes in the database with 32 shadcn tokens per mode, light and dark, stored as OKLCH and applied on first paint. Changing one updates every open tab.
  • Better Auth IntegrationEmail, password, and OAuth out of the box, with organisations and API keys available as plugins.
  • SEO, Prerendering & RevalidationvexMetadata, vexStaticParams, createVexSitemap, and createVexRobots, plus a revalidate route that purges the cached page when an editor saves.
  • CLI & Scaffoldervex dev, vex generate, and create-vexcms. The scaffolder offers a bare project or a full marketing-site template.
  • React Test Kit@vexcms/react/testing exports the contract suites we run against every field input. Your own custom fields can be held to them too.

Scaffold it and see.

One command gives you a Next.js app, a Convex deployment, auth, the admin panel, and a marketing site like this one. Seeded, editable, and yours.