• Alpha: npm install ts-r@next

ts-r docs

Six separate Rust tools for TypeScript, each usable on its own next to tsc, ESLint and Vite. What works today, how to install it, and every error code.

ts-r is a family of command-line tools for TypeScript, written from scratch in Rust. Each tool is a separate binary that replaces one tool you use today and reads the config you already have. You can adopt one without the others: none of them needs another ts-r tool or a background service.

ts-r is in alpha, on the npm dist-tag next. To try a tool, install it from npm.

The tools

ToolReplacesStatus today
ts-r-devvite devDev server with hot reload and React Fast Refresh; no vite.config support yet
ts-r-buildesbuild, Vite buildesbuild-compatible bundler CLI; no plugins or CSS bundling yet
ts-r-checktsc --noEmitType checker in progress: 66.1% of tsc 7's conformance tests match exactly
ts-r-lintESLint + typescript-eslint, oxlint103 rules matching ESLint's tests; no type-aware rules yet
ts-r-runtsx, ts-nodeRuns a TypeScript file on your Node, with --watch and source maps
ts-r-lsptsserver, the ESLint serverOne shared language server per workspace, with a VS Code extension

The ts-r launcher runs them as ts-r dev, ts-r build and so on, and ts-r ci runs check, lint and build in parallel. It contains no compiler code (crates/ts_r_cli).

Where to go next

  • Getting started: build the tools and run each one.
  • Compatibility and status: what passes against tsc, esbuild and ESLint today, and how the top 1,000 npm packages fare.
  • Error codes: one page per diagnostic, starting with the most common ones, each with an example and a fix.
  • Sound mode: the opt-in mode that makes types hold at runtime (pre-alpha).
  • Benchmarks: every measured number, with how it was measured, including the ones that miss their targets.

How these docs are made

The site is a statically exported Next.js app that renders Markdown from landing/content. Facts come from the crates' AGENTS.md files, the design records and measured runs; error-code examples are run through ts-r-check and shown only when it reports the code. Each page has a Markdown version at the same address with index.md appended, and llms.txt lists them all.