turborepo

Configure and optimize Turborepo task pipelines, caching, and monorepo build orchestration.

130|14|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/LiorVainer/data-israel --skill turborepo-liorvainer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/LiorVainer/data-israel/tree/main/.agents/skills/turborepo
Command: npx skills add https://github.com/LiorVainer/data-israel --skill turborepo-liorvainer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up and maintaining a JavaScript/TypeScript monorepo build system involves tricky decisions around task dependencies, caching, environment variables, and CI configuration. This Skill provides structured guidance and decision trees for configuring Turborepo correctly, avoiding common anti-patterns like root tasks, missing outputs, and broken cache invalidation. ## Core Features & Use Cases - Task Pipeline Configuration: Guides creation of package-level tasks in turbo.json with correct dependsOn, outputs, inputs, and env declarations, including transit node patterns for parallel tasks with cache invalidation. - Caching & Filtering: Explains hash inputs, remote cache setup, --affected and --filter syntax for running only changed packages in CI. - Anti-Pattern Detection: Identifies and fixes common mistakes such as root tasks bypassing parallelization, turbo shorthand in CI, missing outputs, and overly broad globalDependencies. - Use Case: A developer setting up a new monorepo asks how to run builds only for changed packages in GitHub Actions; the Skill walks through --affected, fetch-depth requirements, and remote cache token setup. ## Quick Start Ask the assistant to configure a build and test pipeline in turbo.json for your monorepo with caching and affected-package filtering in CI.

Frequently Asked Questions about turborepo

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

FAQPage Schema
How do I configure tasks in turbo.json for a monorepo?

Add scripts to each package's package.json, then register tasks in root turbo.json with dependsOn and outputs. Root package.json should only delegate via turbo run commands, never contain task logic itself.

How do I run builds only for changed packages in Turborepo?

Use the --affected flag, which compares your branch against the default branch and runs tasks in changed packages plus their dependents. Customize the base with --affected-base=origin/develop.

Why is my Turborepo cache not working?

Common causes include missing outputs keys for file-producing tasks, environment variables not declared in env, or .env files absent from inputs. Debug with --summarize or --dry to inspect hash inputs.

Should I use turbo or turbo run in package.json scripts?

Always use turbo run in package.json scripts, CI workflows, and any committed code. The turbo shorthand is only intended for one-off commands typed directly in a terminal.

Does Turborepo support GitHub Actions CI setup?

Yes, Turborepo works with GitHub Actions using fetch-depth of at least 2 for --affected, plus TURBO_TOKEN and TURBO_TEAM environment variables to enable remote caching across CI runs.

What is the difference between dependsOn ^build and build in turbo.json?

The caret syntax ^build runs the build task in dependency packages first, while plain build runs it in the same package. Use pkg#task syntax to depend on a specific package's task.