This repository contains the M Framework — a modular front-end framework and starter templates built with Nuxt and Vue. It provides a collection of themes, layers, packages, and integrations to accelerate building storefronts, apps, and integrations.
Top-level directories
apps/: Example and production apps that use the framework (for exampleecosystem/meeovi).layers/: Reusable Nuxt layers (features and verticals) such asauth,commerce,shared,chat, etc. Layers expose application code and can be composed into different apps or themes.packages/: Monorepo packages and adapters such asmodules,adapters, and other reusable libraries consumed by apps and layers.themes/: Theme projects and starter templates. For examplethemes/framework/starter-templateis the default starter theme you can run and extend.integrations/: Integration guides, example adapters and compatibility layers for other frameworks, platforms, or runtimes.layers/*/appandlayers/*/server: Application-level and server-side code that each layer exposes.docs/: Documentation content and guides.types/: Global TypeScript declarations and shims used across the monorepo.
Quick notes
- The framework is implemented with Nuxt (Nuxt 4) and Vue 3 — components, composables, and pages follow the Nuxt/Vue conventions used in the
themesandlayersfolders. - Themes (in
themes/) are runnable Nuxt projects. To run the starter theme, change intothemes/framework/starter-templateand runnpm installandnpm run dev. - The repository uses a monorepo layout; package installs and scripts may run postinstall hooks. If postinstall scripts fail during root
npm install, try installing with--legacy-peer-depsor inspect the package'spostinstallscript (for examplepackages/modules/localization). - Many UI components in this repo depend on third-party UI libraries (e.g.,
@storefront-ui/vue). Ensure peer dependencies match the workspace Vue version to avoid runtime mismatches.
Where to start
- For theme development: see
themes/framework/starter-template/appfor pages, components, and layouts. - For shared building blocks: inspect
layers/shared/appandlayers/*/appfor composables and components. - For adapter or integration development: look under
packages/adaptersandintegrations/.
If you need help running the starter theme or debugging installs, open an issue or ask in the project chat — common troubleshooting steps are documented in package-level READMEs where applicable.
License: see repository root or individual package manifests for license information.
-- Generated README — concise overview for contributors and maintainers.