Skip to content
turborepo logo

Turborepo

turborepo

Assists with managing JavaScript/TypeScript monorepos using Turborepo. Use when configuring build pipelines, setting up caching, pruning workspaces for Docker, or optimizing CI/CD for monorepo projects. Trigger words: turborepo, turbo, monorepo, pipeline, workspace, remote cache, turbo.json.

TerminalSkills/skills0installs160stars

SKILL.md

Full skill instructions

Turborepo

Overview

Turborepo is a high-performance build system for JavaScript/​TypeScript monorepos that intelligently caches task outputs, parallelizes execution across CPU cores, and ensures teams only rebuild what has changed. It integrates with npm, yarn, and pnpm workspaces.

Instructions

  • When setting up a monorepo, define tasks in turbo.json with dependsOn for ordering, use ^ prefix for topological dependencies (e.g., "dependsOn": ["^build"]), and specify outputs for cacheable artifacts.
  • When configuring caching, define outputs arrays for each task (["dist/​**", ".next/​**"]), list all build-affecting environment variables in env or globalEnv, and set up Remote Cache for cross-developer sharing.
  • When filtering workspaces, use --filter=@app/​web to target specific packages, --filter=...[HEAD~1] for changed packages, and turbo run build --graph to visualize the dependency graph.
  • When optimizing Docker builds, use turbo prune --scope=@app/​web to generate a minimal Docker context containing only the targeted package and its dependencies.
  • When setting up CI/​CD, enable Remote Cache for cross-PR cache sharing, use --dry-run=json for pipeline analysis, and leverage incremental builds that only rebuild packages affected by PR changes.
  • When organizing shared packages, create focused internal packages (@repo/​ui, @repo/​db, @repo/​auth) with shared tsconfig and ESLint configs.

Examples

Example 1: Set up a new Turborepo monorepo

User request: "Initialize a monorepo with a Next.js app and shared UI library"

Actions:

  1. Set up pnpm workspace with apps/​web and packages/​ui directories
  2. Configure turbo.json with build, dev, lint, and typecheck tasks
  3. Define task dependencies and cache outputs for each task
  4. Create shared tsconfig base in packages/​tsconfig

Output: A monorepo with parallel builds, intelligent caching, and shared configuration.

Example 2: Optimize Docker builds for deployment

User request: "Create a Dockerfile for deploying one service from our Turborepo monorepo"

Actions:

  1. Run turbo prune --scope=@app/​api to generate minimal context
  2. Create multi-stage Dockerfile using the pruned output
  3. Install dependencies and build only the targeted package
  4. Configure cache mounts for faster rebuilds

Output: A lean Docker image containing only the service and its dependencies, not the full monorepo.

Guidelines

  • Always define outputs for cacheable tasks; use empty outputs: [] for side-effect-only tasks like lint.
  • List all environment variables in env or globalEnv that affect build output.
  • Use ^ prefix in dependsOn for tasks that consume dependency outputs (build, typecheck).
  • Keep internal packages small and focused: @repo/​ui, @repo/​db, @repo/​auth.
  • Use turbo prune for Docker builds; never copy the entire monorepo into a container.
  • Set up Remote Cache in CI for cross-developer and cross-PR cache sharing.

More skills from TerminalSkills

zipkin logo
TerminalSkills/skills

zipkin

>-

160 0
View
yjs logo
TerminalSkills/skills

yjs

Expert guidance for Yjs, the high-performance CRDT (Conflict-free Replicated Data Type) framework for building collaborative applications. Helps developers implement real-time document editing, offline-first sync, and peer-to-peer collaboration with automatic conflict resolution.

160 0
View
trpc logo
TerminalSkills/skills

trpc

>-

160 0
View
testcontainers logo
TerminalSkills/skills

testcontainers

When the user wants to run integration tests with real dependencies using Docker containers managed by Testcontainers. Also use when the user mentions "testcontainers," "integration testing with Docker," "database integration tests," "containerized tests," or "test with real database." For API mo...

160 0
View
twilio logo
TerminalSkills/skills

twilio

>-

160 0
View
wxt logo
TerminalSkills/skills

wxt

>-

160 0
View
xata logo
TerminalSkills/skills

xata

Expert guidance for Xata, the serverless data platform that combines PostgreSQL, Elasticsearch, and AI capabilities in a single API. Helps developers build applications with full-text search, vector similarity search, file attachments, and branching — all through a type-safe TypeScript SDK.

160 0
View
together-ai logo
TerminalSkills/skills

together-ai

Cloud platform for running open-source AI models. Provides inference APIs for LLMs, image models, and embedding models. Supports fine-tuning on custom data, OpenAI-compatible API format, and competitive pricing for open-source model hosting.

160 0
View
weaviate logo
TerminalSkills/skills

weaviate

Weaviate is an open-source vector database with built-in vectorization modules. Learn schema definition, GraphQL and REST APIs, hybrid search combining BM25 and vectors, and self-hosted deployment with Docker.

160 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View