chidekina/aria-superpowers/turborepo
Claude Code and agent skill by chidekina/aria-superpowers
- community
Checking that the SKILL.md file is still in the repository.
Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.
Install
npx vskill@latest install chidekina/aria-superpowers/turborepoSKILL.md
Turborepo Skill
Build system for JavaScript/TypeScript monorepos. Turborepo caches task outputs and runs tasks in parallel based on dependency graph.
IMPORTANT: Package Tasks, Not Root Tasks
DO NOT create Root Tasks. ALWAYS create package tasks.
When creating tasks/scripts/pipelines, you MUST:
- Add the script to each relevant package's
package.json - Register the task in root
turbo.json - Root
package.jsononly delegates viaturbo run <task>
DO NOT put task logic in root package.json. This defeats Turborepo's parallelization.
Root Tasks (//#taskname) are ONLY for tasks that truly cannot exist in packages (rare).
Secondary Rule: turbo run vs turbo
Always use `turbo run` when the command is written into code:
The shorthand `turbo <tasks>` is ONLY for one-off terminal commands typed directly by humans or agents. Never write turbo build into package.json, CI, or scripts.
Quick Decision Trees
"I need to configure a task"
"My cache isn't working"
"I want to run only changed packages"
`--affected` is the primary way to run only changed packages. It automatically compares against the default branch and includes dependents.
"I want to filter packages"
"Environment variables aren't working"
"I need to set up CI"
"I want to watch for changes during development"
"I need to create/structure a package"
"How should I structure my monorepo?"
"I want to enforce architectural boundaries"
Critical Anti-Patterns
Using turbo Shorthand in Code
`turbo run` is recommended in package.json scripts and CI pipelines. The shorthand turbo <task> is intended for interactive terminal use.
Root Scripts Bypassing Turbo
Root package.json scripts MUST delegate to turbo run, not run tasks directly.
Using && to Chain Turbo Tasks
Don't chain turbo tasks with &&. Let turbo orchestrate.
prebuild Scripts That Manually Build Dependencies
Scripts like prebuild that manually build other packages bypass Turborepo's dependency graph.
However, the fix depends on whether workspace dependencies are declared:
- If dependencies ARE declared (e.g.,
"@repo/types": "workspace:*"in package.json), remove theprebuildscript. Turbo'sdependsOn: ["^build"]handles this automatically.
- If dependencies are NOT declared, the
prebuildexists because^buildwon't trigger without a dependency relationship. The fix is to:
- Add the dependency to package.json:
"@repo/types": "workspace:*" - Then remove the
prebuildscript
Key insight: ^build only runs build in packages listed as dependencies. No dependency declaration = no automatic build ordering.
Overly Broad globalDependencies
globalDependencies affects ALL tasks in ALL packages. Be specific.
Repetitive Task Configuration
Look for repeated configuration across tasks that can be collapsed. Turborepo supports shared configuration patterns.
When to use global vs task-level:
globalEnv/globalDependencies- affects ALL tasks, use for truly shared config- Task-level
env/inputs- use when only specific tasks need it
NOT an Anti-Pattern: Large env Arrays
A large env array (even 50+ variables) is not a problem. It usually means the user was thorough about declaring their build's environment dependencies. Do not flag this as an issue.
Using --parallel Flag
The --parallel flag bypasses Turborepo's dependency graph. If tasks need parallel execution, configure dependsOn correctly instead.
Package-Specific Task Overrides in Root turbo.json
When multiple packages need different task configurations, use Package Configurations (turbo.json in each package) instead of cluttering root turbo.json with package#task overrides.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/turborepo/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/chidekina/aria-superpowers/turborepo)