wisewigdocs

Agency five-page workflow

This is the first post-alpha product gate: an agency developer can scaffold, theme, deploy, and hand off a complete five-page small-business site without defining a new framework component.

Acceptance path

  1. Run pnpm wise-wig create site examples/acme-services --title "Acme Services".
  2. Replace the schema-valid seed content in src/lib/site-content.ts. The scaffold includes Home, About, Services, Gallery, and Contact pages, five-item navigation, SEO descriptions, contact details, and a contact form.
  3. Customize the CSS custom properties and component styles in src/styles/global.css, or run generate theme and register/import the generated definition and CSS. Tailwind may consume the same variables but is not required.
  4. Run the generated site’s check and build scripts and the repository test gates.
  5. Run wise-wig cloudflare plan, prepare, and doctor with the core profile. Configure the reported resources and secrets; deploy the tenant workspace Worker before the Astro site Worker.
  6. Provision the tenant/site through the bearer-protected route, verify the production hostname, and authenticate the agency owner through the configured OAuth/OIDC provider.
  7. In /admin, create or duplicate pages from the Basic, Services, Gallery, and Contact layouts. Titles, SEO descriptions, slugs, order, and primary-navigation labels are guided fields; visual content remains editable on the rendered page.
  8. Publish page structure as one unit. Pages, navigation, and redirects share optimistic version checks and commit atomically, so a rename cannot expose stale navigation and a deletion cannot ship without its selected redirect.
  9. Invite the customer’s proven external identity as client-owner or client-editor. The customer uses the browser extension to enter the same production login flow, then edits draft content on the live site, previews, and publishes according to role.

The development extension handoff is localhost-only. It is useful for theme development, but it is not the production handoff mechanism.

Built-in catalog

The closed, tested catalog covers Hero, Content, Image + Text, Card Grid, Gallery, Testimonials, FAQ, Contact Details + typed map location, Form, Call to Action, Video/approved YouTube embed, and Download. Each definition owns its content schema, defaults, editor controls, variants, structure policy, and placement limits. The same Astro renderer serves published, preview, and edit modes.

The catalog supports text, links, images, repeatable cards/quotes/questions, business contact data and hours, map coordinates, forms, video, safe YouTube embeds, and attachment downloads. It intentionally does not accept arbitrary HTML, arbitrary iframe code, or editor-authored JavaScript.

Theme contract

Appearance and layout remain separate. Appearance is CSS-variable and implementation-neutral. Morning Bell contains morning-bell and market-day appearance profiles; the persisted theme ID becomes data-wise-wig-theme on the document shell, so a developer-owned theme package can ship another profile. Stable page IDs and section slotId values preserve content addresses. Layout changes use the existing migration report and explicit add/discard decisions.

The CLI generates a theme definition containing slots for every built-in marketing component. Theme discovery and a customer-facing theme switcher are not automatic yet; the developer must register/import a generated theme. This does not block delivering one agency-owned theme.

Handoff boundary

Handoff does not transfer infrastructure credentials. The agency retains host deployment access; the client receives a site-scoped role. Production authorization reloads D1 membership for the resolved hostname before draft access or mutations. Form submissions and other personal data remain private and never enter the public MCP/cache payload.

Known limits after this gate

  • Form notification delivery requires a host adapter. Validated submissions are stored privately in production and visible to authorized management users.
  • The gallery control selects existing uploaded media. A dedicated gallery uploader remains polish work.
  • Theme package auto-discovery, a signed theme catalog, and editor-driven layout migration UI remain later work.
  • The repository-local CLI still uses workspace:* dependencies. Publishing a standalone package is a separate distribution task.

These limits are explicit so “complete five-page site” means a deployable agency implementation with guided page management, not yet a fully packaged no-code self-serve builder.