turborepo

Automate monorepo task orchestration with cached builds and turbo.json pipelines.

4|Updated Apr 12, 2024
One-click install
npx skills add https://github.com/figueroaignacio/ui --skill turborepo-figueroaignacio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/figueroaignacio/ui/tree/main/.agents/skills/turborepo
Command: npx skills add https://github.com/figueroaignacio/ui --skill turborepo-figueroaignacio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Turborepo provides a centralized way to orchestrate builds, tasks, and caching across a large monorepo, reducing redundant work by reusing outputs from previous runs.

Core Features & Use Cases

  • Incremental builds across apps and packages via a dependency graph
  • Per-package configuration with turbo.json and optional package configurations
  • CI optimization through affected builds and caching strategies

Quick Start

Run turbo run build --affected to validate changes across packages.

Frequently Asked Questions about turborepo

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

FAQPage Schema
How do I configure incremental builds in a monorepo to skip unchanged packages?

Configure incremental builds in a monorepo by setting up turbo.json pipelines to analyze the task graph and reuse cached outputs, skipping unchanged packages. This applies per-task dependencies and inputs to avoid redundant work across apps and libraries.

How does monorepo task caching work across CI environments?

Monorepo task caching works across CI environments by storing and reusing outputs from previous runs via remote caching. It analyzes changes against the dependency graph to apply affected builds, ensuring only necessary tasks execute during continuous integration.

What is the best way to define cross-package build dependencies in turbo.json?

The best way to define cross-package build dependencies in turbo.json is by using the dependsOn property within your pipeline configurations. This orchestrates task execution across apps and libraries by mapping the exact build order required.

Can I extend package configurations for specific apps in a monorepo?

Yes, you can extend package configurations for specific apps in a monorepo by using the extends feature in turbo.json. This allows you to apply shared base configurations while adding per-task environment variables, inputs, and outputs for individual packages.

How do I run affected builds to validate only changed packages?

Run affected builds to validate only changed packages by executing the command to run turbo with the affected flag. This analyzes the current changes against the monorepo dependency graph and limits task orchestration to only the impacted apps and libraries.