What is VUP
VUP is a modern development toolkit designed to provide a unified development experience for various frontend frameworks and tools. It follows the principle of "convention over configuration" and provides out-of-the-box solutions for rapid development.
Core Philosophy
⚡ Convention over Configuration
Through predefined project structures and configurations, developers don't need to make too many choices during project initialization, organizing code according to established best practices.
- Reduce decision fatigue, start projects quickly
- Maintain consistent code style during team collaboration
- Lower learning curve, new members can get started quickly
🚀 Out-of-the-Box
All templates come pre-configured with modern development toolchains, allowing development to begin without additional configuration.
- Development server and hot reload
- Build and packaging tools
- Code quality checking tools
- Style preprocessors and internationalization support
📏 Unified Standards
VUP establishes unified development standards across all templates, ensuring consistency in code style, project structure, and development workflows.
- Unified Code Standards - ESLint + Prettier configuration
- Unified Project Structure - Standardized directory organization
- Unified Development Workflow - Consistent build and deployment processes
- Unified Type System - TypeScript type definitions
🎨 Unified Style
VUP uses Tailwind CSS and SCSS as the unified style system, providing consistent design language and responsive design capabilities.
- Theme System - Unified colors, spacing, fonts, and other design tokens
- Tailwind CSS - Utility-first CSS framework
- SCSS Support - Powerful style preprocessing capabilities
- Responsive Design - Out-of-the-box mobile adaptation
🔧 VSCode Plugins and Formatting Presets
VUP recommends essential VSCode plugins and provides formatting presets to improve development efficiency and code quality.
- Recommended Plugins - ESLint, Prettier, Volar, etc.
- Formatting Presets - Auto-format on save
- Code Hints - Complete TypeScript type hints
- Debug Configuration - Pre-configured debugging environment
🏗️ Monorepo Architecture
All applications and shared resources are managed in a single code repository.
- Unified Management - Easy version control and team collaboration
- Shared Resources - Reusable common components, styles, and utility functions
- Dependency Management - Unified dependency version management, avoiding conflicts
- Build Optimization - Support incremental builds, improving efficiency
- Independent Deployment - Each application can be deployed independently
Technical Specifications
VUP is based on Monorepo architecture, and all templates come pre-configured with unified technology stack and development tools:
Core Technology Stack
- pnpm Workspace - Package and dependency management
- TypeScript - Unified type system
- Vite - Fast build tool
- Tailwind CSS - Unified style system
- SCSS - CSS preprocessor
Development Tools
- ESLint + Prettier - Code quality checking and formatting
- EditorConfig - Editor configuration
- Auto-formatting - Format on save
- Git Hooks - Husky integration, automatic checks before commit
Version Management
- release-it - Version management and release tool
- CHANGELOG - Automatically generated changelog
Project Structure
VUP projects adopt a standard Monorepo structure:
my-project/
├── apps/ # Applications directory
│ ├── vue-app/ # Vue application
│ ├── nuxt-app/ # Nuxt application
│ └── nest-api/ # NestJS API
├── packages/ # Packages directory
│ ├── ui/ # UI component library
│ ├── iconfont/ # Icon component
│ └── richeditor/ # Rich text editor
├── _shared/ # Shared resources
│ └── assets/ # Shared static resources
│ └── styles/ # Theme system
├── .github/ # GitHub configuration
├── .husky/ # Git Hooks
├── .vscode/ # VSCode configuration
├── deploy/ # Deployment configuration
├── package.json # Root configuration
├── pnpm-workspace.yaml # pnpm workspace configuration
└── tsconfig.json # TypeScript configurationAvailable Templates
VUP provides a rich set of templates covering various development scenarios. Users can add the required templates to their projects using the vup add command, and the system will prompt for template selection.
Frontend Templates
- Vue SPA - Vue 3 + Vite + TypeScript + Vue Router + Pinia
- Nuxt.js - Full-stack Vue framework with SSR/SSG support
- VitePress - Documentation site generator
Micro-Frontend
- Qiankun - Micro-frontend framework for large-scale applications
Backend Templates
- Nest.js - Node.js enterprise-level backend framework
Mobile
- UniApp - Cross-platform mobile applications (H5, Mini Programs, App)
- Capacitor - Hybrid mobile application development platform
- Electron - Desktop application development framework
Extension Development
- WXT - Browser extension development framework (Chrome, Firefox, Edge)
Component Library
- Components - Vue 3 component library development template
Tool Development
- CLI - Command-line tool development template
- MCP - Model Context Protocol server template
Packages
VUP provides reusable packages that can be added to projects using the vup use command:
- @vup/ui - UI component library, based on Element Plus
- @vup/iconfont - Iconfont icon component
- @vup/richeditor - Rich text editor, based on WangEditor
- @vup/nest-upload - NestJS file upload module
For detailed documentation, please refer to Package Documentation.
Theme System
VUP provides a unified theme system, maintaining global themes and design tokens through the _shared/assets/styles directory:
- Base Color Palette - Complete color system with 0-9 color scales
- Size System - Spacing, border radius, font size, line height, etc.
- Semantic Colors - primary, success, warning, error, etc.
- Tailwind Integration - Automatic mapping to Tailwind CSS
For detailed documentation, please refer to Theme System Documentation.
Use Cases
VUP is suitable for the following scenarios:
- Enterprise Application Development - Unified technology stack and development standards
- Multi-platform Application Development - Full coverage of Web, mobile, and desktop
- Team Collaboration - Unified code standards and project structure
- Rapid Prototyping - Out-of-the-box templates and tools
- Micro-frontend Architecture - Support for Qiankun micro-frontend solution
- Full-stack Development - Integrated frontend and backend development experience
Core Features
- 🚀 VUP CLI Integration - Quickly create projects with
vup addcommand, quickly add packages withvup usecommand - 🏗️ Monorepo Architecture - Multi-package management based on pnpm workspace
- 🎯 Multi-framework Support - Vue, Nuxt, VitePress, NestJS, UniApp, etc.
- 🔧 TypeScript - Complete type support
- ⚡ Modern Toolchain - Vite, ESLint, Prettier, Tailwind CSS
- 📦 Unified Dependency Management - Shared dependencies, reducing duplicate installations
- 🌍 Internationalization Support - Multi-language development templates
- 🚀 One-click Deployment - Integrated deployment solutions like Vercel, Docker
- 📱 Cross-platform Development - Full coverage of Web, mobile, and desktop
- 🔄 Version Management - Integrated release-it for version control
- 🎨 Code Standards - Unified ESLint and Prettier configuration
Getting Started
To get started with VUP, please refer to the Getting Started Guide.
Next Steps
- 📖 View Template Documentation to learn detailed usage of each template
- 📦 Learn how to use Packages
- 🎨 Learn how to configure and use the Theme System
- 🛠️ Configure Development Tools to improve development efficiency