turborepo

Configure Turborepo tasks, caching, and pipelines in JavaScript/TypeScript monorepos.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Turborepo Skill centralizes and optimizes task orchestration in JavaScript/TypeScript monorepos by providing a reference-based guide to configure per-package tasks, caching, and pipelines, reducing build times and improving reliability.

Core Features & Use Cases

  • Per-package tasks: defines tasks in each package.json to enable parallelization and isolated caching, while root tasks remain a fallback.
  • Package Configurations: uses turbo.json in packages to override root settings for framework-specific outputs and env rules.
  • Cache and CI guidance: leverages outputs/inputs/env for accurate caching and provides patterns for CI optimization and filtering.

Quick Start

Create per-package tasks in each package.json, register them in the root turbo.json, and run turbo run <task> to orchestrate the 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 tasks and pipelines to optimize builds?

To optimize monorepo builds, define per-package tasks in each package.json and register them in the root turbo.json. This configures pipelines to enable parallelization and isolated caching across apps and libraries.

What is the best way to set up caching for a JavaScript monorepo?

The best way to set up monorepo caching is configuring outputs, inputs, and environment variables in turbo.json. This ensures accurate cache hits and reduces redundant processing during CI workflows.

Can I override root turbo.json settings for specific packages?

Yes, you can use package configurations by adding a turbo.json file inside specific packages. This overrides root settings to apply framework-specific outputs and environment rules for isolated tasks.

How do I handle environment variables in Turborepo pipelines?

Handle environment variables in Turborepo pipelines by declaring them in the env field within turbo.json. This ensures accurate caching behavior by tracking environment changes as task inputs.

Do I need per-package tasks in each package.json or can I use root tasks?

You should define per-package tasks in each package.json to enable parallelization and isolated caching, while root tasks remain a fallback. Register them in turbo.json to orchestrate the build.

How do I optimize CI patterns for a monorepo?

Optimize CI patterns for a monorepo by leveraging Turborepo inputs, outputs, and environment configurations for accurate caching. This provides specific patterns for CI optimization and workspace filtering.