Google Docs import
Import a Google Doc as a draft blog post or /info page via the existing Google OAuth connector (/admin/docs-import).
SEO/GEO Autopilot (Pro)
Measures search performance (GSC) and AI-citation share (GEO), proposes genome-field optimisations, and runs self-improving experiments — apply → measure → keep or revert. A Pro feature.
Google Drive import + backup
Import images from a configured Drive folder into MediaAsset/Vercel Blob, and send logical DB backups to Drive. Uses the shared Google Workspace OAuth2 connector.
AI next steps (orders)
Rule-based + optionally LLM-generated suggestions for the next action on an order (ship, follow up, refund, investigate flags).
Public MCP
An MCP server with a typed tool registry, Anthropic + Gemini wired in on day one. External agents discover and invoke shop operations natively — no integration tax, no bolted-on AI layer.
WebMCP (in-browser tools)
WebMCP brings agent tools into the browser tab (document.modelContext — W3C draft, Chrome origin-trial, ChatGPT's built-in browser): site-wide search_products / get_cart / same-origin navigate, CONTEXTUAL per-route tools (the product page registers add_current_product_to_cart with live variants and stock; the cart page registers update/remove and go_to_checkout; the catalogue page registers list_visible_products and filter_products), declarative form tools (site_search, contact_store, newsletter_signup — the forms themselves), and design packs can ship their own (crema's calculate_brew_ratio). A test-enforced moat keeps the browser surface cart/catalogue-only: no order-placing tool exists — checkout is deliberately tool-free and stays the human's.
Media library
Central MediaAsset library + ProductMedia join.
AEO product content
Answer-first product content: summary, FAQ, use cases, comparison + FAQPage JSON-LD + answer-first sections on the PDP. The fields are nullable/lossless; the flag gates UI visibility + JSON-LD.
Google Merchant feed
Google Shopping XML product feed at /feed/google.xml (reuses the catalog feed). Off → 404. The operator registers the URL in Merchant Center themselves.
IndexNow ping on publish
Tells the search engines that honour IndexNow (Bing, Yandex, Seznam, Naver — not Google, so the sitemap stays the main path) which product, page and blog-post URLs were created, updated, renamed (old and new URL), unpublished or deleted, the moment the write lands — every locale, after the response, never blocking or failing the write. Requires INDEXNOW_KEY in env; without it nothing is sent. The key is served at /.well-known/indexnow-key.txt (404 while off). Only a production deployment pings — never pnpm dev, localhost or a preview deploy — and never imports, sitepack restores or seeds.
hreflang alternates
hreflang alternates (per-locale + x-default) on PDP + category metadata via i18n/routing. Auto-empty on single-locale shops.
AI lead triage
Priority, summary and a draft reply for incoming contact inquiries, generated AFTER the response is sent (after()) — never on the visitor's critical path. Requires an Anthropic key; without it the triage is silently skipped. Shown in /admin/leads.
AI alt text
Gemini vision-generated alt text/caption/geoSnippet/colors on upload, async via the cron /api/cron/media-ai (gated on this flag). Edited in /admin/media.
Component registry (public)
A public, shadcn-compatible component registry: every catalogue section exposes its prop JSON-Schema so external AI agents and IDEs can discover and target Cartwright sections. The design system is a hub other tools can read, not a closed silo.
Look sharing (public remix)
Serves this shop's look as a cartwright-composition-v1 artifact on GET /api/look — cosmetic fields only (skin, palette, scene, chrome); copy overrides, voice identity and the homepage layout are never exposed. Adds a 'Remix this look' block to /built-with-cartwright. 404 when off.
Registry: ship component source
Sub-flag for the component registry: in addition to schema, also serve actual MIT-licensed TSX (+ local sibling deps) for a curated, self-contained subset of Studio atoms (installable shadcn source via `npx shadcn add`). The source is embedded at build time (scripts/build-registry-source.ts → lib/magic/registry-source.ts). Never proprietary/server-importing/third-party code.
Registry: install statistics
Anonymous install counting on the public component registry: every served registry item (section key or svg item) increments a per-item counter — ONLY the item slug, never IP/UA/visitor data. Fire-and-forget (never blocks/fails the registry response); off ⇒ zero counter reads/writes. Read sorted at /admin/registry-stats + GET /api/admin/registry-stats. Run `pnpm db:push` (RegistryHit model) before enabling.