Today we are opening up a new primitive in the CMS: defineCollection. Where definePage and defineSingleton have always been single-instance documents, collections let you CRUD as many instances as you want — blogs, products, cars, recipes.
Why is this a big deal?
The data layer was already ready for it. All content and assets are stored against a document string — so we synthesise one id per instance (blog:<itemId>) and reuse the entire existing editor, locale and cache stack.
What do you get in admin?
- A list view with draft/published statuses and quick actions.
- The same Text + Media editor you already know.
- A new
richText: trueflag on any key that opens the TipTap editor.
The nicest part? It is under two days of code because we only added one new schema and one Prisma table.