CodeVetter · Repo Unpack · System map
vercel/turborepo
The principal product is a native CLI organized into focused Rust crates. Startup, repository discovery, task scheduling, process execution, caching, and output rendering have separate owners. JavaScript packages and Next.js applications surround the CLI with distribution, onboarding, documentation, and internal operator tooling.
- The turbo binary handles internal LSP commands before normal startup, installs the panic handler, and delegates ordinary execution to turborepo_cli::main.
- The binary injects TurboQueryServer because it depends on both the CLI and GraphQL implementation; query execution is exposed through the QueryServer interface.
- CLI argument parsing precedes Rayon and Tokio startup; run_main owns command dispatch and runtime shutdown uses shutdown_background.
- RunBuilder::build assembles discovery results, AsyncCache, an execution context, run services, and a repository context into Run.
- Local cache storage uses hash-named .tar.zst archives plus restore-manifest and metadata JSON sidecars.
- The npm turbo package distributes a launcher, bundled docs, and schema.json, with version-matched optional binaries for macOS, Linux, and Windows on two architectures.
- The root provides build:turbo and turbo scripts, pins Node 24 and pnpm 12, and registers Rust crates and the repository addon in the Cargo workspace.
- apps/docs is a Next.js documentation application; apps/factory is a separate operator surface whose documented workspace storage uses private Blob objects and Vercel Sandbox sessions.