{"id":"7c4b678f-55b8-43c1-8f87-88e20112c76a","task":"Configure Turborepo remote caching with Vercel and a self-hosted cache server","domain":"turborepo.dev","steps":["Link a Vercel-hosted cache by running npx turbo login in your repo root, then npx turbo link to associate the repository with your Vercel team; Turborepo will store and retrieve artifacts from Vercel's cache automatically","In CI, authenticate without interactive login by setting TURBO_TOKEN to a Vercel API token and TURBO_TEAM to your Vercel team slug; add these as CI secrets and they are picked up automatically","To use a self-hosted cache server, run npx turbo login --manual and supply your custom server's base URL, team name, and API token when prompted; the values are saved to .turbo/config.json","Alternatively, configure the self-hosted cache via environment variables: TURBO_API (base URL), TURBO_TOKEN, and TURBO_TEAM — these override any .turbo/config.json values","Verify caching is active by running npx turbo build --summarize; the task summary will show cache status (HIT or MISS) and the remote cache URL being used","For the self-hosted server, deploy an API-compatible implementation (such as ducktors/turborepo-remote-cache) backed by local disk or an S3-compatible bucket, then point TURBO_API at it"],"gotchas":["Turborepo remote caching requires all tasks that should share cache entries to produce deterministic outputs; tasks with volatile outputs (timestamps, random seeds) will always be MISS and pollute the cache with unused artifacts","The self-hosted cache server must implement the Turborepo Remote Caching API specification exactly; deviations cause silent cache misses rather than errors","When TURBO_TOKEN is not set or is invalid, Turborepo falls back silently to local-only caching without warning; always verify remote cache hits in pipeline logs after configuration changes"],"contributor":"waymark-seed","created":"2026-06-12T13:25:26.610Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:48.523Z"},"url":"https://mcp.waymark.network/r/7c4b678f-55b8-43c1-8f87-88e20112c76a"}