Pulled ALL skills from 15 source repositories: - anthropics/skills: 16 (docs, design, MCP, testing) - obra/superpowers: 14 (TDD, debugging, agents, planning) - coreyhaines31/marketingskills: 25 (marketing, CRO, SEO, growth) - better-auth/skills: 5 (auth patterns) - vercel-labs/agent-skills: 5 (React, design, Vercel) - antfu/skills: 16 (Vue, Vite, Vitest, pnpm, Turborepo) - Plus 13 individual skills from various repos Mosaic Stack is not limited to coding — the Orchestrator and subagents serve coding, business, design, marketing, writing, logistics, analysis, and more. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
97 lines
1.7 KiB
Markdown
97 lines
1.7 KiB
Markdown
# Environment Variables in Turborepo
|
|
|
|
Turborepo provides fine-grained control over which environment variables affect task hashing and runtime availability.
|
|
|
|
## Configuration Keys
|
|
|
|
### `env` - Task-Specific Variables
|
|
|
|
Variables that affect a specific task's hash. When these change, only that task rebuilds.
|
|
|
|
```json
|
|
{
|
|
"tasks": {
|
|
"build": {
|
|
"env": ["DATABASE_URL", "API_KEY"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### `globalEnv` - Variables Affecting All Tasks
|
|
|
|
Variables that affect EVERY task's hash. When these change, all tasks rebuild.
|
|
|
|
```json
|
|
{
|
|
"globalEnv": ["CI", "NODE_ENV"]
|
|
}
|
|
```
|
|
|
|
### `passThroughEnv` - Runtime-Only Variables (Not Hashed)
|
|
|
|
Variables available at runtime but NOT included in hash. **Use with caution** - changes won't trigger rebuilds.
|
|
|
|
```json
|
|
{
|
|
"tasks": {
|
|
"deploy": {
|
|
"passThroughEnv": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### `globalPassThroughEnv` - Global Runtime Variables
|
|
|
|
Same as `passThroughEnv` but for all tasks.
|
|
|
|
```json
|
|
{
|
|
"globalPassThroughEnv": ["GITHUB_TOKEN"]
|
|
}
|
|
```
|
|
|
|
## Wildcards and Negation
|
|
|
|
### Wildcards
|
|
|
|
Match multiple variables with `*`:
|
|
|
|
```json
|
|
{
|
|
"env": ["MY_API_*", "FEATURE_FLAG_*"]
|
|
}
|
|
```
|
|
|
|
This matches `MY_API_URL`, `MY_API_KEY`, `FEATURE_FLAG_DARK_MODE`, etc.
|
|
|
|
### Negation
|
|
|
|
Exclude variables (useful with framework inference):
|
|
|
|
```json
|
|
{
|
|
"env": ["!NEXT_PUBLIC_ANALYTICS_ID"]
|
|
}
|
|
```
|
|
|
|
## Complete Example
|
|
|
|
```json
|
|
{
|
|
"$schema": "https://turborepo.dev/schema.v2.json",
|
|
"globalEnv": ["CI", "NODE_ENV"],
|
|
"globalPassThroughEnv": ["GITHUB_TOKEN", "NPM_TOKEN"],
|
|
"tasks": {
|
|
"build": {
|
|
"env": ["DATABASE_URL", "API_*"],
|
|
"passThroughEnv": ["SENTRY_AUTH_TOKEN"]
|
|
},
|
|
"test": {
|
|
"env": ["TEST_DATABASE_URL"]
|
|
}
|
|
}
|
|
}
|
|
```
|