Skip to content

Repository files navigation

Ferryx

Ferryx

Parallel agentic development. Zero bloat.

Native Ghostty terminal engine, wgpu GPU rendering, and a headless Rust PTY daemon. No Electron anywhere.

Download  ·  Website  ·  Docs  ·  Discord


Ferryx running an agent in a split terminal next to an embedded browser tab

An agent working in a native terminal pane, split beside an embedded browser tab.


Download

Platform Package
macOS Universal DMG (Apple Silicon & Intel) .dmg
Windows Installer (x64, not code-signed yet) .exe
Linux Portable AppImage (x64) .AppImage
Linux Debian / Ubuntu package (x64) .deb
Linux (Headless) Server / VPS PTY Daemon & CLI (x64) ferryx-cli

The macOS, Windows, and Linux links resolve against the latest release. ferryx-cli is pinned to v2026.09.11.1, the most recent release that publishes it; newer releases do not, so build it from source (cargo build --release --bin ferryx-cli) if you need it current. Verify downloads with the SHA256SUMS.txt published alongside the binaries:

sha256sum -c SHA256SUMS.txt

Speed. Isolation. Total control.

Every layer is engineered for minimal latency and autonomous agent collaboration.

Native Ghostty & wgpu engine

Desktop terminal panes render through native libghostty and a GPU-accelerated wgpu pipeline, giving crisp font rasterization and low-latency throughput.

  • libghostty terminal core
  • wgpu GPU pipeline
  • Offscreen WGPU render benchmark: 50-frame p50 3.10 ms on Apple M4 Max

Multi-agent workspaces

Run parallel AI coding agents (Claude Code, Codex, Gemini CLI) in isolated split panes with real-time status indicators.

  • Isolated worktree per agent
  • Live status indicators
  • Launch straight from the tab bar

Flexible split-pane tiling

Arbitrary vertical and horizontal splits with pointer-drag resizing and smooth layout transitions.

  • Vertical and horizontal splits
  • Pointer drag resizing
  • Drag tabs into any pane

Mobile web pairing

Authenticated remote access over QR or PIN. Stream terminal output to a dependency-free DOM terminal grid and steer agents from anywhere.

  • 6-digit PIN pairing
  • Streamed terminal grid
  • Steer agents from a phone

Remote Linux machine pairing (No SSH required)

Pair headless Linux servers, VPSs, and cloud instances as project-owning machines. Ferryx uses an outbound-only relay tunnel, so machines behind NAT, firewalls, or without public IPs / open SSH ports connect seamlessly.

  • Single standalone binary (ferryx-cli) with zero GUI/WebKit dependencies
  • Outbound encrypted relay tunnel: no inbound SSH, open ports, or public IP needed
  • Native terminal split-panes and remote Git worktrees run directly on the machine
# 1. Download ferryx-cli on the remote Linux machine (x64)
#    Pinned to the most recent release that publishes this binary.
sudo curl -fsSL https://github.com/Indosaram/ferryx/releases/download/v2026.09.11.1/ferryx-cli -o /usr/local/bin/ferryx-cli
sudo chmod +x /usr/local/bin/ferryx-cli

# 2. Start the headless PTY daemon in background
nohup ferryx-cli --daemon > /tmp/ferryx.log 2>&1 &

# 3. Generate a 10-minute machine pairing PIN
ferryx-cli pair generate --access machine

# 4. In Ferryx Desktop, open Settings (Cmd+,) > Remote > [Pair with PIN] and enter the 6-digit PIN

Zero Electron overhead

Tauri v2 with the platform's native WebKit or WebView2 engine, paired with a headless Rust PTY daemon. The core runs on macOS, Windows, and Linux; selected OS integrations such as launchd, Dock badges, color emoji, and vibrancy remain macOS-first.

  • Tauri v2 shell
  • Headless Rust PTY daemon
  • macOS, Windows, Linux

Resilient persistence

Workspace state snapshots automatically and the background daemon reattaches, so an exit or crash never costs you work.

  • Layout snapshots
  • Daemon survives the GUI
  • Reattach with output replay

Built different

An architecture inventory of Ferryx's native Ghostty and Rust components. This is not a performance benchmark against Electron-based AI IDEs or terminal emulators.

Architecture component Ferryx implementation
Terminal parser libghostty-vt
Desktop rendering WGPU native child surfaces
PTY lifecycle Headless Rust daemon with output replay
Embedded browser Native WebView split-tabs
Mobile pairing PIN/QR gateway with a custom DOM terminal grid
Agent supervision Manifest-driven status detection and notifications

Guides and comparisons

Practical walkthroughs:

Honest comparisons against the alternatives, on architecture and licensing rather than unmeasured performance claims:

Build from source

Prerequisites

Clone and install

git clone https://github.com/Indosaram/ferryx.git
cd ferryx
bun install --cwd ui
bun install --cwd site

Run the desktop app

The Tauri shell starts the UI dev server defined in src-tauri/tauri.conf.json:

cd src-tauri && cargo tauri dev

Run the site and docs

Astro + Starlight on port 14173:

bun run --cwd site dev

Validate changes

bun run --cwd ui test
bun run --cwd site build
cd src-tauri && cargo check

Architecture

ferryx/
├── src-tauri/   # Rust Tauri v2 core: PTY daemon, IPC, notifications, remote gateway
├── ui/          # React frontend: native terminal surface, layout, remote pairing
├── site/        # Astro + Starlight landing page and docs, deployed to GitHub Pages
└── docs/        # Specifications, audit logs, and reference material

Rust native core (src-tauri) owns pseudoterminal lifecycles, manages Git worktree leases, hosts native child webviews, and runs an authenticated Axum WebSocket gateway for mobile pairing. Terminal sessions live in a headless daemon rather than the GUI, so closing the window never touches a PTY. Output lands in a ring buffer with monotonic sequence numbers, and reattaching replays from the last sequence.

Frontend (ui) is the React shell rendered inside WebKit or WebView2. It drives pane tiling, agent title detection, keyboard shortcuts, and terminal search overlays.

Site (site) is the static Astro and Starlight build that hosts the landing page, guides, and an embedded demo running the real product components.

Contributing

Contributions are welcome. Branch from main, run the validation commands above, and open a pull request describing the user-visible result.

Questions and ideas are welcome in Discord.

License

This project is licensed under the Sustainable Use License (SUL-1.0): free to use, modify, and share for personal and non-commercial purposes.

Code Signing Policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

  • Maintainer: @Indosaram
  • Privacy: Ferryx stores workspace data locally. Remote access, embedded websites, external coding agents, and update services can exchange data over the network. See the Ferryx Privacy Policy for data handling and deletion choices.

About

Parallel agentic development workspace. Native Ghostty terminal engine with wgpu GPU rendering, a git worktree per agent, embedded browser tabs, and authenticated mobile remote access. Rust and Tauri, no Electron.

Topics

Resources

Stars

11 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages