A CLI that records each package.json dependency override in an appendix and scans for security issues, so overrides can be maintained safely.
microsoft/rushstack
A monorepo of reusable build, lint, and API tooling for large-scale TypeScript projects, centered on the Rush and Heft build systems.
- Stars
- 6,508
- Forks
- 716
- Open issues
- 1,150
- Last commit
- 4 days ago
What is it?
Rush Stack is a collection of tools maintained by the Rush Stack community for building and maintaining large TypeScript monorepos. The repository hosts many packages under one roof, including Rush, a build orchestrator for monorepos, and Heft, a build tool that integrates with Rush and runs TypeScript, Jest, Webpack, Rspack and Sass tasks through plugins.
Other packages cover API governance and documentation: API Extractor creates .d.ts rollups and tracks TypeScript API signatures, API Documenter generates documentation sites from TSDoc comments, and Lockfile Explorer helps investigate version conflicts in PNPM lockfiles. Supporting libraries provide ESLint configs and plugins, a terminal renderer, a worker pool, a command-line parser, and a build cache plugin system with options for S3, Azure Storage and HTTP backends.
The packages are published to npm under the @microsoft and @rushstack scopes, and each is developed in this repo with its own changelog.
Key features
- 01Rush orchestrates builds across many packages in a TypeScript monorepo.
- 02Heft runs TypeScript, Jest, Webpack, Rspack and Sass tasks via plugins.
- 03API Extractor creates .d.ts rollups and tracks API signature changes.
- 04API Documenter generates documentation sites from TSDoc comments.
- 05Lockfile Explorer helps find and resolve version conflicts in PNPM lockfiles.
- 06Build cache plugins support Amazon S3, Azure Storage and HTTP backends.
Use cases
- Maintaining a large TypeScript monorepo that needs ordered, cached builds.
- Publishing a TypeScript library with curated .d.ts files and generated API docs.
- Tracking and reviewing public API changes across package versions.
- Diagnosing duplicate or conflicting dependency versions in PNPM workspaces.
Things to know
- The license could not be automatically identified, so check the repository's license terms before use.
Topics
FAQ
- What is rushstack?
- A monorepo of reusable build, lint, and API tooling for large-scale TypeScript projects, centered on the Rush and Heft build systems. Rush Stack is a collection of tools maintained by the Rush Stack community for building and maintaining large TypeScript monorepos. The repository hosts many packages under one roof, including Rush, a build orchestrator for monorepos, and Heft, a build tool that integrates with Rush and runs TypeScript, Jest, Webpack, Rspack and Sass tasks through plugins.
- Is rushstack free to use? What license does it have?
- rushstack is open source under the Other license. Check the license terms before using it in commercial products.
- Is rushstack still maintained?
- Actively maintained. The last commit to rushstack was on Nov 2, 2026.
- What can I use rushstack for?
- Maintaining a large TypeScript monorepo that needs ordered, cached builds. Publishing a TypeScript library with curated .d.ts files and generated API docs. Tracking and reviewing public API changes across package versions. Diagnosing duplicate or conflicting dependency versions in PNPM workspaces.
- Where can I get rushstack?
- The source code and installation instructions are on GitHub: https://github.com/microsoft/rushstack
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Rust-based frontend toolchain combining an npm-compatible package manager, a Turbopack-powered bundler, and a browser-capable WASM build.
Monorepo containing the source for Proton's web clients, including Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet.
An open-source ecommerce platform built as a WordPress plugin, with this monorepo holding WooCommerce core and its related plugins, packages, and tools.
Open-source OpenAPI/Swagger toolkit with an interactive API reference, an offline-first API client, and integrations for many web frameworks.
A zero-config JavaScript/TypeScript linter that wraps ESLint with opinionated, strict defaults and a built-in code style.