SpadeIDE

Everything an IDE needs,
on every machine you own

The iPad draws the interface. Each of your machines does its own work — same files, same toolchain, same credentials you already use at the keyboard.

Every machine, one app

Pair as many hosts as you have. They sit behind one switcher, each remembering its own projects, open tabs and folder state.

Linux, anywhere

Desktop app with a tray and pairing QR on Ubuntu/Debian. Headless server, VPS, ARM box: a .deb or a single static binary plus systemd.

macOS too

A menu-bar app that supervises the agent and shows the pairing QR.

Same tools on each

The editor, terminal, git and AI-agent launcher behave identically whether the host is your laptop or a server you have never sat in front of.

A server deserves the same editor as your laptop. Fixing a config over SSH usually means vim in a phone-sized window. Here it is the same tree-sitter editor, with search and git, on the box that actually runs the thing.

Editor

Runestone with tree-sitter underneath, tuned for reading and writing code on a tablet.

SpadeIDE editor with syntax highlighting and git change bars

Syntax highlighting

Swift, Go, Python, JavaScript, TypeScript, Rust, C, C++, Java, Ruby, HCL/Terraform, HTML, CSS, JSON, YAML, TOML, Markdown, shell.

Git change bars

Green, blue and red marks in the gutter show what moved since the last commit — the marks, not a diff, so you keep writing.

Find and replace

In the file with ⌘F, or across the whole project with regex, case and whole-word switches.

Indentation that follows the file

Auto-detects tabs or spaces per file, with a project override when you want one.

Column selection

Shift+Option and drag with a trackpad to edit the same column across many lines at once.

Hardware keyboard

⌘Z, ⌘/, ⌘[ and ⌘], ⇧⌘D, ⇧⌘K, ⌥⌘↑↓ — the shortcuts your hands already know.

Source control

Your host's git, your credentials, your repositories. SpadeIDE never stores a token and never talks to a git server itself.

Source Control panel
Diff tab with Stage and Discard per hunk

Stage by hunk

Two unrelated edits in one file can be committed separately. The agent cuts the patch itself, so a stale screen cannot apply the wrong thing.

Several repos, one project

A folder of checkouts is found and listed automatically, with a picker for which one commands act on.

Changes show in the tree

Changed files are tinted and a folder is tinted when something below it moved — a collapsed branch still tells you.

Diffs are tabs

Not sheets. They sit beside your files, reorder, survive renames, and carry an Open File button.

Branches

Switch or create from the panel or the status bar. Uncommitted work is protected by git's own refusal, not by us guessing.

Keeps up on its own

.git is watched, so a commit you make in the terminal appears without asking for a refresh.

Terminal

A real xterm emulator on a login shell — not a command runner that prints output.

Terminal with an AI CLI running on the host

Interactive TUIs work

vim, htop, lazygit, anything that expects a terminal. Full colour, cursor, scrollback and selection.

Several tabs

Each is its own shell on the host. Minimising keeps them alive; typing exit closes that tab the way a window closes.

Keys the iPad lacks

A panel with Esc, Ctrl combinations, arrows, F-keys and brackets — on demand, not permanently in the way.

Your AI agents, on your machine

If Claude Code, Gemini CLI, Codex, Copilot or Cursor Agent are installed on the host, SpadeIDE lists them and opens one in a terminal tab at your project root.

The agent runs on your machine, with your files and your API keys. SpadeIDE launches it and gets out of the way — nothing is proxied through us, and no key ever reaches the iPad.

Navigation

⌘P

Fuzzy file open across the whole project, indexed on the host.

⇧⌘P

Command palette — save, terminal, new file, open folder, disconnect.

Project search

Grep across the tree with replace, scoped to selected files, one file, or every hit.

Go to file command palette
Project search results

Connectivity

Finds your host

Bonjour on your own network, matched by certificate fingerprint — a changed IP never loses the machine.

Survives a drop

Auto-reconnect with backoff keeps your tabs, workspace and unsaved edits through a sleep or a Wi-Fi blip.

Direct when it can

Off your network it tries a direct peer-to-peer tunnel first and only relays when the network refuses.

How remote access works →

Try it on your own network

Free, every feature, on one paired host.