CodeVetter
← All unpacks
CodeVetter · Repo Unpack evidence

microsoft/rushstack

Scanned commit 1e18b16f02 dated 2026-10-01 — last upstream commit. Generated by codevetter 1.15.0 on 2026-10-02.

github.com/microsoft/rushstack ↗ · 3998 files · 21.6 MB · scan capped

https://rushstack.io/   The home for projects maintained by the Rush Stack community.

Deep analysis by cli:codex via the codex CLI on 2026-10-02 (471s) — every claim below links to its cited source files. Source inspection; upstream code and tests were not executed.

Overview

RushStack is a TypeScript monorepo of reusable developer tools for large JavaScript and TypeScript workspaces. Its inspected core combines Rush’s cross-project orchestration, Heft’s configurable task execution, API Extractor’s declaration analysis, and API Documenter’s documentation generation. It also includes dependency-inspection interfaces, opt-in daemon clients, MCP tooling, and a Playwright browser tunnel, with shared libraries and configuration rigs connecting these products.

System map

The repository packages several developer tools around shared command-line, filesystem, build, and configuration infrastructure. Rush owns cross-project orchestration, while Heft supplies configurable execution within projects. API analysis, documentation, browser interfaces, daemon IPC, and MCP each have separate runtime boundaries. The inspected manifests and CI define package builds and integration checks; this map is bounded rather than exhaustive.

Feature catalog

The inspected user-facing surface is primarily command-line tooling, supplemented by React interfaces and integration APIs. Rush supports workspace maintenance and phased builds; Heft exposes project tasks and watch variants. API tools produce review, declaration, and documentation artifacts, while Lockfile Explorer supports dependency investigation and policy checks. Ancillary utilities and integrations are represented here without claiming an exhaustive catalog of every published package.

Data flow

Configuration and filesystem inputs feed most tool flows, with CLI arguments determining selection and execution mode. API analysis transforms TypeScript declarations into structured models and generated files. Lockfile Explorer transfers a serialized dependency graph over HTTP into Redux, while bookmarks persist independently in browser storage. Daemon state combines workspace fingerprints with separately owned transport files and connection lifetimes.

Behavior traces

Source inspection followed API extraction, Markdown documentation generation, and Lockfile Explorer loading and bookmark persistence across their participating files. Additional traces expose Rush graph construction, Heft startup, build-cache lookup, and pnpmfile execution. These are execution-order descriptions derived from code, not runtime observations. Conditional branches materially change warnings, filesystem writes, process reuse, and lifecycle handling.

Testing signals

Tests and CI were inspected, not executed; test existence establishes neither passing results nor measured coverage. The inspected suite combines Jest tests over compiled JavaScript, snapshots, temporary-workspace subprocess fixtures, and Playwright demonstrations. CI specifies Linux/Windows and multiple Node versions, including cross-checkout cache exercises. Coverage observations are limited to the inspected files, and the inventory does not establish whole-repository coverage or absence.

Risk map

These are source observations and explicitly labeled hypotheses, not confirmed vulnerabilities. Sensitive boundaries include generated-output deletion, request-derived filesystem access, installed-code execution, browser launch/install behavior, and daemon ownership. Native and hosted execution share orchestration code but differ in lifecycle capabilities. The reviewed sources also reveal dependency coupling that merits focused regression checks when changed.

Extension points

Extension mechanisms are explicit and operate at several layers: CLI commands, operation graphs, project tasks, generated documentation, and MCP tools. Configuration rigs supply reusable defaults, while public APIs support programmatic invocation. Hooks distinguish session registration from per-graph execution customization. Plugin mechanisms load executable code and therefore carry compatibility and trust requirements.

Contributor handoff

Begin at the owning package and follow its manifest, rig, source entrypoint, and relevant tests before widening scope. Shared Rush graph and daemon changes require attention to native execution, retained processes, ownership, and cancellation. Generated files and copied frontend/backend contracts introduce edit-order and build-order traps. Tests and CI were inspected, not executed; recommendations below identify existing checks for a separately authorized execution task.

Languages

LanguageFilesShare of source
TypeScript280487%
JSON1949docs/config
Markdown445docs/config
JavaScript36211%
YAML68docs/config
Sass451%
CSS19docs/config
HTML10docs/config

Start reading here

Probable source entrypoint: build-tests/ — inferred from the directory tree and manifest, not the upstream docs.

Source roots

build-tests/ (770 files) libraries/ (770 files) apps/ (703 files)

Source layout — apps/

PathFiles
apps/api-documenter/55
apps/api-extractor/112
apps/cpu-profile-summarizer/15
apps/heft/86
apps/lockfile-explorer-web/15

Repository structure

Top-level pathFiles
build-tests/770
libraries/770
apps/703
heft-plugins/357
webpack/300
common/221
rush-plugins/210
rigs/164

Docs found: README.mddocs/rush/dogfooding-rush-daemon.mddocs/rush/environment-variables.mddocs/rush/phased-commands.mddocs/rush/plugin-migration-guide.mddocs/rush/reporter.mddocs/rush/rushd-review-map.md

Package

apps/api-documenter/package.json — @microsoft/api-documenter v7.30.17, 12 declared dependencies.

@microsoft/api-extractor-model@microsoft/tsdoc@rushstack/heft@rushstack/node-core-library@rushstack/terminal@rushstack/ts-command-line@types/js-yaml@types/resolveeslintjs-yamllocal-node-rigresolve

CI & config entrypoints

Structural health signals

Average score 6.6/10 across 96 analyzed source files; 47 hotspots surfaced.

These are deterministic review leads — size, churn, and structural signals — not proof of a bug in this project.

Recent history