open-source visual CMS · built for Astro

Edit the real site.
Keep the guardrails.

WiseWig gives agencies a live-page editing surface without turning customer sites into client-side page builders. Your team owns the components. Your customer edits the content you approve.

Start with the alpha
$pnpm wise-wig create site …
customer.site · editingWiseWig
Hero section
H1BI🔗+

Fresh sourdough,
baked daily.

Stone-milled flour, a 30-hour rise, and a crust worth the wait. Order before noon for same-day pickup.

Order nowSee the menu
image field — choose an approved asset

The visual is a product illustration. The edit-mode architecture and component controls are implemented in the Morning Bell example.

AstroReact overlayTypeScriptZodCloudflare WorkersD1 + Durable ObjectsR2
Features

A CMS boundary developers can reason about.

Opinionated where content safety matters, flexible where themes and hosting need room.

WYS

Edit on the real page

Editors work against the same Astro components and styles visitors see. Draft mode adds metadata and an overlay; it does not replace your site.

</>

Astro-first rendering

Anonymous traffic gets server-rendered, cacheable HTML. React loads for authorized editing and explicit interactive islands.

{ }

Schema-defined guardrails

Developers define fields, controls, variants, structural permissions, placement rules, defaults, and migrations.

Pages that stay in sync

Create, rename, reorder, and retire pages while navigation and redirects move through one validated atomic publish.

CF

Cloudflare reference host

D1 routes tenants, tenant Durable Objects serialize content writes, R2 stores assets, and Workers serve the edge.

Open and hostable

The framework is open source, Astro is the v1 renderer, and hosting stays behind explicit adapter contracts.

How it works

From scaffold to customer handoff.

1

Scaffold

Create the tested five-page reference inside the monorepo.

pnpm wise-wig create site …
2

Theme

Shape the developer-owned components and appearance without exposing arbitrary HTML.

pnpm wise-wig generate theme …
3

Edit and publish

Hand off constrained draft editing and explicit publication to the customer.

open /?__edit=1
One component path

Public HTML first. Editing only when invited.

A published request avoids authentication and draft storage. An authorized edit request receives the draft, safe metadata, and a React overlay mounted alongside server-rendered Astro.

3render modes
12built-in components
2required Workers
// one Astro renderer
<section
  data-edit-section={editable ? id : undefined}
  data-edit-type={editable ? "hero" : undefined}
>
  <h1>{props.heading}</h1>
</section>
FAQ

The honest alpha answers.

Is WiseWig ready for a production customer site?+

This is an alpha framework with a tested agency five-page workflow. The core rendering, editing, page lifecycle, media, authorization, and Cloudflare boundaries work; packaging and some management polish remain.

Does it rewrite my Astro components?+

No. The developer owns the theme and renderer. WiseWig persists structured content and renders it through the same components in published, preview, and edit modes.

Can editors break the layout?+

The component contract decides what can move, be removed, duplicated, changed, or selected. Arbitrary customer HTML, CSS classes, and JavaScript are outside the content model.

Can I self-host it?+

Yes. Cloudflare is the reference adapter, with a two-Worker core and optional plugin/MCP Workers. The runtime keeps host-specific storage behind interfaces.

Is there an npm create command?+

Not yet. The current CLI runs from this pnpm workspace. The getting-started guide uses the exact command that works today.

What you see is what you ship.

Try the tested scaffold, inspect the contracts, and tell us where the framework gets in your way.

Read the docsView on GitHub