External storefronts

Give an LLM the UIKit storefront skill to adapt the built-in experience or create a separate client.

To create a custom UIKit storefront, copy the skill and give it to your LLM. The skill will explain how features/storefront and the customer-facing app routes implement UIKit's current experience.

After that source orientation, it will ask what you dislike, what should stay, what workflows and users matter, and what the replacement should look and feel like. It then traces the exact routes, feature slices, GraphQL calls, schema, access rules, sessions, and provider boundaries in the supplied UIKit codebase before proposing work.

Skill file: /skills/openfront-uikit-custom-storefront/SKILL.md

Current storefront routes

Routes live under app/(storefront)/. Screens live in features/storefront/screens, data loaders in features/storefront/lib, and sign-in forms in features/storefront/auth.

RouteCustomer journeyMain calls
/Home: studio name, about, component list. Shows a "not configured" page until brand settings existPublicBrand, StorefrontKitProducts
/componentsCatalog of active, visible products (up to 24)StorefrontKitProducts
/components/[slug]Detail: files (locked if paid and not owned), usage examples, screenshots, compatibility, changelog, install commandgetResolvedRegistryManifest (server-side, reads the stable release and access summary)
/components/[slug]/checkoutUnlock a free item or pay with Stripe or PayPal; on return, completes the orderStorefrontCreateKitCheckoutSession, StorefrontCompleteKitOrder
/kits, /kits/[slug], /kits/[slug]/checkoutRedirect to the matching /components route, keeping query paramsnone
/docs/registryHow to use the registry and CLInone
/accountName, email, and owned products; redirects to sign in when signed outAccountViewer, RegistryViewerAccessSummary
/account/signin, /account/signup, /account/resetSign in, create an account, reset passwordSignInAccount, CreateCustomerAccount, RequestCustomerPasswordReset, ResetCustomerPassword
/account/tokenCreate and revoke registry API keys (token shown once)RegistryApiKeysPage, RegistryAccessSummaryPage, CreateRegistryApiKey, RevokeRegistryApiKey

Non-page routes in the storefront group:

RoutePurpose
/r/registry.jsonshadcn registry index for the catalog
/r/<code>.jsonStable release manifest for one item. Accepts ?version= and ?includeLockedMetadata=1
/openfront-ui.jsDownloads the registry CLI with an X-Openfront-CLI-SHA256 header

Other public endpoints: /api/registry/<code> (same manifest service as /r/<code>.json), /api/payment-providers/<providerCode>/webhook, and /api/validation-artifacts/<validationId>/screenshots/<name> (only for passed validations of stable releases).

/v1, /v2, and /v2/components/* redirect permanently to / and /components.

Journey boundaries

  • Checkout needs a signed-in user. Guests are sent to sign in or create an account.
  • Only providers with full env configuration appear at checkout. Manual payment is never offered to customers.
  • Registry requests authenticate with Authorization: Bearer <token> or x-openfront-token, or fall back to the browser session. Without access, paid items return 401 or 402 with public metadata and next links.
  • A product without a stable release with a manifest hash cannot be checked out.
  • There is no cart. Each checkout is for one product.

On this page