Opening the CMS Panel
1
Open your project in /v3
From the dashboard, click your project to open it in the editor.
2
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.3
Pick a collection
The collections rail on the left of the panel lists every collection from the manifest. Click one to load its entries.
The Collections Rail
The left rail lists every collection declared in your manifest, with a live entry count beside each. Collections that share agroup label in the manifest cluster together under a header — handy for projects with many collections (“Marketing”, “Pages”, “Settings”).
At the bottom of the rail sit two non-collection destinations:
- Assets — the project’s media library: every image and file uploaded through the CMS, browsable and reusable
- Manage collections (gear icon) — opens the Collection Manager for editing the manifest itself: add collections from presets, build fields visually, reorder and configure them. See Collections.
The Entries Table
Picking a collection opens its entries as a real table:- Search — filters the loaded page of entries as you type
- Status chips — All / Draft / Published / Scheduled / Archived filter the list by derived status, server-side
- Filters — a disclosure with per-field filter controls
- Columns — a column picker popover: check which fields appear as columns, drag to reorder them, and switch row density. Built-in columns include Status, Slug, Updated, and (for routed collections) URL
- Sort — defaults to the manifest’s
defaultSort; click any sortable column header to change it - Pagination — 25 / 50 / 100 entries per page, with true server-side page counts
- List / tree toggle — collections that declare a hierarchy can render as a tree
- + New entry — opens a fresh form
Entry Statuses
Every entry shows one derived status badge, computed from the entry’s publish fields (status, published, archived, publishAt):
The same truth table drives the site itself, the entries table, and the entry editor — the badge never disagrees with what your site renders.
The Entry Editor
Click an entry to open it. 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 inputmarkdown→ split-pane editor with live previewimage→ drop-zone with media library pickerselect→ dropdownarray→ reorderable list (galleries and repeaters included)reference→ searchable picker
Cmd+Z / Cmd+Shift+Z undo and redo within the form, and Cmd+K opens search.
Drafts and Autosave
You never lose work in the entry editor, and you never accidentally publish it either:- As you type, changes autosave into a private draft copy of the entry — the quiet line under the status pill reads “Saving draft…” then “Draft saved 7:41 PM”.
- The live entry (and your site) don’t change until you Save or Publish, which apply the draft.
- A published entry with pending draft edits shows the amber dot on its badge, plus Publish draft and Discard draft actions in the sidebar.
- If someone else changed the entry while you were editing, the panel says so and lets you reload or retry — it never silently overwrites their work.
Validation
Validation runs in two passes:- Client-side — required fields, length limits, patterns. Errors appear inline as you type.
- Server-side — manifest-aware checks (reference target exists, slug is unique within the collection). Returned with field-level messages on save.
Live Preview Sync
As you type, the preview pane updates in near real time (changes are debounced by a fraction of a second).The Entry Details Sidebar
To the right of the form sits the Entry details sidebar — one place for the entry’s status and everything that acts on it.Status and Actions
The status pill at the top is live — a staged change moves it immediately. Beneath it are exactly the actions that make sense for the current state:Deploy State
Publishing writes to your project files; your live site updates on the next deploy. The sidebar’s Deploy state section keeps that honest:- Rows for Production, Staging, and Dev show when each environment last deployed relative to your content edits.
- When published content hasn’t shipped yet, an amber card reads “Published changes aren’t live yet” with a one-click Deploy button.
Everything Else in the Sidebar
- Schedule annotation — when the entry has a pending schedule: when it fires, where it deploys, and any failure from the last attempt
- Slug — with a rename action that keeps references intact
- File and URL — the entry’s file path and, for routed collections, an Open on the preview site link
- Referenced by — entries in other collections that point at this one, each a click away
- History and Activity — this entry’s version history, and the project-wide CMS activity log
Version History
Every save creates a version. Click History in the entry sidebar:1
Browse versions
A drawer lists versions chronologically — most recent first, each with its timestamp and author.
2
Compare or restore
Click any version to see it as a diff against the current content. Click Restore this version to bring its content back into the form.
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 Assets library showing every previously uploaded file
/uploads/2026/08/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. If the entry you need doesn’t exist yet, you can create it inline without leaving the form.
Multi-references (an array of references) show the picked entries as removable chips. Collections with a declared hierarchy get cascading pickers that walk the chain (State → City → Service).
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 reports a validation error
Save reports a validation error
Check the validation summary at the top of the form — it lists each failing field, and clicking an item jumps to it. Common causes are missing required fields, a slug conflict with another entry, or a reference pointing at an entry that no longer exists.
I published, but the live site hasn't changed
I published, but the live site hasn't changed
Publishing marks the entry live in your project files; the live site updates on the next deploy. Check the sidebar’s Deploy state section — if it shows “Published changes aren’t live yet,” click Deploy.
Live preview doesn't update
Live preview doesn't update
The collection might not have a
routePattern, or the preview is on a different page. Use the sidebar’s Open on the preview site link to navigate the preview to this entry’s route.An image won't upload
An image won't upload
Check the field’s validation rules and your project’s media quota. Very large files 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 history until you’ve saved it at least twice — the drawer shows what came before the current state.
What’s Next?
Scheduled Publishing
Publish at a future time, with an automatic deploy
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