Skip to main content
Once your CMS is initialized, you’ll add collections as your site grows. Maybe you started with just a blog and now you need case studies, team members, or product listings. There are three paths — pick whichever matches the situation.

Easiest

Ask the AI

Visual

Collection Manager UI

For developers

Edit hiveku.cms.json

Option 1: Ask the AI

The fastest way for most additions, especially when you have a clear idea of the fields.
1

Open your project in /v3

From the dashboard, open the project.
2

Open the AI chat

Click the AI tab in the left panel.
3

Describe the collection you want

Be specific about purpose and fields. The more detail, the less back-and-forth.
Add a "case-studies" collection with title, client name, industry,
summary (short), hero image, and a long-form body. Route them at
/case-studies/{slug}.
Or, if you’re less sure:
I need a collection for our team page. Each team member has a name,
title, photo, short bio, and links to their socials.
4

Review the proposed schema

The AI returns a manifest entry — collection ID, fields, route pattern, default sort. Approve or revise:
  • “Make industry a select with options: SaaS, Healthcare, Finance, Other”
  • “Add a featured boolean so we can promote a few”
  • “Use field-based slugs from the title instead of filename”
5

Approve and save

Once you’re happy, the AI updates hiveku.cms.json, creates the directory under content/, and (optionally) seeds it with one example entry.
6

Verify in the CMS panel

Switch the right pane to CMS mode. The collection picker now lists your new collection. Click it — the entry list and form are ready to use.
Ask the AI to also wire up the page that renders this collection: “After adding the case-studies collection, create app/case-studies/page.tsx (list view) and app/case-studies/[slug]/page.tsx (detail view) reading from the CMS.”

Option 2: Collection Manager UI

Use this when you want a visual builder and immediate validation feedback.
1

Open the CMS panel

In /v3, switch the right pane to CMS mode.
2

Open Collection Manager

Click the gear icon at the top of the panel — it’s next to the collection picker.
3

Click + New Collection

A form appears with the collection’s top-level properties:
  • IDcase-studies (lowercase, hyphenated, must be unique)
  • Display nameCase Studies
  • Pathcontent/case-studies (auto-filled from ID)
  • FormatMDX (with body) or JSON (structured only)
  • Slug from — Filename or a specific field
  • Route pattern/case-studies/{slug} (optional)
4

Define the fields

Click + Add Field for each one. For each field:
  • Name — camelCase identifier
  • Type — picked from a dropdown (string, number, image, etc.)
  • Required — toggle
  • Default — typed if relevant
  • Type-specific options — like options for select, collection for reference
Drag the rows to reorder them — order in the manifest matches order in the form.
5

Save

Click Create Collection. The Collection Manager closes, the manifest is updated, and the new collection appears in the picker.
6

Add your first entry

Click + New Entry in the entry list and start filling in the form.

Option 3: Edit the Manifest Directly

For developers who want full control or are scripting setup.
1

Open hiveku.cms.json

Switch the right pane to Code and open hiveku.cms.json from the file tree.
2

Add a new entry to the collections array

Following the manifest schema:
{
  "id": "case-studies",
  "name": "Case Studies",
  "path": "content/case-studies",
  "format": "mdx",
  "slugFrom": "filename",
  "fields": [
    { "name": "title", "type": "string", "required": true },
    { "name": "client", "type": "string", "required": true },
    { "name": "industry", "type": "select", "options": ["SaaS", "Healthcare", "Finance", "Other"] },
    { "name": "summary", "type": "string", "multiline": true, "maxLength": 320 },
    { "name": "heroImage", "type": "image" },
    { "name": "publishedAt", "type": "date" },
    { "name": "body", "type": "markdown", "isBody": true }
  ],
  "routePattern": "/case-studies/{slug}",
  "defaultSort": "publishedAt desc"
}
Drop it inside the existing collections array.
3

Save the file

Cmd+S / Ctrl+S. The CMS panel reloads and validates the manifest. If anything is wrong (duplicate ID, invalid field type, missing isBody on MDX), you’ll see an error banner.
4

Create the directory

The CMS panel creates the directory automatically when you save the first entry. If you want it created up front, add an empty .gitkeep file:Right-click content/New Foldercase-studies → New File → .gitkeep
5

Add a sample entry

Either via the CMS panel (click + New Entry) or by creating a file directly. For an MDX collection:Right-click content/case-studies/New Fileacme-corp.mdx and paste:
---
title: "How Acme Corp doubled conversion"
client: "Acme Corp"
industry: "SaaS"
summary: "We helped Acme rebuild their checkout flow..."
publishedAt: "2026-04-01"
---

The full case study goes here in Markdown.

Verifying

After adding a collection through any path:
1

Check the collection picker

Open the CMS panel. The new collection should be in the picker.
2

Open the form for a new entry

Click + New Entry. Every field you defined should render with the right control.
3

Save a real entry

Fill in the required fields and save. Confirm the file appears in the file tree at the expected path.
4

Render it

If you set a routePattern, navigate the preview to that URL. If you also asked the AI (or wrote yourself) a page that reads this collection, the entry should render. If not, ask the AI: “Build the list and detail pages for the case-studies collection.”

Troubleshooting

The most common cause is a typo or duplicate id. The error banner in the CMS panel points at the offending collection. Fix in the code editor and save.
Two entries with the same slug can’t coexist in one collection. Rename one. If you’re using slugFrom: "field:title", picking a unique title resolves it.
Validation rejects this — body fields are only valid on MDX collections. Remove isBody: true from the field, or change the format to mdx.
Exactly one body field is allowed per MDX collection. Remove isBody: true from one of them.
id must be lowercase, alphanumeric, and hyphenated. Case Studies is invalid; case-studies is correct. Display names can be any string — that’s the name field.
A reference field’s collection value must match an existing collection’s id. Add the target collection first, or fix the reference.
Expected for a brand-new collection. Click + New Entry to add the first one.

What’s Next?

Field Types

Pick the right type for each field

References

Link collections together

Editing Content

Day-to-day editing in the CMS panel

Migrate to CMS

Pull existing hardcoded content into your new collection