Astro static generation: public pages are pre-rendered HTML, while interactions like the cart are implemented as Preact islands
kujera-furniture-starter — Astro Ecommerce Template
By faruqso
An Astro-based furniture e-commerce storefront starter template that uses design tokens and Decap CMS to manage content, including product listings, detail pages, and a localStorage-based demo cart.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
CSS design tokens are centralized in tokens.css, allowing colors, fonts, spacing, and shadows to be replaced wholesale
Decap CMS manages pages, products, and collections via Git, with the admin entry at /admin
Provides product listing, product detail, and a localStorage-based demo cart
Page sections are composable, including Hero, Best Selling, Testimonials, About gallery, and more
Brand name, navigation, footer, SEO, and currency are configured centrally in settings.json
Template Details
This is an open-source storefront starter template for furniture e-commerce, built with Astro to generate static pages and using Decap CMS for Git-based content management. The repository provides product collections, a product listing page (PLP), a product detail page (PDP), and a demo cart that persists state in localStorage. The cart drawer is implemented as a Preact island, while the remaining pages are pre-rendered static HTML.
The design system is driven by CSS design tokens in src/styles/tokens.css, where colors, fonts, spacing, and shadows are centralized. Site-level configuration such as brand name, navigation, footer, SEO, and currency is located in src/content/site/settings.json. Page sections are provided as composable components, including Hero, Why Choosing Us, Best Selling, Testimonials, and About gallery.
Content is organized by type in directories: pages as Markdown, products and collections as JSON, and site settings as JSON. The CMS admin is at /admin, and the repository includes Decap collection schemas and a local backend script. You must connect your own fork according to docs/decap-setup.md before content can be saved. The template does not include real payment, inventory, or order systems; the cart is for demonstration only.
Is it right for your project?
Use Cases
- Building a static showcase site for a furniture or home goods e-commerce storefront
- Quickly replacing brand visuals and typography based on design tokens
- Using Decap CMS to let non-technical editors maintain product and page content
- Serving as a reference project for a hybrid architecture of Astro static sites and Preact islands
Suitable For
- Developers who need a furniture e-commerce storefront starting point and are willing to integrate payment and backend themselves
- Teams that want to manage product and page content with a Git-based CMS
- Frontend projects that want to control the site's visual style uniformly through design tokens
- Developers who primarily use Astro and accept a static generation approach
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run npm install and npm run dev; the development server runs on port 4321 by default
- 2
Modify brand and site information in src/styles/tokens.css and src/content/site/settings.json
- 3
The /admin backend requires connecting your own fork according to docs/decap-setup.md; to save content locally, run npm run cms
- 4
When deploying to Vercel, set SITE_URL to the production domain for canonical and OG tags
- 5
Third-party assets such as demo images, fonts, and icons must be checked individually against their respective licenses
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.
Must comply with when using
- You are allowed to use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The CMS admin at /admin cannot save content by default; you must first connect your own fork according to docs/decap-setup.md and complete configuration. To save content locally, you also need to run npm run cms to start the Decap local backend.
- When using the CMS to save content locally, you must additionally run the npm run cms command to start the Decap local backend; otherwise /admin can only be browsed and cannot save.
- When deploying to platforms such as Vercel, you must set the environment variable SITE_URL to the production domain yourself; otherwise canonical and OG tags will not point to the correct address.
- The cart is only a demo implementation based on localStorage and does not include real payment, inventory, or order systems; it cannot be used directly for actual transactions.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; you cannot judge based solely on the code's MIT license.
- External services such as domains, hosting, databases, payment, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
fork + setup to enable saves (see [Decap setup](docs/decap-setup.md))
Original README
run `npm run cms` locally for saves
Original README
Set `SITE_URL` to your production domain for canonical and OG tags.
Original README
https://github.com/faruqso/kujera-furniture-starter/blob/main/LICENSEhttps://github.com/faruqso/kujera-furniture-starter/blob/main/README.mda demo cart with localStorage
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 85 / 100
- Technologies
- Astro
- Website type
- E-commerce · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-06-30
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 6fb32faee6de66b9b54c1a5f72ff10cce55357cf857855542280ed3a7e1cc91b
2026-10-02T19:48:49.252Z
Source file / repository# Kujera Furniture Starter
An open-source furniture ecommerce starter built with **Astro**, **Decap CMS**, and a **token-driven design system**. Fork it, rebrand it, and launch your own storefront in minutes.
**Live demo:** [kujera-furniture-starter.vercel.app](https://kujera-furniture-starter.vercel.app)
## Features
- **CMS-driven pages** — browse the admin demo at `/admin`; fork + setup to enable saves (see [Decap setup](docs/decap-setup.md))
- **Product catalog** — collections, PLP, PDP, and a demo cart with localStorage
- **Design system** — rebrand the entire site by editing `src/styles/tokens.css`
- **Composable sections** — Hero, Why Choosing Us, Best Selling, Testimonials, About gallery, and more
- **Fully static** — fast pre-rendered HTML; Preact only for cart and small islands
## Quick start
```bash
git clone https://github.com/faruqso/kujera-furniture-starter.git
cd kujera-furniture-starter
npm install
npm run dev
```
- **Site:** [http://localhost:4321](http://localhost:4321)
- **Design system:** [http://localhost:4321/design-system](http://localhost:4321/design-system)
- **CMS admin:** [http://localhost:4321/admin](http://localhost:4321/admin) — see [Decap setup](docs/decap-setup.md) to connect your fork; run `npm run cms` locally for saves
## Rebrand in 2 files
| File | What it controls |
|------|------------------|
| `src/styles/tokens.css` | Colors, typography, spacing, shadows |
| `src/content/site/settings.json` | Brand name, nav, footer, SEO, currency |
See [docs/customization.md](docs/customization.md) for the full guide.
## Content
| Type | Location |
|------|----------|
| Site settings | `src/content/site/settings.json` |
| Pages | `src/content/pages/{slug}.md` |
| Products | `src/content/products/{slug}.json` |
| Collections | `src/content/collections/{slug}.json` |
## Scripts
| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server |
| `npm run build` | Build static site to `dist/` |
| `npm run preview` | Preview production build |
| `npm run cms` | Decap local backend for `/admin` saves |
## Tech stack
- [Astro 7](https://astro.build) — static site generator
- [Decap CMS](https://decapcms.org) — git-based CMS
- [Preact](https://preactjs.com) — cart drawer island
- CSS design tokens — no UI framework on the public site
## Project structure
```
src/
├── components/
│ ├── sections/ # Composable page blocks
│ ├── commerce/ # Shop, product detail, cart
│ └── ui/ # Button, Badge, PillTabs, …
├── content/ # Pages, products, site settings
├── cms/ # Decap collection schemas (config at /admin/config.yml)
├── styles/tokens.css # Design tokens (rebrand here)
└── pages/ # Routes + catch-all shop router
docs/
├── customization.md
└── decap-setup.md
```
## Deploy
Import the repo on [Vercel](https://vercel.com/new). Astro is auto-detected. Set `SITE_URL` to your production domain for canonical and OG tags.
## License
MIT — see [LICENSE](LICENSE). Use freely for personal and commercial projects.
## Security
See [SECURITY.md](SECURITY.md) to report vulnerabilities privately.
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). Use the [issue templates](https://github.com/faruqso/kujera-furniture-starter/issues/new/choose) for bugs and feature requests.
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog
accessible-astro-starter
An accessibility-focused Astro 6 starter template with WCAG 2.2 AA practices, Tailwind CSS 4, TypeScript, Prettier, ESLint, form validation, blog and portfolio examples, and preference toggles for dark mode, high contrast, and reduced motion.
Astro · Blog

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-shopify
A lightweight Shopify headless ecommerce starter template built with Astro and Svelte, integrating the Shopify Storefront API for product and inventory data, with built-in cart state management and basic add-to-cart and checkout flow.
Astro · E-commerce

astro-ecommerce
Astro Ecommerce is a Creative Tim e-commerce Astro starter template under the MIT license, with 70+ coded elements, 30+ blocks, and landing, product, and shopping cart example pages.
Astro · E-commerce

brutal
Brutal is a neobrutalism Astro starter theme from ElianCodes, derived from the author's personal site and generalized. It includes a Markdown blog collection, build-time RSS and sitemap, image optimization, Tailwind CSS styling, and Biome checks, with no JavaScript by default.
Astro · Starter
