name, description
| name |
description |
| monorepo-turborepo |
Turborepo monorepo template principles. pnpm workspaces, shared packages. |
Turborepo Monorepo Template
Tech Stack
| Component |
Technology |
| Build System |
Turborepo |
| Package Manager |
pnpm |
| Apps |
Next.js, Express |
| Packages |
Shared UI, Config, Types |
| Language |
TypeScript |
Directory Structure
Key Concepts
| Concept |
Description |
| Workspaces |
pnpm-workspace.yaml |
| Pipeline |
turbo.json task graph |
| Caching |
Remote/local task caching |
| Dependencies |
workspace:* protocol |
Turbo Pipeline
| Task |
Depends On |
| build |
^build (dependencies first) |
| dev |
cache: false, persistent |
| lint |
^build |
| test |
^build |
Setup Steps
- Create root directory
pnpm init
- Create pnpm-workspace.yaml
- Create turbo.json
- Add apps and packages
pnpm install
pnpm dev
Common Commands
| Command |
Description |
pnpm dev |
Run all apps |
pnpm build |
Build all |
pnpm --filter @name/web dev |
Run specific app |
pnpm --filter @name/web add axios |
Add dep to app |
Best Practices
- Shared configs in packages/config
- Shared types in packages/types
- Internal packages with
workspace:*
- Use Turbo remote caching for CI