webhouse.appwebhouse.appdocs

Export a complete site as a portable .beam archive and import it elsewhere. Content, settings, schema, agents, media manifests — everything except uploaded binaries.

Where it is

Settings → Beam (/admin/settings?tab=beam).

A beam is a single-file archive of a complete @webhouse/cms site. Think of it like a git bundle for CMS state: portable, reproducible, and useful for moving a site between environments or sharing a site template with a collaborator.

What goes in a beam

  • Content — every document JSON file (content/*/.json)
  • Site configcms.config.ts (as text)
  • Settings_data/site-config.json, backups config, deploy config (secrets redacted)
  • Schema — generated webhouse-schema.json
  • Agents_data/agents/ (prompts, budgets, locale config)
  • Brand voice_data/brand-voice.json + locale caches
  • Team_data/team.json (member list; not password hashes — those live on the account, not the site)
  • Event log — last 500 entries
  • Media manifest — filenames + EXIF + AI-analysis for every media asset

What's NOT in a beam

  • Uploaded binaries — images, videos, PDFs stay where they are. A beam references them; it doesn't embed them. Export media separately if you need to move a site to a new host
  • Node modules — the target environment has its own
  • Secrets — API keys, passwords, webhook signing secrets are redacted to REDACTED_BY_BEAM. You re-enter them on import
  • Generated build outputdist/, .next/, public/uploads/*-400w.webp

Exporting

Click Export site as .beam. The CMS generates a signed archive and streams it to you as {site-id}-{YYYY-MM-DD}-{short-hash}.beam. Size is usually 50 KB – 5 MB depending on content.

The beam is signed so later imports can verify it wasn't tampered with. The signing key is site-specific; swap the site and the signature breaks, which is what you want.

Importing

Two entry points:

  1. This tab — import into this site. Overwrites current content, config, settings. Backs up the existing state to a timestamped folder first (safety net).
  2. /admin/sites/new → Beam tab — create a new site from a beam. Lets you rename the site, change the organization, keep or regenerate the schema.

On import the CMS:

  1. Verifies the archive signature
  2. Backs up the current state (if importing into an existing site)
  3. Writes content + config + settings to disk
  4. Re-registers the site in the registry
  5. Prompts you to paste redacted secrets (API keys) before first deploy

Use cases

  • Migrate from dev to prod — export from the dev machine, import to the production host
  • Template a site — build a showcase site, beam it, share with a client to seed their own site
  • Time-travel — keep a rolling set of beams as a coarse-grained backup over full snapshots
  • Collaborator handoff — "here's a beam, spin up a fresh site from it"

Relationship to backups

Backups (Settings → Backup) store incremental snapshots with cloud sync. Beams are one-shot, full-site portable archives meant to be moved.

Use caseUse
Daily safety netBackup
Restore this site to a previous dateBackup
Move to a new host / accountBeam
Hand off to a collaboratorBeam
Clone a template siteBeam
Tags:MigrationBackupArchitecture
Previous
GEO settings
Next
AI Prompts settings
JSON API →Edit on GitHub →