wisewigdocs

WiseWig overview

WiseWig is an Astro-first CMS framework for agencies and developers building small-business sites. The public site is server-rendered HTML that can be edge cached. An authenticated editor sees that same page rendered from draft content with a small React overlay added beside it. There is one component implementation per feature, not separate public and editable components.

The mental model

ConceptWhat it owns
SiteA customer-facing hostname, pages, settings, navigation, forms, redirects, media, and a selected developer-owned theme.
PageA stable ID, one-segment route slug, title, SEO description, and a typed document of sections. The empty slug is the protected home page.
ComponentA developer-defined, schema-validated section type: its content fields, defaults, editor controls, approved variants, and structural/placement limits.
ThemeAppearance tokens and layout slots. Themes style and arrange components; customer content does not contain arbitrary CSS or HTML.
Draft and published stateEditors change drafts. A confirmed publish makes a version public. Published requests do not load editor metadata or perform authentication work.
Editor overlayReact UI for selection, inline fields, asset pickers, structural commands, save state, undo, and publishing. It does not hydrate the whole site.
Hosting adapterThe implementation of persistence and deployment. Cloudflare is the reference adapter: D1 controls tenants/domains, a tenant Durable Object serializes writes, and R2 stores asset bytes.

Editing boundaries

The component developer, not a page editor, decides the allowed changes:

  • Content — schema-defined property values such as heading, image, FAQ items, or a link.
  • Presentation — named variant choices such as left, center, or split.
  • Structure — whether an instance can move, be removed, or be duplicated, plus instance limits.
  • Placement — regions and limits in which the component may appear.

WiseWig does not persist arbitrary rendered HTML, arbitrary iframe code, arbitrary classes, or editor-authored JavaScript. The public and private MCP services follow the same boundary: public tools see public content only; engagement and personal data are private, permission-gated tools.

Rendering modes

ModeContentCache policyEditor UI
publishedPublished snapshotPublic edge cacheNone
previewDraft snapshotprivate, no-storeNone or minimal controls
editDraft snapshotprivate, no-storeReact overlay and edit metadata

?__edit=1 is only a request for edit mode; it never grants a role. The server validates the session and site permission before it loads a draft or accepts a mutation.

What is concrete today

The tested reference site supports twelve marketing components: Hero, Content, Image + Text, Card Grid, Gallery, Testimonials, FAQ, Contact Details, Form, Call to Action, Video/approved YouTube embed, and Download. The management UI supports page templates, routing, SEO, primary navigation synchronization, redirects, and atomic publish of that page-routing bundle.

Start with Getting started, then use the component interface reference when you need custom behavior. For the agency handoff/deployment path, see Agency five-page workflow.