A native IDE and a real terminal for the workstation under your desk, the Linux box in the corner, and every server you keep alive. Pair them once and switch between them — editing the actual files each machine runs. No SSH session to babysit, no cloud VM to rent, no folder to keep in sync.
Linux and macOS hosts · desktop or server · free on your own network · iPadOS 15+
Most of us are not working on one machine. There is the laptop, the desktop that actually has the RAM, a home server, and a handful of VPSes that need looking after. SpadeIDE pairs with each of them and puts them behind one tab strip.
The full IDE — tree-sitter editor, git with per-hunk staging, project search, your AI agents. This is where the day's work happens.
The same editor for an nginx config or a compose file, and the same real shell for
systemctl, logs and a quick fix at 11pm. No separate SSH app.
Every host keeps its own projects, open tabs and expanded folders. Come back to a machine and it is where you left it.
Each host runs a small agent. The iPad talks to it over an encrypted connection and draws a real, native interface — so it feels like an IDE, not like a screen share.
Your compiler, your toolchain, your SSH keys, your git credentials — on each machine. Nothing is uploaded and nothing is rented by the hour.
Text renders on the iPad. No video codec between you and your code, so typing feels local even when the machine is not.
Mutual TLS 1.3 with keys pinned on both ends. Even our relay is a blind pipe that cannot read your files.
Tree-sitter syntax highlighting for 18 languages, line numbers, indentation that follows the file, find and replace across the project, and a command palette.
Stage and unstage per file or per hunk, commit, push and pull — all executed by the git on your host, with your credentials, in your repositories. Several checkouts in one project are found and listed automatically.
A full xterm emulator attached to a login shell on your host — vim, htop, build logs, colours and all. If Claude Code, Gemini, Codex, Copilot or Cursor Agent are installed on that machine, SpadeIDE lists them and opens one in a new tab at your project root.
A tray app on Ubuntu/Debian, a systemd unit on a headless box, a menu-bar app on macOS. It listens only on your own network until you say otherwise.
The QR carries the host's certificate fingerprint, so the iPad pins the right machine before it sends anything. Pairing keys live in the Secure Enclave.
That folder becomes the read-write root and the terminal's working directory. Everything outside it stays read-only. Repeat on the next machine — they all live in the same app.
On your own network, nothing leaves it: the iPad finds the host over Bonjour and connects directly. Away from home, both sides dial out to a small introducer that helps them find each other, then hands off to a direct peer-to-peer tunnel where the network allows it.
Bonjour discovery, direct connection. No internet traffic at all — not even a DNS lookup.
The introducer matches two opaque handles and gets out of the way. It never learns who you are.
The introducer is a single Go binary you can host yourself. Point the app and the agent at it and we are out of the loop entirely.
Every feature on one paired host, no time limit. Pairing the rest of your machines and reaching them from outside is the paid part — the only part that costs us anything to run.