turborepo

Configure Turborepo task pipelines, caching, and filtering for JavaScript monorepos.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/elcokiin/vibe-tribe --skill turborepo-elcokiin
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/elcokiin/vibe-tribe/tree/main/.agents/skills/turborepo
Command: npx skills add https://github.com/elcokiin/vibe-tribe --skill turborepo-elcokiin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up and maintaining a Turborepo monorepo involves many subtle configuration decisions—task dependencies, cache outputs, environment variable hashing, and CI filtering—where small mistakes silently break caching or parallelization. This Skill provides decision trees, anti-pattern detection, and reference documentation to configure turbo.json correctly the first time. ## Core Features & Use Cases - Task Pipeline Configuration: Guides creation of package tasks (never root tasks) with correct dependsOn, outputs, inputs, and env declarations in turbo.json. - Cache Debugging & Optimization: Diagnoses cache misses, configures remote caching, and explains hash inputs including the globalConfiguration future flag behavior. - Filtering & CI Setup: Covers --affected and --filter syntax for running only changed packages, plus GitHub Actions and Vercel deployment workflows. - Use Case: When adding a new lint task to a monorepo, the Skill ensures scripts live in each package's package.json, the task is registered in turbo.json with transit nodes for parallel execution, and root scripts delegate via turbo run. ## Quick Start Ask the assistant to set up a build and test pipeline in your Turborepo monorepo with caching and affected-package filtering for 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 the task in root turbo.json with dependsOn and outputs. Root package.json should only delegate via turbo run <task>, never contain task logic, so Turborepo can parallelize and cache per package.

How do I run only changed packages in Turborepo CI?▼

Use turbo run build --affected, which compares your branch against the default branch and runs tasks in changed packages plus their dependents. Ensure your CI fetches enough git history (fetch-depth: 2 or 0) so the merge base is available.

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 and identify what changed between runs.

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

^build runs the build task in dependency packages first, while build (without caret) runs it in the same package first. Use ^build for build ordering across packages and plain build for same-package prerequisites like test depending on build.

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 <task> shorthand is intended only for one-off terminal commands typed directly by humans.

When should I use Package Configurations instead of root turbo.json overrides?▼

Use a turbo.json with extends: ["//"] inside a package when multiple packages need different task settings, such as framework-specific outputs. This keeps root turbo.json clean and configuration close to the code it affects.