A GitHub project called ts-rust has been making the rounds among developers over the past couple of days. It ports Microsoft's Go rewrite of the TypeScript compiler — along with the type checker and the language server (LSP) — entirely to Rust, with a command-line tool called tsc-rs. The maintainer, pingdotgg, is blunt about how it was built: every line of implementation code was generated by a large language model, and they say they haven't read a single line of it themselves.
The project is pinned to a specific upstream revision of microsoft/typescript-go, corresponding to TypeScript 7.1.0-dev. According to the project's documentation, all 181,711 tests ported over from the Go version pass, and compatibility against real-world projects the author tested came out at 100%. The repository is MIT-licensed while retaining TypeScript's Apache-2.0 notice and the Go standard library's BSD-3-Clause notice, and it currently has more than 600 stars.
Two model paths
The author first ran a pass with OpenAI's GPT-5.6 Sol and GPT-6 Astra. That attempt burned through more than $400,000 in API costs, producing roughly 1.3 million lines of Rust code, and compatibility topped out at 84%. The author then started over with Claude Opus 5.5, reaching a working v0 in 10 hours and spending roughly $24,047 in total over two weeks.
I've never read a line of this code.
On performance, the author benchmarked against their own T3 Code project: a full type-check run takes 7.25 seconds on tsc-rs versus 16.10 seconds on the Go-based tsc 7, a 2.22x speedup. Using the JavaScript-based tsc 6 as the baseline, tsc 7 is 7.1x faster and tsc-rs is 11.4x faster. All of these figures come from the author's own testing; there has been no independent reproduction so far, and neither OpenAI nor Anthropic has publicly commented on the comparison.
Where it fits among similar projects
Large models doing large-scale code migration already has a handful of public examples this year. GitHub has previously disclosed using Copilot to rewrite one of its own runtimes into 830,000 lines of Rust, and Mistral used an agent to migrate 40,000 lines of Fortran 77 to C++. What these projects have in common is an existing, broad-coverage test suite acting as the referee.
ts-rust follows the same pattern. Microsoft's own Go port was itself a file-by-file, copy-style rewrite, and its test cases came along with it — giving the model an almost fully deterministic target: hundreds of thousands of tests, and passing is passing. In a task with such a clear target and immediate feedback, the gap between the two models gets magnified. Whether the same comparison would hold for fuzzier, test-free business code is still an open question.
Known rough edges
The documentation lists four limitations: in a monorepo where the same file is reachable via multiple paths, the output may contain more files than tsc produces; under tsc -b incremental builds, it may read stale or missing artifacts; memory grows slowly over long editing sessions, by roughly 20MB per 1,000 edits; and the version string it reports is the 7.1.0-dev snapshot used at port time, not an npm version.
The author frames this as an early release. For teams curious to try it, running tsc-rs alongside the official tsc in CI and diffing the diagnostic output is the safer way to kick the tires; swapping it straight into a production build pipeline without anyone having reviewed the code is a risk teams will have to weigh for themselves.
Sources: ts-rust project README, CocoLoop, Hacker News discussion; test counts, API costs, and T3 Code benchmark times/multipliers were checked against the project README.