last update
Jun 24, 2026
license
MITv1.0.0
format
SKILL.md
- Install
// Downloads SKILL.md into ~/.claude/skills/typescript-7-tsgo-native/
$ curl -fsSL --create-dirs -o ~/.claude/skills/typescript-7-tsgo-native/SKILL.md https://claudeskil.com/skills/typescript-7-tsgo-native/SKILL.md - Invoke
// Inside Claude Code, type the skill name as a slash command
> /typescript-7-tsgo-native wire up a GitHub Actions deploy - Or just ask
// Claude loads the skill by itself when a request matches its description
> wire up a GitHub Actions deploy
- name:
- TypeScript 7 Native
- slug:
- typescript-7-tsgo-native
- version:
- v1.0.0
- license:
- MIT
- author:
- @chiragthummar16
- categories:
- tags:
- #typescript#tsgo#compiler#migration#performance
- description:
Adopt TypeScript 7's Go-native compiler (tsgo): install the RC, run compat checks, wire up the LSP, benchmark ~10x type-check speedups.
README.md
TypeScript 7 Native
TypeScript 7 reimplements the compiler in Go (the effort Microsoft calls Project Corsa), shipping it as the tsgo binary for roughly 10x faster type-checking and project loads. This skill walks you through adopting it incrementally: installing the preview, running tsgo next to your existing tsc to confirm identical diagnostics, switching VS Code to the native language server, and measuring the speedup on your own repo. It's for teams with large codebases or slow editor responsiveness who want to trial the native port before it becomes the default in the TypeScript 7.0 release.
When to use it
- Your monorepo's
tsc --buildor editor "loading…" times have become painful and you want to benchmark the native compiler against them. - You're evaluating whether your
tsconfig.jsonsetup (project references,extendschains,paths, declaration emit) is compatible withtsgotoday. - You want CI to run
tsgofor fast feedback while keepingtscas the source of truth during the transition. - You're setting up the experimental native LSP in VS Code and need the right settings flag.
How it works
The skill installs @typescript/native-preview, which vendors the tsgo executable. It runs tsgo --build (and plain tsgo -p tsconfig.json) over your project and diffs the emitted diagnostics and .d.ts output against legacy tsc so you can spot any divergence. It checks for current preview gaps — some compiler APIs and config edge cases aren't ported yet — and reports what's safe to switch. For the editor, it enables the Go-based language service in VS Code via the typescript.experimental.useTsgo setting (from the TypeScript Native Preview extension), which replaces the JS-based tsserver.
Usage
curl -fsSL --create-dirs -o ~/.claude/skills/typescript-7-tsgo-native/SKILL.md https://claudeskil.com/skills/typescript-7-tsgo-native/SKILL.md
# install the preview compiler
npm i -D @typescript/native-preview
# type-check with the native compiler
npx tsgo --build tsconfig.json
# benchmark against legacy tsc
time npx tsc --build --force
time npx tsgo --build --force
VS Code settings to try the native LSP:
{ "typescript.experimental.useTsgo": true }
Tips & gotchas
tsgois a type-checker and emitter, not a full programmatic replacement yet — third-party tools that import thetypescriptpackage API (ts-loader, custom transformers, ESLint's type-aware rules) still run on the JS compiler.- Pin the preview version; nightly builds of
@typescript/native-previewchange behavior frequently. - Keep
tscas your CI gate of record until diagnostics match exactly on your codebase. Treattsgoas the fast pre-check, not the authority. - The native LSP and the classic tsserver shouldn't both own type info — disable one per workspace to avoid duplicate diagnostics.
FAQ
Does this change my tsconfig.json? No. tsgo reads the same config format, including extends, references, and paths. The skill only verifies compatibility.
Is the ~10x number real? It's checking speed; gains vary by codebase. The skill benchmarks your repo so you get a real figure rather than the headline.
Can I ship to production with it? Treat it as preview. Validate emit output before relying on tsgo for builds.
$ cat reviews/