A modern starter template for Vue 3 projects using TypeScript, Vite, and best practices for building scalable web applications.
- 🚀 Vue 3 with Composition API and
<script setup>
- 🔧 TypeScript for type safety
- ⚡️ Vite for fast development and optimized builds
- 📦 Pinia for state management
- 🔄 Vue Router for client-side routing
- 🧪 Testing setup with Vitest
- 🎨 CSS preprocessing with SCSS
- 📱 Responsive design utilities
- 🔒 Authentication flow implementation
- 🧩 Component architecture best practices
- Bun
# Clone the repository
git clone https://github.com/ducconit/vue-starter-template.git
cd vue-starter-template
# Install dependencies
bun install
# Start development server
bun run dev
bun run build
├── public/ # Static assets
├── src/
│ ├── api/ # API service layer
│ ├── assets/ # Assets that will be processed by the build
│ ├── components/ # Reusable Vue components
│ ├── layouts/ # Layout components
│ ├── plugins/ # Vue plugins and extensions
│ ├── router/ # Vue Router configuration
│ ├── stores/ # Pinia stores
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ ├── pages/ # Page components
│ ├── App.vue # Root component
│ └── main.ts # Application entry point
├── eslint.config.ts # ESLint configuration
├── .gitignore # Git ignore rules
├── index.html # HTML entry point
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite configuration
├── bun.lockb # Bun lock file
└── README.md # Project documentation
For detailed documentation on Vue 3, check out the Vue.js Documentation.
For TypeScript in Vue, refer to the Vue TypeScript Guide.
Contributions are welcome! Please feel free to submit a Pull Request.
- 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.