Ship the Ghostty experience. Across every screen.
ghosttea turns libghostty-vt into an embeddable WebGPU runtime for Electron
and a native Metal runtime for iOS—so your IDE, agent, or productivity app can feel like the terminal
developers already love.
npm i @vibecook/ghosttea-electron @vibecook/ghosttea-react
❯ codex --resume
OpenAI Codex · agent session restored
› Add a command palette to the terminal workspace.
• Read 17 files
• Updated workspace actions and shortcuts
✓ 148 tests passed in 12.4s
Ready for review.
› Add a command palette to the terminal workspace.
• Synced from the active session
• Running package checks
✓ 148 tests passed
Ready for review.
› Add a command palette to the terminal workspace.
• Session attached
• Changes synced
✓ 148 tests passed
Ready for review.
01 / architecture
One terminal core.
Native pixels everywhere.
Your product owns the interface. ghosttea owns terminal state, process lifecycle, ordered input, and the shortest path to the local GPU.
Electron + React
One ordered terminal core.
Sharp terminal pixels inside your interface.
02 / purpose
The terminal developers love. Now inside the products they build.
CLI agents have turned the terminal into the center of modern development. Ghostty set the bar for how fast, native, and calm that surface can feel.
ghosttea brings that terminal core into IDEs, AI workbenches, and productivity apps—without rebuilding VT semantics, GPU rendering, PTYs, automation, and session continuity from scratch.
03 / what it changes
One terminal core.
Three native surfaces.
Your product on top.
Start with a complete workspace or compose only the runtime layers your product needs.
Feels like Ghostty
The same pinned VT core, native text shaping, reflow, selection, scrollback, and GPU-first rendering.
Drops into Electron
Ship the same terminal workspace on macOS and Windows with typed lifecycle APIs and a sandboxed bridge.
Goes native on iOS
Connect over SSH or carry a live logical session to a locally rendered Metal surface on iPhone or iPad.
Truffle / remote sessions
A live terminal.
Replicated, not streamed.
Truffle carries ordered terminal state to another device. ghosttea rebuilds the view there and renders every pixel locally with WebGPU or Metal.
The process
stays put.
PTY · Ghostty VT · source of truth
terminal state → no screenshots
no video stream
The view
comes with you.
WebGPU desktop · Metal iOS · local pixels
Same live session. Native resolution on every screen.
Host stays authoritative. Input and resize control remain explicit.
Packages / choose a layer
Start high-level.
Drop down deliberately.
Six npm packages and six published Rust crates share one version contract.
VibeCook / ghosttea
Ship the terminal experience
your users already want.
Bring Ghostty-powered terminal behavior to your Electron or native iOS product without starting from a blank emulator.