@quickbutik/kit is Quickbutik’s bring-your-own-frontend SDK. With it you can build the storefront in whatever you like: Next.js, Astro, Vue, Svelte, a plain HTML page, or a page in a site builder. Quickbutik is the commerce engine behind it: products, stock, the cart, the hosted checkout, orders, receipts, VAT and bookkeeping.
Everything runs on a single publishable key (qb_pk_…) that is safe to ship to a browser. The package is MIT-licensed and on public npm, has no runtime dependencies, and runs the same way on a server and in a browser.
How a sale works
What the kit is, and what it is not
It is
The catalog (products, search, variants, categories, shop branding), a server-owned cart, the checkout handoff and order confirmation for the thank-you page. It also remembers the small bits of state every storefront needs (the cart id, the checkout session and the shopper’s currency), handles cookie consent and the shop’s analytics, and prices everything in the shopper’s currency when the shop offers more than one.
It is not
A payment integration (the hosted checkout owns the payment providers, PCI scope, 3-D Secure and wallets), a data-fetching library, or a UI kit. The React and web components render no markup of their own, so you own all of the DOM and all of the styling.
<ProductImage /> / <qb-product-image> (one <img>), the embedded checkout’s <iframe>, <qb-currency-select>’s <select> when you give it no markup, and the default cookie consent banner, which renders only when you don’t provide your own.
Two keys, two channels
Keeping these two apart is the most important rule when building on Quickbutik.
The publishable key reads the visible catalog, runs carts and opens the hosted checkout. It can’t read orders, change products or take payment. The kit refuses a
qb_pat_ key outright, so it can’t end up in a browser bundle by accident. Read more in Publishable keys.
Entry points
The kit has four entry points over one framework-free core, plus a script-tag build:Pick your flavour
Pick one flavour for each page, based on your stack. Don’t mix the React layer and the elements on the same page, because you’d end up with two cart stores.Script tag
Plain HTML, Webflow, WordPress or a CMS theme. You add one
<script> tag plus markup, and write no JavaScript of your own.Web components
Vue, Svelte, Astro, Nuxt or a Vite project without React.
@quickbutik/kit/elements.React
React, Next.js, Remix, TanStack Start. Provider, hooks and headless components from
@quickbutik/kit/react.Vanilla JS
Your own rendering, or a server (Node, Hono, Workers, Astro endpoints). The client from
@quickbutik/kit.Building with an AI agent
If you build with an AI coding agent (Claude Code, Cursor, Lovable, v0, Replit and others), point it at quickbutik.com/agents.md. It is the agent-facing source of truth for building on Quickbutik. It covers creating a shop, the storefront kit, the Storefront and Merchant APIs, and going live. Add two lines like these to the project’sAGENTS.md or CLAUDE.md:
Next steps
Quickstart
A catalog, a cart and a checkout in five minutes.
Checkout flow
The handoff, the
successUrl rules and the thank-you page.