TypeScript, compiled.

An LLVM-based ahead-of-time compiler that turns TypeScript into standalone native executables. No Node.js required.

bash
ts-aot app.ts -o app && ./app

What you get

>

Native Binaries

Single executable output. No runtime dependencies. Compile .ts, .tsx, .js, .jsx to standalone binaries.

N

Node.js Compatible

32 built-in modules: fs, http, net, crypto, streams, and more. 11 npm packages verified (semver, uuid, nanoid, etc.).

L

LLVM Optimized

Full O0-O3 pipeline with type-driven codegen, NaN-boxing, escape analysis, and flat inline-slot objects.

T

Real TypeScript

Classes, generics, async/await, decorators, generators, iterators, destructuring, and more. Not a subset.

Performance

AOT compilation eliminates JIT warmup. ts-aot shines in cold-start and recursive compute workloads.

Cold Start

ts-aot
16ms
Node.js
31ms

2x faster startup -- no JIT warmup needed

Recursive fib(35)

ts-aot
36ms
Node.js
60ms

1.7x faster -- AOT excels at recursive calls

V8's JIT excels at long-running array and string operations. See limitations for a full comparison.

How it works

TypeScript
Parser
Type Analyzer
HIR
LLVM IR
Native Binary

A hand-written C++ parser feeds into type-aware analysis, SSA-based HIR with 8 optimization passes, then LLVM 18 for native code generation. The result links against a custom C++ runtime with mark-sweep GC, ICU strings, and libuv async I/O.

Best for

CLI tools Fast startup, single binary distribution
Serverless functions Cold start performance matters
Microservices Predictable performance, no JIT variance
Build tools Short-lived processes with TypeScript ergonomics

Built by Claude

ts-aot is written entirely by Claude, Anthropic's AI assistant. The compiler, runtime, extension system, test suites, and this website were all generated through conversation with a human collaborator.

That means ~100,000 lines of C++20, a hand-written recursive descent parser, a custom mark-sweep garbage collector with generational nursery, 8 SSA optimization passes, 32 Node.js API modules, and 560+ passing tests -- all produced by an AI pair-programming with Claude Code.

The project is an experiment in what AI-assisted software engineering can produce today. Every line of code was written by Claude, with human direction on architecture and priorities.

Ready to try it?

Compile your first TypeScript program to a native executable.