Skip to content

wiedymi/restty

Repository files navigation

restty

Version Downloads CI Demo

Browser terminal rendering for web apps, powered by libghostty-vt in WASM, WebGPU with WebGL2 fallback, and TypeScript text shaping.

restty is early-release software. The high-level API is usable, but some APIs may still change while the developer experience settles.

Install

npm i restty

Quick Start

<div id="terminal"></div>
import { Restty } from "restty";

const restty = new Restty({
  root: document.getElementById("terminal") as HTMLElement,
});

restty.connectPty("ws://localhost:8787/pty");

new Restty(...) creates the pane DOM, canvas, and hidden IME input for you.

Main Entrypoints

  • restty: primary API (Restty, createRestty, themes, fonts, PTY helpers, plugin types).
  • restty/xterm: focused xterm.js-style compatibility wrapper.
  • restty/headless: DOM-free WASM terminal core wrapper for replay, tests, and backend-owned sessions.
  • restty/esm: standalone browser ESM bundle for script/CDN usage.
  • restty/internal, restty/internal/runtime, restty/internal/surface: unstable advanced modules.

See the canonical API surface docs for the current method and export list.

Common Links

Local Development

git clone https://github.com/wiedymi/restty.git
cd restty
git submodule update --init --recursive
bun install
bun run build:themes
bun run playground

Open http://localhost:5173.

Useful checks:

bun run build
bun run test:ci
bun run lint
bun run format:check
bun run playground:build

Cloudflare Pages deployment settings:

  • Framework preset: None
  • Build command: bun install --frozen-lockfile && bun run pages:build
  • Build output directory: playground/dist
  • Root directory: leave blank
  • Environment variables: set SKIP_DEPENDENCY_INSTALL=1 when using the build command above.

The hosted docs are sourced from playground/content/docs/. Repository notes under docs/ are legacy/internal references for development context.

About

Powerful, lightweight web terminal. Batteries included. Powered by libghostty-vt, WebGPU, and text-shaper.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors