A MERN monorepo built with PNPM workspaces and Turborepo.
- Frontend: React 19, Vite 8, TypeScript, Tailwind CSS 4, Redux Toolkit
- Backend: Express 5, TypeScript, Mongoose, Zod
- Tooling: Turborepo, PNPM, ESLint 10, Prettier
- Deployment: Docker, Docker Compose, Nginx
.
├── apps/
│ ├── frontend/
│ └── server/
├── packages/
│ ├── eslint-config/
│ └── typescript-config/
├── turbo.json
└── pnpm-workspace.yaml
- Node.js 22+
- PNPM 9
git clone https://github.com/aargon007/mern-boilerplate
cd mern-boilerplate
pnpm install
pnpm devpnpm dev
pnpm build
pnpm lint
pnpm startPackage-targeted examples:
pnpm build:frontend
pnpm build:server
pnpm start:frontend
pnpm start:serverFrontend:
pnpm --filter frontend dev
pnpm --filter frontend build
pnpm --filter frontend lintServer:
pnpm --filter server dev
pnpm --filter server build
pnpm --filter server lint- Root scripts delegate through
turbo run - Shared TypeScript config lives in
packages/typescript-config - Shared ESLint config lives in
packages/eslint-config - Frontend uses Vite 8 native TS path resolution
- Server uses ESLint flat config at
apps/server/eslint.config.mjs
docker-compose up --buildpnpm turbo run lint
pnpm turbo run build