my version of a minimal vue + vite + tailwind project starter based on mutoe's vue3-realworld-example-app
-
🎨 Modern UI with Tailwind CSS
- Clean, responsive design
- Beautiful component styling
- Dark mode support
- Custom animations and transitions
-
🛠️ Development Tools
- Vite for lightning-fast development
- TypeScript for type safety
- Tailwind CSS for utility-first styling
- ESLint and Prettier for code quality
- Vitest for unit testing
- Cypress for E2E testing
-
📦 Core Dependencies
- Vue 3 with Composition API
- Vue Router for routing
- Pinia for state management
- Axios for API requests
- @vueuse/core for composables
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm serve
# Run tests
pnpm test
pnpm dev
- Start development serverpnpm build
- Build for productionpnpm serve
- Preview production buildpnpm test
- Run all testspnpm test:unit
- Run unit testspnpm test:unit:vitest:ui
- Run unit tests with UIpnpm lint
- Run lintingpnpm clean:cache
- Clean cachepnpm clean:lib
- Clean dependencies
src/
├── assets/ # Static assets
├── components/ # Vue components
├── composables/ # Vue composables
├── layouts/ # Layout components
├── router/ # Vue Router configuration
├── stores/ # Pinia stores
├── styles/ # Global styles
├── types/ # TypeScript types
└── views/ # Page components
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
```shell script
pnpm install
# Development
pnpm dev
# Build dist
pnpm build
# Run unit tests
pnpm test:unit
pnpm test:unit:ci
# Run E2E tests
pnpm test:e2e
pnpm test:e2e:ci
- Vite
- Composition API
- SFC <script setup> sugar
- Suspense (Experimental)
- Vue router
- Axios with middleware pattern for API requests
- Pinia for state management
- TypeScript and Vue tsc for static analysis
- swagger-typescript-api for auto generate interface from swagger
- ESLint and @mutoe/eslint-config for linting and styling (based on @anthony/eslint-config)
- Vitest for unit testing
- Testing Library for component testing
- Cypress for E2E testing
- GitHub Actions CI/CD