MusPE Framework v2.1.3 ๐
Mobile User-friendly Simple Progressive Engine - A comprehensive CLI framework for modern mobile-first web development with specialized templates, Material Design 3, progressive enhancement, and enterprise-grade developer tools.
โจ What's New in v2.1.3
๐ฏ Major Enhancements (v2.1.3)
- ๐ Specialized E-Commerce Template - Complete product catalog with shopping cart, search, and progressive enhancement
- ๐ Dashboard Template - Analytics and data visualization with Chart.js integration
- ๐ฅ Social Media Template - Feed layout with user interactions and infinite scroll
- ๐ผ Portfolio Template - Professional showcase with gallery and project displays
- ๐ Blog Template - Content management with Markdown support and syntax highlighting
- ๐ Web Template - Modern landing page with hero section, features grid, and call-to-action
- โก SPA Template - Single Page Application with client-side routing and dynamic content loading
- ๐ฑ PWA Template - Progressive Web App with install prompts, offline support, and service workers
- ๐ฑ Enhanced Mobile Commands -
muspe mobile:preview
, muspe mobile:test
, muspe mobile:deploy
- โก Performance Analysis -
muspe analyze --mobile
, muspe lighthouse
, bundle analysis
- ๐งฉ Advanced Component Generation - Mobile-optimized components with progressive enhancement
- ๐จ Progressive Enhancement System - Material Design 3 with automatic fallbacks
- ๐ Enhanced Mobile Optimizations - Touch optimizations, viewport handling, fast-click support
๐ง Latest Improvements (v2.1.2)
- ๐จ Enhanced Material Design 3 Integration - Material Design 3 is now the primary and default CSS framework choice in CLI
- ๐ Fixed Critical Init Bug -
muspe init
command now properly generates complete project files instead of empty directories
- ๐ Complete File Generation - All project templates now include working HTML, CSS, JavaScript, and configuration files
- ๐ Improved Framework Documentation - Updated all documentation to accurately reflect Material Design 3 support
- ๐๏ธ Enhanced Project Structure - Every generated project includes functional layouts, components, and services
- โก Template System Optimization - Improved file generation and layout system implementation
๐ฏ Core Features (v2.1)
๐ฏ Enhanced CLI Framework - Comprehensive project management and validation
๐ Material Design 3 - Latest Material.io components with dynamic theming
๐ฑ Advanced Layout System - 4 pre-built responsive layout types
๐จ Dynamic Template Engine - Powerful templating with reusable UI patterns
๐งช Comprehensive Testing - Unit, E2E, performance, and accessibility testing
โก Project Validation - Real-time project health monitoring and auto-fixes
๐ ๏ธ Enhanced DevTools - Advanced debugging and development tools
๐ง Modern Workflows - Complete development lifecycle support
๐ Key Features
๐ฏ CLI Framework
- Project Validation: Comprehensive health checks with auto-fix capabilities
- Testing Framework: Jest, Cypress, Lighthouse, and axe-core integration
- Interactive Setup: Guided project initialization with feature selection
- Code Generation: Automated component, page, and service generation
- Build Optimization: Advanced bundling with tree-shaking and compression
- Multi-Platform Deployment: Server, Android, iOS, Docker, and PWA support
๐จ Material Design Integration
- Material Design 3: Latest MD3 components and design tokens
- Dynamic Theming: Adaptive color schemes and typography
- Component Library: Complete set of web components (
<md-*>
tags)
- Responsive Layouts: Mobile-first responsive design patterns
- Advanced Animations: Smooth transitions and micro-interactions
- Accessibility: WCAG compliant with screen reader support
๐ฑ Mobile-First Development
- Touch Gestures: Built-in swipe, pinch, and tap gesture support
- Device APIs: Geolocation, orientation, network status, and more
- Cordova Integration: Native mobile app development
- PWA Support: Service workers, offline functionality, and app manifests
- Performance Optimized: Memory management and performance monitoring
- Responsive Design: Automatic device detection and viewport optimization
๐ ๏ธ Developer Experience
- Hot Reload: Instant development feedback with state preservation
- Advanced DevTools: Component inspector, performance profiler, and debugging
- TypeScript Ready: Full TypeScript support with intelligent completion
- Modern Tooling: Vite, PostCSS, and modern build tools
- Code Quality: ESLint, Prettier, and automated quality checks
๐ฆ Installation
Global CLI Installation
npm install -g muspe-cli@2.1.2
โจ Automatic Setup: The installation automatically configures your shell PATH!
Verification
muspe --version
muspe --help
๐ Quick Start
Create a New Project with Specialized Templates
muspe create my-awesome-app
muspe create my-store --template ecommerce --framework material
muspe create my-dashboard --template dashboard --framework material
muspe create my-social --template social --framework material
muspe create my-portfolio --template portfolio --framework material
muspe create my-blog --template blog --framework material
muspe create my-app --template mobile --framework material
muspe create my-app --template web --framework tailwind
muspe create my-spa --template spa --framework material
muspe create my-app --template pwa --framework bootstrap
Initialize Existing Directory
muspe init
Choose from multiple templates, frameworks, and features:
- Templates: E-Commerce, Dashboard, Social Media, Portfolio, Blog, Mobile, Web, PWA, Hybrid
- Frameworks: Material Design 3, Tailwind CSS, Bootstrap, Custom CSS
- Features: Testing, Authentication, i18n, Themes, Analytics, Progressive Enhancement
๐ Specialized Templates (NEW v2.1.3)
E-Commerce Template
Complete e-commerce solution with:
- Product Catalog - Responsive product grid with search and filtering
- Shopping Cart - LocalStorage persistence with real-time updates
- Progressive Enhancement - Material Design 3 with automatic fallbacks
- Mobile Optimized - Touch-friendly interface with gesture support
- Search & Filter - Real-time product search with category filtering
muspe create my-store --template ecommerce
Dashboard Template
Analytics and data visualization with:
- Chart Integration - Chart.js with responsive charts
- Widget System - Modular dashboard widgets
- Data Visualization - D3.js integration for advanced charts
- Real-time Updates - Live data refresh capabilities
muspe create my-dashboard --template dashboard
Social Media Template
Social platform features with:
- Feed Layout - Infinite scroll with optimized rendering
- User Interactions - Like, share, comment functionality
- Media Handling - Image and video upload with optimization
- Real-time Updates - Live notifications and updates
muspe create my-social --template social
Portfolio Template
Professional showcase with:
- Project Gallery - Lightbox gallery with category filtering
- Contact Forms - Built-in contact form with validation
- SEO Optimized - Meta tags and structured data
- Animation Effects - Smooth scroll and reveal animations
muspe create my-portfolio --template portfolio
Blog Template
Content management with:
- Markdown Support - Full Markdown rendering with syntax highlighting
- Article Management - CRUD operations for blog posts
- Comment System - User comments with moderation
- SEO Features - Automatic meta tags and sitemap generation
muspe create my-blog --template blog
๐ CLI Commands
Core Commands
muspe create <name>
muspe init
muspe validate [--fix]
muspe serve [--port 3000]
muspe build [--production]
muspe serve --mobile-preview
muspe serve --network
muspe build --analyze
muspe build --mobile
Enhanced Code Generation (NEW v2.1.3)
muspe generate component ProductCard --mobile-optimized
muspe generate component UserProfile --type=user
muspe generate page Products --template=grid
muspe generate service ProductAPI --with-cache
muspe component ProductCard --template=product --mobile
muspe page Dashboard --template=analytics --route=/dashboard
muspe service CartService --with-cache --api-url=/api/cart
muspe generate component ShoppingCart --type=product
muspe generate component ChartWidget --type=chart
muspe generate page UserFeed --template=social
Mobile Development Commands (NEW v2.1.3)
muspe mobile preview
muspe mobile test
muspe mobile deploy
muspe mobile preview --device=iphone
muspe mobile preview --device=android
muspe mobile preview --device=tablet
Performance Analysis (NEW v2.1.3)
muspe analyze
muspe analyze --mobile
muspe analyze --bundle
muspe lighthouse
muspe lighthouse --mobile
muspe build --analyze
Testing & Quality
muspe test [suite]
muspe test unit
muspe test e2e
muspe test performance
muspe test accessibility
muspe deploy server --release
muspe deploy android --bundle
muspe deploy ios --archive
muspe deploy docker --run
muspe deploy pwa --release
Enhanced Validation
muspe validate
muspe validate --fix
muspe validate --quiet
Validation Checks:
- โ
Configuration files (muspe.config.js, package.json)
- โ
Dependencies and versions
- โ
Project structure and required files
- โ
Code quality and best practices
- โ
HTML validation and accessibility
- โ
Auto-fix capabilities for common issues
๐จ Material Design 3 Integration
Components
<md-filled-button>Primary Action</md-filled-button>
<md-outlined-button>Secondary Action</md-outlined-button>
<md-card>
<div style="padding: 1rem;">
<h3>Card Title</h3>
<p>Card content with Material Design styling.</p>
</div>
</md-card>
<md-text-field label="Email" type="email"></md-text-field>
<md-filled-text-field label="Password" type="password"></md-filled-text-field>
<md-fab aria-label="Add">
<span slot="icon" class="material-symbols-outlined">add</span>
</md-fab>
Dynamic Theming
const theme = {
primary: '#3b82f6',
secondary: '#6b7280',
surface: '#ffffff',
background: '#f8fafc'
};
MusPE.theme.apply(theme);
๐๏ธ Advanced Layout System
Layout Types
const baseLayout = LayoutFactory.create('base', {
title: 'My App',
showHeader: true,
showFooter: true
});
const materialLayout = LayoutFactory.create('material', {
title: 'Material App',
hasSidebar: true,
fabAction: {
icon: 'add',
label: 'Add Item',
handler: () => console.log('FAB clicked!')
}
});
const mobileLayout = LayoutFactory.create('mobile', {
title: 'Mobile App',
hasBottomNav: true,
bottomNavItems: [
{ icon: 'home', label: 'Home', route: '/' },
{ icon: 'search', label: 'Search', route: '/search' },
{ icon: 'person', label: 'Profile', route: '/profile' }
]
});
const dashboardLayout = LayoutFactory.create('dashboard', {
title: 'Dashboard',
widgets: [
{ title: 'Stats', content: '<p>Widget content</p>' },
{ title: 'Chart', content: '<canvas></canvas>' }
],
gridColumns: 'material-grid-3'
});
Apply Layout
layout.applyTo('#app', '<div>Main content here</div>');
๐ Dynamic Template Engine
Template Usage
const profileHtml = Templates.userProfile({
name: 'Sarah Wilson',
email: 'sarah@example.com',
role: 'Designer',
avatar: '/images/avatar.jpg',
id: '123'
});
const statsHtml = Templates.statsWidget({
title: 'Active Users',
value: '2,451',
icon: 'people',
color: 'success',
change: '+12%',
changeType: 'positive',
subtitle: 'This month'
});
const alertHtml = Templates.alert({
type: 'success',
title: 'Success!',
message: 'Your changes have been saved.',
dismissible: true
});
Template Engine Features
Templates.render('Hello {{name}}!', { name: 'World' });
Templates.render('{{if user.active "Active" "Inactive"}}', { user: { active: true } });
Templates.render('{{icon "home" "icon-lg"}}', {});
Templates.render('{{button "Click me" "filled" "add" "handleClick()"}}', {});
๐งช Comprehensive Testing
Test Suites
muspe test
muspe test unit
muspe test component
muspe test e2e
muspe test performance
muspe test accessibility
muspe test --verbose
muspe test --watch
Test Structure
tests/
โโโ unit/ # Unit tests (Jest)
โ โโโ muspe.test.js
โโโ components/ # Component tests
โ โโโ AppHeader.test.js
โโโ e2e/ # E2E tests (Cypress)
โ โโโ app.cy.js
โ โโโ support/
โโโ setup.js # Test configuration
Example Tests
describe('MusPE Core', () => {
test('should create DOM elements', () => {
const element = MusPE.dom.create('div', {
class: 'test-element',
textContent: 'Hello World'
});
expect(element.tagName).toBe('DIV');
expect(element.className).toBe('test-element');
expect(element.textContent).toBe('Hello World');
});
});
describe('MusPE App E2E', () => {
it('should load the homepage', () => {
cy.visit('/');
cy.contains('Welcome to');
cy.get('.app-header').should('be.visible');
cy.get('md-filled-button').should('exist');
});
});
๐๏ธ Project Structure
my-app/
โโโ src/
โ โโโ components/ # Reusable UI components
โ โโโ pages/ # Application pages
โ โโโ layouts/ # Layout components
โ โ โโโ BaseLayout.js
โ โ โโโ MaterialLayout.js
โ โ โโโ MobileLayout.js
โ โ โโโ DashboardLayout.js
โ โโโ templates/ # Template engine
โ โ โโโ TemplateEngine.js
โ โ โโโ CommonTemplates.js
โ โ โโโ index.js
โ โโโ services/ # API services and data layer
โ โโโ styles/ # CSS/Styling files
โ โโโ scripts/ # JavaScript files
โ โโโ utils/ # Utility functions & libraries
โ โโโ core/ # MusPE core framework
โ โโโ assets/ # Images, icons, fonts
โโโ public/ # Static files
โ โโโ index.html # Main HTML file
โ โโโ manifest.json # PWA manifest
โ โโโ sw.js # Service worker
โโโ tests/ # Test files
โ โโโ unit/
โ โโโ components/
โ โโโ e2e/
โ โโโ setup.js
โโโ docs/ # Documentation
โโโ muspe.config.js # MusPE configuration
โโโ jest.config.js # Jest configuration
โโโ cypress.config.js # Cypress configuration
โโโ package.json
โ๏ธ Configuration
muspe.config.js
module.exports = {
name: 'my-app',
template: 'mobile',
framework: 'material',
server: {
port: 3000,
host: 'localhost',
open: true,
hot: true
},
build: {
outDir: 'dist',
minify: true,
sourcemap: true,
target: 'modern',
cssCodeSplit: true
},
pwa: {
enabled: true,
manifest: './public/manifest.json',
serviceWorker: './src/sw.js',
workboxOptions: {
runtimeCaching: [
{
urlPattern: /^https:\/\/api\./,
handler: 'NetworkFirst',
options: {
cacheName: 'api-cache',
expiration: {
maxEntries: 50,
maxAgeSeconds: 300
}
}
}
]
}
},
mobile: {
viewport: 'width=device-width, initial-scale=1.0, user-scalable=no',
statusBar: 'default',
orientation: 'portrait',
cordova: true
},
features: {
testing: true,
analytics: false,
auth: false,
stateManagement: false,
i18n: false,
themes: true
},
plugins: [
'@muspe/plugin-material',
'@muspe/plugin-tailwind',
'@muspe/plugin-analytics'
]
};
๐จ Component Development
Modern Component Structure
class UserCard {
constructor(options = {}) {
this.options = {
className: 'user-card',
...options
};
this.element = null;
this.isMounted = false;
}
render() {
this.element = MusPE.dom.create('div', {
class: this.options.className,
html: `
<md-card class="user-card">
<div style="padding: 1rem;">
<div class="user-avatar">
<img src="${this.options.avatar}" alt="${this.options.name}">
</div>
<h3>${this.options.name}</h3>
<p style="color: #6b7280;">${this.options.email}</p>
<md-filled-button onclick="this.viewProfile()">
<span slot="icon" class="material-symbols-outlined">person</span>
View Profile
</md-filled-button>
</div>
</md-card>
`
});
this.setupEventListeners();
return this.element;
}
setupEventListeners() {
MusPE.dom.on(this.element, 'click', 'md-filled-button', (e) => {
this.viewProfile();
});
}
viewProfile() {
router.push(`/profile/${this.options.id}`);
}
mount(container) {
const rendered = this.render();
MusPE.dom.append(container, rendered);
MusPE.dom.fadeIn(rendered, 300);
this.isMounted = true;
}
destroy() {
if (this.element && this.element.parentNode) {
MusPE.dom.fadeOut(this.element, 300).then(() => {
MusPE.dom.remove(this.element);
this.isMounted = false;
});
}
}
}
export default UserCard;
Using Templates
const userCardHtml = Templates.userProfile({
name: 'Sarah Wilson',
email: 'sarah@example.com',
role: 'Designer',
avatar: '/images/sarah.jpg',
id: '123'
});
document.querySelector('#user-container').innerHTML = userCardHtml;
๐งฐ Built-in Utilities
DOM Utilities
const el = MusPE.$('.my-element');
const els = MusPE.$$('.my-elements');
const button = MusPE.dom.create('md-filled-button', {
textContent: 'Click me',
events: {
click: () => console.log('Clicked!')
}
});
MusPE.dom.addClass(el, 'active');
MusPE.dom.css(el, { color: 'blue', fontSize: '16px' });
MusPE.dom.show(el);
MusPE.dom.hide(el);
MusPE.dom.fadeIn(el, 300);
MusPE.dom.slideDown(el, 400);
MusPE.dom.on(document, 'click', 'md-filled-button', (e) => {
console.log('Material button clicked:', e.target);
});
HTTP Utilities
const data = await MusPE.http.get('/api/users');
const result = await MusPE.http.post('/api/users', { name: 'John' });
const response = await MusPE.http.get('/api/data', {
timeout: 5000,
cache: true,
retry: true,
headers: {
'Authorization': 'Bearer token'
}
});
await MusPE.http.upload('/api/upload', file, {
fields: { description: 'My file' }
});
await MusPE.http.downloadAsFile('/api/report.pdf', 'report.pdf');
๐ฑ Mobile Development
Cordova Integration
muspe add cordova
muspe cordova platform add android
muspe cordova platform add ios
muspe cordova build android
muspe cordova run android
Device APIs
if (MusPE.cordova.isCordova()) {
const deviceInfo = MusPE.cordova.getDeviceInfo();
console.log('Platform:', deviceInfo.platform);
}
const imageUri = await MusPE.cordova.camera.getPicture({
quality: 75,
destinationType: Camera.DestinationType.FILE_URI
});
const position = await MusPE.cordova.geolocation.getCurrentPosition();
const networkInfo = MusPE.cordova.getNetworkInfo();
๐ Deployment
Multi-Platform Deployment
muspe deploy all --release
muspe deploy server --release --ssr
muspe deploy android --release --bundle
muspe deploy ios --release --archive
muspe deploy docker --release --run
muspe deploy pwa --release
Deployment Features
- Server Deployment: Static hosting, Node.js, and SSR support
- Mobile Apps: Android APK/AAB and iOS IPA generation
- Docker: Multi-stage builds with optimization
- PWA: Service workers and offline functionality
- CI/CD: GitHub Actions workflows included
๐ Benefits & Comparison
โ
MusPE Advantages
Learning Curve | โ
Easy | โ ๏ธ Moderate | โ Steep | โ ๏ธ Moderate |
CLI Tools | โ
Comprehensive | โ Limited | โ ๏ธ Basic | โ
Good |
Material Design 3 | โ
Built-in | โ No | โ No | โ ๏ธ Limited |
Testing Framework | โ
Complete | โ Manual | โ ๏ธ Basic | โ ๏ธ Basic |
Project Validation | โ
Advanced | โ No | โ No | โ No |
Template Engine | โ
Dynamic | โ No | โ No | โ No |
Layout System | โ
Advanced | โ Manual | โ Manual | โ ๏ธ Basic |
Web + Mobile | โ
Unified | โ
Yes | โ Mobile only | โ
Yes |
๐ฏ When to Use MusPE
โ
Perfect For:
- Mobile-first web applications
- Progressive Web Apps (PWAs)
- Hybrid mobile development
- Rapid prototyping and MVP development
- Teams wanting modern tooling with minimal setup
- Projects requiring Material Design consistency
โ Consider Alternatives For:
- Simple static websites
- Large existing React/Vue codebases
- Projects requiring IE11 support
- Native-only mobile apps
๐ Documentation
Quick Links
Complete Documentation
๐ License
MIT License - see LICENSE file for details.
๐ค Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
See CONTRIBUTING.md for detailed contribution guidelines.
๐ Success Stories
"MusPE's validation and testing tools caught 15 critical issues before deployment. The CLI saved our team weeks of setup time."
- Sarah Chen, Lead Developer at TechCorp
"The Material Design 3 integration is seamless. Our designers love the consistency across all platforms."
- Michael Rodriguez, Senior Engineer at StartupXYZ
"Migrating from Create React App to MusPE gave us mobile deployment and better developer tools instantly."
- Alex Thompson, CTO at MobileFirst Inc.
MusPE v2.0 - The most comprehensive mobile-first development framework! ๐๐ฑ
Built for developers who want to create amazing mobile experiences without the complexity.
Get Started Now | View Examples | Join Community