1 GitHub star = 1 new component.

Star the repo
Full templates

E-commerce 2 · Editorial

A magazine-style store for fashion and objects: serif type, square corners, a dedicated bag page.

Forma Studio is the second e-commerce template and deliberately different from the first: an editorial layout with oversized serif headlines, a terracotta accent, thin rules and numbered indexes. Shoppers browse with a horizontal filter bar, add sizes straight from the grid, see a shoppable lookbook and review everything on a full bag page before a split-screen checkout. Every block is a section in the library, so you can drop the header, hero, product rail or lookbook into any site — in light or dark mode.

5 pages 16 components 0 deps

Live preview

Pages

Every page is a real, interactive preview — the cart is shared between them.

Home

Magazine hero, collection mosaic, new-in rail, shoppable lookbook, values, reviews and newsletter.

src/pages/index.astro

Shop / category

Category hero, sticky filter bar with refine panel and an editorial grid with quick add.

src/pages/shop.astro

Product

Stacked images, sticky info with colour and size, stock notice, care notes and "Complete the look".

src/pages/product/[slug].astro

Bag

Full bag page with quantities, gift note, free-shipping progress and summary.

src/pages/bag.astro

Checkout

Split-screen checkout with the form on paper and a tinted order-summary panel.

src/pages/checkout.astro

What is included

  • Editorial design: serif display type, square corners, terracotta accent
  • Light mode by default, dark mode with a toggle
  • Dedicated bag page with gift note and free-shipping progress
  • Quick-add sizes from the grid + horizontal filter bar
  • Shoppable lookbook with hotspots
  • 10 reusable sections in Sections → E-commerce

Install & use

  1. Install the package

    bash
    npm install astro-component-kit
    npm install astro-component-kit
  2. Create one Astro page per template page

    src/pages/index.astro

    astro
    ---
    import { EditorialHomePage } from 'astro-component-kit/templates/ecommerce-editorial';
    ---
    
    <EditorialHomePage theme="light" />
    --- import { EditorialHomePage } from 'astro-component-kit/templates/ecommerce-editorial'; --- <EditorialHomePage theme="light" />

    src/pages/shop.astro

    astro
    ---
    import { EditorialShopPage } from 'astro-component-kit/templates/ecommerce-editorial';
    ---
    
    <EditorialShopPage />
    --- import { EditorialShopPage } from 'astro-component-kit/templates/ecommerce-editorial'; --- <EditorialShopPage />

    src/pages/product/[slug].astro

    astro
    ---
    import { EditorialProductPage, formaStore } from 'astro-component-kit/templates/ecommerce-editorial';
    
    export function getStaticPaths() {
      return formaStore.products.map((p) => ({ params: { slug: p.slug } }));
    }
    ---
    
    <EditorialProductPage slug={Astro.params.slug} />
    --- import { EditorialProductPage, formaStore } from 'astro-component-kit/templates/ecommerce-editorial'; export function getStaticPaths() { return formaStore.products.map((p) => ({ params: { slug: p.slug } })); } --- <EditorialProductPage slug={Astro.params.slug} />

    src/pages/bag.astro

    astro
    ---
    import { EditorialBagPage } from 'astro-component-kit/templates/ecommerce-editorial';
    ---
    
    <EditorialBagPage />
    --- import { EditorialBagPage } from 'astro-component-kit/templates/ecommerce-editorial'; --- <EditorialBagPage />

    src/pages/checkout.astro

    astro
    ---
    import { EditorialCheckoutPage } from 'astro-component-kit/templates/ecommerce-editorial';
    ---
    
    <EditorialCheckoutPage />
    --- import { EditorialCheckoutPage } from 'astro-component-kit/templates/ecommerce-editorial'; --- <EditorialCheckoutPage />
  3. Use your own catalogue, currency and routes

    Spread the demo store and replace what you need. Products accept a real image or one of 16 built-in illustrations.

    astro
    ---
    // src/pages/index.astro — same store + routes on every page
    import { EditorialHomePage, formaStore, type EditorialStore } from 'astro-component-kit/templates/ecommerce-editorial';
    
    const store: EditorialStore = {
      ...formaStore,
      name: 'Atelier',
      currency: 'USD',
      locale: 'en-US',
      cartKey: 'atelier-bag',
    };
    ---
    
    <EditorialHomePage
      store={store}
      theme="auto"
      routes={{ home: '/', shop: '/shop/', product: '/product/', bag: '/bag/', checkout: '/checkout/' }}
    />
    --- // src/pages/index.astro — same store + routes on every page import { EditorialHomePage, formaStore, type EditorialStore } from 'astro-component-kit/templates/ecommerce-editorial'; const store: EditorialStore = { ...formaStore, name: 'Atelier', currency: 'USD', locale: 'en-US', cartKey: 'atelier-bag', }; --- <EditorialHomePage store={store} theme="auto" routes={{ home: '/', shop: '/shop/', product: '/product/', bag: '/bag/', checkout: '/checkout/' }} />

New sections 10

Full-width blocks of this template, available in Sections. Open any of them to see it on its own page with code.

Section

Shop Header Editorial

Editorial store header: announcement line, centred wordmark, mega menu with feature tile, theme toggle and live bag count.

Section

Shop Hero Editorial

Magazine-style shop hero with oversized serif headline, italic accent word, issue meta, feature image with caption and a running ticker.

Section

Shop Product Rail

Scroll-snapping product carousel of minimal product cards with numbering, prev/next buttons and a progress line.

Section

Shop Lookbook

"Shop the look" image with numbered hotspots that open product cards with add-to-bag, mirrored by an accessible product list.

Section

Shop Values Marquee

Brand promise band: oversized italic marquee followed by numbered value columns.

Section

Shop Reviews Editorial

Large serif customer quotes, one at a time, with product context, numbered pager and overall score.

Section

Shop Newsletter Editorial

Oversized editorial sign-up with underline email field, consent note and inline validation.

Section

Shop Category Hero

Catalogue header with breadcrumb, oversized category title and count, intro, sub-category links and an image strip.

New e-commerce components 3

Built for this template and available on their own in the library.

Component

Product Card Minimal

Editorial product card: tall media that swaps view on hover, quick-add sizes, name, price and colour count.

Component

Filter Bar

Horizontal catalogue toolbar with category chips, a refine panel (price, colour, stock), sort and live count.

Component

Cart Page List

Full shopping-bag page: line items with quantity and remove, gift note, free-shipping progress and checkout summary.

Reused library components

Existing components the template is assembled from.