turborepo

Automate monorepo task orchestration and caching with turbo.json configurations.

1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/mateo-khalil/sumate-ya --skill turborepo-mateo-khalil
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/mateo-khalil/sumate-ya/tree/main/.agents/skills/turborepo
Command: npx skills add https://github.com/mateo-khalil/sumate-ya --skill turborepo-mateo-khalil

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Turborepo provides guidance for monorepo task orchestration, enabling caching and parallelization across packages.

Core Features & Use Cases

  • Package-scoped task configuration with turbo.json, root and package configurations, and per-package outputs for caching.
  • Deterministic task execution via dependsOn, inputs, and outputs; enables selective builds, CI optimization with --affected, and integration with remote caches.
  • Supports package boundaries, transit nodes, and watch/dev workflows for scalable monorepos.

Quick Start

Create per-package turbo.json files and run turbo run build to start a parallel, cached monorepo build.

Frequently Asked Questions about turborepo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure monorepo task caching and parallelization for my packages?

Monorepo task caching and parallelization are configured using per-package turbo.json files. You define task pipelines, proper dependsOn syntax, and outputs to enable deterministic execution and selective builds across your apps and packages.

What is the correct way to define task dependencies in a monorepo pipeline?

Task dependencies in a monorepo pipeline are defined using the dependsOn syntax within turbo.json. This enforces deterministic task execution by specifying prerequisite tasks, ensuring correct build order across package boundaries.

How do I optimize CI workflows to run only affected builds in a monorepo?

CI workflows are optimized by using the --affected flag during task orchestration. Combined with deterministic inputs and outputs in your configuration, this limits execution to only changed packages, saving compute time.

Can I use per-package turbo.json configurations instead of a single root setup?

Yes, per-package turbo.json configurations are supported to define tasks specific to individual packages. A future flag for globalConfiguration also exists to manage root and package configuration semantics effectively.

Why do my monorepo cached outputs not update correctly during local development?

Cached outputs fail to update when env, globalEnv, or outputs are improperly configured in turbo.json. Correctly defining these ensures the cache invalidates appropriately and watch/dev workflows execute as expected.