Repository navigation
Project Structure
Mehrdad Pajuhaan edited this page Oct 23, 2026
·
1 revision
The storefront is a standard Vue 3 + Vite application. This page explains where things live, how files and components are named, and how the Selldone modules are wired in.
| Path | Purpose |
|---|---|
StorefrontApp.vue |
Root component of the app |
storefront.ts |
App entry: creates the Vue app and sets up Core, SDKs, Components, Page Builder and i18n |
index.html |
HTML shell with the Selldone meta tags (see Configuration) |
layouts/ |
Master layouts that define the overall UI (StorefrontLayout.vue) |
pages/ |
One folder per page or page family (see below) |
components/ |
Custom components used only by this storefront |
router/ |
Vue Router configuration (StorefrontRouter.ts) |
store/ |
Vuex store (StorefrontStore.ts) |
lang/ |
i18n files for about 100 languages (en.ts, de.ts, fa.ts, …) |
style/ |
Global styles |
modules/ |
Selldone modules as Git submodules, created by setup
|
manifest.json |
Layout identity used when publishing (see Configuration) |
.ai-agent/, AGENTS.md
|
Agent kit for AI-assisted customization (see Customize with AI Agents) |
| Folder | What it renders |
|---|---|
pages/landing |
Home and custom landing pages built with the Page Builder |
pages/products, pages/listing
|
Product listing, categories, filters and comparison |
pages/product |
Product page (variants, gallery, 3D/AR, cross-selling) |
pages/comparison |
Product comparison |
pages/basket |
Basket and order pages for regular products |
pages/avocado, pages/hyper
|
Special ordering flows (Avocado and Hyper) |
pages/pos |
Point-of-sale pages |
pages/user |
Customer panel: profile, orders, addresses, wallets, gift cards, returns, wishlist, comments |
pages/blog |
Blog list and article view |
pages/map |
Products and vendors on a map |
pages/official |
About us, contact us, privacy and terms |
pages/faq, pages/info, pages/instagram
|
FAQ, info pages and Instagram feed |
pages/login |
Login and redirects |
pages/errors |
Error pages (404) |
The setup script adds these repositories under modules/ as Git submodules:
| Module | Repository | Role |
|---|---|---|
modules/core |
selldone/core | Models, types, enums, helpers |
modules/storefront-sdk |
selldone/storefront-sdk | Customer API client (window.$storefront) |
modules/components |
selldone/components | UI components |
modules/community-sdk |
selldone/community-sdk | Community API client |
modules/pagebuilder |
selldone/pagebuilder | Landing page renderer/editor |
modules/translate |
selldone/translate | Translation files |
Update them with git submodule update --init --recursive --remote. To work on a module and the storefront at the
same time, see DEVELOPMENT.md (linking packages
with yarn link).


| Prefix | Used for | Example |
|---|---|---|
S* |
Storefront components | <s-blog-card> |
U* |
General-purpose UI components | <u-chip-change> |
B* |
Backoffice (dashboard) components | <b-club-select> |
C* |
Community components | <c-breadcrumb> |
L* |
Landing/page builder components | <l-section-article> |
The same prefixes are used across the Components library, so you can tell at a glance where a component comes from.
Get started
Develop and ship
Plan
Ecosystem
Links