Opening the CMS Panel
Open your project in /v3
From the dashboard, click your project to open it in the editor.
Switch the right pane to CMS
The right pane has three modes — Preview, Code, and CMS. Click CMS in the pane header.
If your project doesn’t have a manifest yet, the panel shows an Initialize CMS button. Click it to scaffold
hiveku.cms.json with a default blog collection. See Initialize Your CMS for details.The Collection Picker
The collection picker shows every collection declared in your manifest, in the order they appear there. Each row shows:- The collection’s
name - The number of entries (cached, refreshes on every save)
- An icon based on the format — page icon for MDX, list icon for JSON
The Entry List
Once you pick a collection, the panel shows the entry list:- Search — full-text search across all string and markdown fields
- Status filter — if your collection has a
statusfield withdraft/publishedoptions, the filter bar shows tabs for each - Sort — defaults to
defaultSortfrom the manifest; click any column header to sort by it - Pagination — 50 entries per page, scrollable
- + New entry — opens a fresh form
- Bulk actions — select multiple entries with checkboxes for delete, status change, or export
The Form Editor
Click an entry to open the form editor. This is the bulk of where you’ll spend time. The form is generated from the manifest’s field definitions — there’s no separate form template to maintain. Each field type renders a dedicated control:string→ text input or textareamarkdown→ split-pane editor with live previewimage→ drop-zone with media library pickerselect→ dropdownarray→ reorderable listreference→ searchable picker
Live Preview Sync
As you type, the preview pane updates in real time. The CMS panel debounces changes by ~400ms before pushing them to the preview iframe, so you get fast feedback without overwhelming the build.Validation
Validation runs in two passes:- Client-side — required fields, max length, regex pattern, URL syntax. Errors appear inline as you type.
- Server-side — manifest-aware checks (reference target exists, slug is unique within the collection, file path is writable). Returned as a 422 with field-level error messages on save.
Saving
Click Save (or hitCmd+S / Ctrl+S) to write the entry to disk. Saves are atomic — either the whole entry writes or none of it does. After save:
- The entry list refreshes
- A new version is pushed to
builder_code_versionswith a snapshot of the file - Webhooks fire (if any are configured for
entry.updated) - The preview iframe refreshes if it’s pointed at this entry’s route
Version History
Every save creates a version. Open the version history drawer from the form’s three-dot menu:Open Version History
A drawer slides in from the right with a chronological list of versions — most recent at the top. Each version shows the saved-at timestamp and the author.
Bulk Actions
Select multiple entries from the list with the checkboxes at the left. The bulk actions bar appears at the top with:- Delete — removes the selected files (with confirmation)
- Set status — for collections with a
statusfield, change all selected entries at once - Export — download selected entries as JSON
- Move — change the slug pattern for several entries (advanced; useful for re-categorizing)
Image and File Upload
Theimage and file field controls support:
- Drag-and-drop from your file system
- Paste from clipboard (image only)
- Click-to-browse
- “Choose existing” — opens the media library showing every previously-uploaded asset
/uploads/2026/04/hero.jpg.
References Picker
Areference field renders as a search box that opens a popup with the target collection’s entries. Type to filter; click to select.
For multi-references (multiple: true), you can pick several entries; they show as removable chips above the picker.
The picker shows the displayField from the manifest if set, otherwise falls back to the entry’s title or name.
Search and Filter
The search box at the top of the entry list runs full-text search across:- All
stringfields - All
markdownfields (matches body content too) - The slug
- Status filter — if
statusis a select with draft/published - Tag filter — if
tagsis an array of strings, click any tag chip in an entry preview to filter by it - Date range — if there’s a date field with
defaultSort
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Cmd+S / Ctrl+S | Save the current entry |
Cmd+K / Ctrl+K | Open the search box |
Cmd+N / Ctrl+N | Create a new entry |
Esc | Close the form, return to the entry list |
Cmd+Shift+H / Ctrl+Shift+H | Toggle version history drawer |
Troubleshooting
The CMS panel is empty / says 'No manifest found'
The CMS panel is empty / says 'No manifest found'
Your project doesn’t have
hiveku.cms.json yet. Click Initialize CMS to scaffold it, or follow Initialize Your CMS.Save returns a 422 error
Save returns a 422 error
Server-side validation failed. Check the red banner at the top of the form for the specific field and reason — common ones are missing required fields, slug conflicts with another entry, or a reference pointing at an entry that no longer exists.
Live preview doesn't update
Live preview doesn't update
The collection might not have a
routePattern, or the preview iframe is pointed at a different page. Click the entry’s slug under the form title to navigate the preview to that entry’s route.Bulk delete didn't remove from the live site
Bulk delete didn't remove from the live site
Saving in the CMS panel writes to the project files. Your live site only reflects the change after the next deploy. Click Deploy in the top bar to push.
An image won't upload
An image won't upload
Check the
accept rule on the field (some image fields restrict to specific MIME types) and your project’s media quota. Images larger than 25 MB are rejected by default.Version history is empty for an entry
Version history is empty for an entry
Versions are captured per save. A brand-new entry won’t have a history until you save it at least twice. The current state is implicit; the drawer shows what came before.
What’s Next?
Bulk Import
Import many entries at once from CSV or JSON
Field Types
See every form control in detail
References
Link collections with the references picker
Migrate to CMS
Bring hardcoded content into the CMS panel