Cache lint and typecheck per workspace with Turborepo
bun run lint and bun run typecheck now run through Turborepo, so unchanged workspaces replay from cache instead of being checked again.
lint and typecheck re-checked the whole repository on every run. They now run through Turborepo 2.11.9 with one task per workspace plus a root task, one at a time to respect the build slot. A workspace’s cache key covers its own files and the hashes of the workspaces it depends on, so a change re-checks only the workspaces that use it. Changing shared config such as eslint.config.mjs, tsconfig.base.json or bun.lock invalidates everything.
A cold bun run lint takes about 2.5 minutes. A rerun with no changes replays all 16 tasks from .turbo/ in 0.1 seconds. Missing dependency declarations the cache needed were added, and .turbo/ is ignored. Run with -- --force to bypass the cache.
Evidence
No screenshot: Build tooling; nothing changes in the app.