Skip to main content

What is PlugStore?

PlugStore is a turnkey catalog and e-commerce framework for React. One command gives you a complete storefront — routing, product grid, filters, search, cart, wishlist, comparison, checkout, account pages, PWA and SEO — that you then shape into the brand you need.

It is not a component library you assemble a store from. It is the store, with every part exposed so you can replace any of it.

npm create plug-store my-store

The three packages​

Everything is published under the Apache-2.0 license. All three release together on the same version number.

PackageWhat it is
@neverleans-labs/plug-store-coreThe framework: CatalogApp, providers, contexts, hooks, pages, components, checkout and PWA.
@neverleans-labs/plug-store-themesThe 50 industry themes and the defineTheme helper for custom brands.
create-plug-storeThe CLI that scaffolds a configured project.

Two ways to use it​

Turnkey. Render <CatalogApp />, pass a config object, and you have a working store. This is what the CLI generates.

import { CatalogApp } from '@neverleans-labs/plug-store-core';
import '@neverleans-labs/plug-store-core/dist/index.css';

export default function App() {
return (
<CatalogApp
defaultTheme="beauty"
config={{ companyName: 'Bloom Cosmetics', currency: 'BRL' }}
/>
);
}

Headless. Wrap your own UI in <CatalogProvider /> and consume the contexts and hooks directly — useCart, useCheckout, useCatalogData, useTheme. You get the state machine and the payment adapters without any of the layout.

See Architecture for how the two relate.

What makes it different​

  • 50 themes that are actually different. Each one carries its own palette, typography, hero layout, card style and copy. The coffee store does not read like the electronics store.
  • Pix that scans. The checkout emits a real EMV/BCB BR Code with the mandated CRC-16 checksum, so a Brazilian banking app resolves it to your key. See Pix payments.
  • WhatsApp checkout. For the very large number of small Brazilian stores that close orders in chat, an order becomes a pre-filled WhatsApp message.
  • Your backend, not ours. A data provider is five async functions. Point the storefront at REST, Supabase, Firebase, Prisma or GraphQL.

The Brazilian half of that list is the part global frameworks do not bother with. Built for Brazil sets out exactly what is in the box and where it stops.

When not to use PlugStore​

Being honest about this saves you a week:

  • You need a full ERP or marketplace. PlugStore is a storefront. It has no inventory reconciliation, no multi-vendor payouts, no fiscal document generation.
  • You need server-side rendering for SEO at scale. PlugStore is a client-side React SPA. It emits correct JSON-LD and meta tags, and that is enough for most catalogs, but if organic search is your primary acquisition channel at thousands of SKUs, reach for a Next.js commerce starter instead.
  • You need automatic payment confirmation. The bundled Pix flow is static: it creates a valid payment request but nothing tells your app that the money arrived. Reconciliation needs a PSP integration, which you supply through the adapter interface.
  • You want a headless UI kit. If you only want unstyled primitives, use Radix or shadcn/ui directly — PlugStore is opinionated about the storefront.

License and the paid layer​

The core framework, the CLI, all 50 themes, the data providers, the checkout (Pix included) and the PWA engine are Apache-2.0, permanently. Everything documented on this site ships free.

A separate commercial layer for agencies is being explored — maintained integrations and operational tooling, not paywalled components. Nothing described in these docs depends on it.

"Maintained" is a word every project uses, so it is written down here as checks you can run rather than a promise: see How this is maintained, failures included.

If one of the walls above is what stands between you and a live store, say which one. We are mapping which ones people actually hit before building anything.

Next​