A monorepo project template managed with Turborepo, including both web and server applications.
Run the following command:
npx degit https://github.com/pkgtoolsjs/template-turborepo-vue.git my-turborepo
This Turborepo includes the following packages/apps:
web
: A Vue 3 app with Vue Router, Pinia, and Nuxt UIserver
: A simple Fastify-powered server that exposes APIs for the web app
ui
: a stub Vue component library shared by bothweb
and other Vue3-based applicationseslint-config
: shared ESLint configuration used across projectstsconfig
: shared tsconfig.json configurations used throughout the monorepo
Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
This project also supports building applications under the apps/
directory using Docker Compose.
A complete CI/CD workflow has been set up based on GitHub Actions, covering testing, bundling, building, and publishing Docker images.
For more details, see: Docker Compose.
To build all apps and packages, run the following command:
cd my-turborepo
pnpm build
To develop all apps and packages, run the following command:
cd my-turborepo
pnpm dev
See Remote Caching.
We all know that deploying a project quickly and properly is one of the hardest — and most frustrating — challenges in the industry. That's why this project comes with a complete CI/CD workflow powered by GitHub Actions and Docker Compose. The best part? You can start coding right away without worrying about all those painful deployment issues!
Simply run docker compose build
and the build process will start!
docker compose build
Once the image has been built, run the following command to start the container immediately:
docker compose up -d
To stop and remove the running container:
docker compose down