| name | turbo |
| description | Turborepo monorepo build system with task pipelines, caching, and package management. Triggers on turbo, turbo.json, monorepo. |
| triggers | turbo, turbo\.json, monorepo, workspace |
MCPSearch({ query: "select:mcp__plugin_devtools_context7__query-docs" })
// Task configuration
mcp__context7__query_docs({
libraryId: "/vercel/turborepo",
query: "How do I configure tasks with dependsOn, outputs, and inputs?",
});
// Caching
mcp__context7__query_docs({
libraryId: "/vercel/turborepo",
query: "How do I configure cache outputs and remote caching?",
});
// Filtering
mcp__context7__query_docs({
libraryId: "/vercel/turborepo",
query: "How do I filter workspaces and packages?",
});
Note: Context7 v2 uses server-side filtering. Use descriptive natural language queries.
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"]
},
"test": {
"dependsOn": ["build"],
"outputs": []
},
"lint": {
"outputs": []
},
"dev": {
"cache": false,
"persistent": true
}
}
}
Key concepts:
^build- Runbuildin dependencies firstoutputs- Files to cacheinputs- Files that affect cache keycache: false- Disable caching for dev taskspersistent: true- Long-running tasks
{
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"],
"inputs": ["src/**", "package.json", "tsconfig.json"]
}
}
}
Test after build:
{
"tasks": {
"test": {
"dependsOn": ["build"],
"outputs": ["coverage/**"]
}
}
}
Parallel independent tasks:
{
"tasks": {
"lint": {
"outputs": []
},
"typecheck": {
"outputs": []
}
}
}
Best practices:
- Keep
inputsspecific to avoid cache misses - Use workspace filters for targeted builds
- Enable remote caching for CI
- Context7 docs fetched for current config
- Tasks have proper
dependsOn -
outputsdefined for cacheable tasks - Dev tasks have
cache: false - Pipeline is efficient (parallel where possible)