← ClaudeAtlas

turbo-pipeline-tuninglisted

Configure turbo.json tasks correctly — dependsOn, outputs, cache keys, persistent tasks, remote cache. Get build speed right without over-engineering.
voidcorp-core/void-harness · ★ 0 · Data & Documents · score 76
Install: claude install-skill voidcorp-core/void-harness
# turbo-pipeline-tuning Use when adding or modifying tasks in `turbo.json`, or when the monorepo's CI/local build feels slow. Turborepo's value is incremental caching; getting `dependsOn`, `outputs`, and cache keys right is the difference between "build in 4s" and "build in 90s". If you don't have `turbo.json` (single-app), this skill does not apply. ## The 4 fields that matter ```json { "tasks": { "build": { "dependsOn": ["^build"], // 1. order "outputs": ["dist/**", ".next/**"],// 2. cache artifacts "inputs": ["src/**", "tsconfig.json"], // 3. cache key (optional, smart default exists) "cache": true // 4. on/off } } } ``` 90% of pipeline bugs come from getting one of these wrong. ## `dependsOn` cheatsheet - `^build` — depends on `build` of upstream workspace packages (the package's own deps) - `build` — depends on `build` of the SAME package (rare; usually you want `^build`) - `lint` — depends on `lint` of the SAME package - `^lint` — depends on `lint` of upstream (rare; lint usually doesn't depend on others) - `db:generate` — explicit task name in another package The mental model: `^X` = wait for X in workspace deps. Bare `X` = wait for X in this package. ## `outputs` — get this right or kill cache If a task writes files Turborepo doesn't know about, the cache is **wrong** (next run reads stale outputs). Common misses: - ✗ `tsc --noEmit` writes nothing → `"outputs": []` (empty array, NOT omitted) -