Node 24 runs TypeScript natively, and that is enough

For years, running a TypeScript file required a bundler, a transpiler, or tsx. Node 22.6+ added experimental type stripping behind a flag, and Node 23 made it default. Node 24 LTS, which this site pins via .nvmrc and engines, runs plain .ts scripts out of the box:

node scripts/generate-llms-txt.ts

What works and what does not

Type stripping means exactly that: types are erased, nothing is transformed. You can use type annotations, interfaces, satisfies, and enum-free generics. You cannot rely on path-mapping tsconfig resolution, decorators, or emitting to a different module system.

Where this shines

Simple build scripts, codegen, glue for CI. The llms.txt generator in this repo is a plain .ts file executed by Node directly, with zero extra dependencies and no watch-mode tooling installed. If a script outgrows that, it moves into the Vite/Astro build, where Vite handles the transform anyway.

For anything this size, native type stripping is not a compromise. It is the right amount of tooling.