turborepo

Orchestrates build tasks and dependency graphs for JavaScript and TypeScript monorepos.

44|7|Updated Oct 16, 2024
One-click install
npx skills add https://github.com/DiscourseGraphs/discourse-graph --skill turborepo-discoursegraphs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/DiscourseGraphs/discourse-graph/tree/main/skills/turborepo
Command: npx skills add https://github.com/DiscourseGraphs/discourse-graph --skill turborepo-discoursegraphs

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill solves the complexity of managing large-scale JavaScript and TypeScript monorepos by providing a standardized, high-performance build system that eliminates redundant work through intelligent caching and parallel task execution.

Core Features & Use Cases

  • Task Orchestration: Automatically manages dependency graphs to ensure tasks run in the correct order across packages.
  • Incremental Builds: Uses content-based hashing to skip work that has already been completed, drastically reducing CI/CD times.
  • Use Case: When you modify a shared UI library, this Skill ensures that only the affected applications are rebuilt and tested, rather than the entire repository.

Quick Start

Use the turborepo skill to configure a new build pipeline that runs tests in parallel across all packages in the repository.

Frequently Asked Questions about turborepo

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

FAQPage Schema
How do I optimize CI/CD pipelines for a JavaScript monorepo?

Optimize CI/CD pipelines for a JavaScript monorepo by applying intelligent caching and parallel task execution. This approach skips redundant work using content-based hashing, ensuring only modified packages and their dependents are rebuilt across the repository.

How does content-based hashing work for incremental builds?

Content-based hashing for incremental builds works by caching task outputs based on input hashes rather than timestamps. This mechanism skips previously completed work, drastically reducing build times when a shared library is modified in a multi-package repository.

What is the best way to run tests in parallel across multiple packages?

The best way to run tests in parallel across multiple packages is to configure a build pipeline that automatically manages dependency graphs. This ensures tasks run in the correct order and execute concurrently across all repository packages.

Do I need to declare package-level dependencies for task orchestration?

Yes, you must declare package-level dependencies for task orchestration. Proper dependency declaration is required to ensure correct parallelization and caching, allowing the build system to automatically manage the execution graph across packages.

Can I use this build system to manage TypeScript monorepos?

Yes, you can use this build system to manage TypeScript monorepos. It standardizes high-performance task orchestration for both JavaScript and TypeScript multi-package repositories, applying dependency graph management to optimize development workflows.

Why does modifying a shared UI library trigger a full repository rebuild?

Modifying a shared UI library triggers a full repository rebuild without incremental caching. By applying content-based hashing, the build system skips unaffected packages entirely, ensuring only the applications dependent on the modified library are rebuilt and tested.