Skip to content

Latest commit

 

History

199 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tysel

Write TypeScript. Ship a binary.

A native TypeScript runtime for services and durable agents.
Deploy one capability-bounded executable—without Node.js, V8, or node_modules in production.

Get started · Examples · Documentation · Security

src/index.ts and tysel.toml build into dist/hello-tysel, one native executable

Why Tysel

  • Ship one artifact. Package your application and its native runtime as one executable.
  • Bound every capability. Network, secrets, databases, and files are denied until explicitly granted.
  • Resume durable work. Persist steps, effects, sleep, retry, and signals so work can continue after a process restart.

Tysel is Web-API-first and designed for HTTP services, workers, MCP tools, isolated plugins, and durable agents. Experimental Wasm Component tasks let bounded Rust or Go code use the same task model.

Quick start

Install the latest published release on Linux or macOS:

curl -fsSL https://tysel.dev/install.sh | sh
tysel doctor --install

Create, verify, and run an HTTP service:

tysel init hello-tysel --yes
cd hello-tysel
tysel task verify
tysel dev

In another terminal, call the address printed by the server:

curl http://127.0.0.1:3000/hello

Stop the development server with Ctrl-C, then package and run it:

tysel task release
./dist/hello-tysel

The developer installation contains three cooperating tools. The application artifact is still one executable. See installation for version pinning, authenticated upgrades, rollback, and Windows via WSL.

Where Tysel fits

Choose Tysel when you need Know this before adopting
One executable instead of a JavaScript environment Builds target the host or a verified Linux/macOS x64/arm64 runtime
Web-standard APIs for services and tasks Tysel is not a general Node.js compatibility layer
Explicit host-resource grants Native addons, subprocesses, and dynamic libraries are outside the contract
Durable work that survives restarts Linux is the production isolation target

Run tysel compat before adopting an npm dependency. Choose Node.js, Bun, or Deno instead when broad Node.js compatibility or a general-purpose JavaScript toolchain is the primary requirement.

What you can build

Browse the complete example gallery for filesystem, SQLite, PostgreSQL, Redis, WebSocket, and LLM integrations.

Security and evidence

Evaluate Tysel through its security model, capability matrix, performance evidence, and production runbook. Quantitative claims are published only with a named release, environment, workload, and reproduction command.

Platform and stability

Area Current contract
API stability Pre-1.0; APIs may change between minor releases
Toolchain Linux and macOS, x64 and arm64
Windows WSL; no native Windows archive yet
service profile Trusted first-party application code
isolated profile Separate worker process; Linux is the production security gate
component profile Experimental Wasm Component tasks with restricted WASI
Native runtime cross-compilation Not provided; build --target instead packages with a verified same-version official runtime

See execution profiles and how Tysel works for the complete runtime model.

Contributing

Issues and focused pull requests are welcome. CI validates formatting, tests, compatibility, supply-chain checks, and release evidence. Do not report vulnerabilities in a public issue; follow the security reporting guidance.

License

Apache-2.0