Using rdev

Connecting your laptop

Your laptop is the editor and the browser. The code, the services and the agents stay on your server.

Your own tailnet

Your laptop and your server talk over a private Tailscale network that belongs to your Tailscale account. rdev never joins it. The installer connects your server with a key from your account, and the laptop app connects your laptop.

File sync

Mutagen keeps your project files in sync between your laptop and your server, in both directions. Folders that do not need to travel, such as node_modules, vendor and build output, are ignored from the start.

You choose what syncs on your panel, under Dashboard > your server > Settings:

  • Sync to laptops: turn it off to work fully remote. Nothing is copied to the laptop; your editor opens projects over SSH (ssh rdev, VS Code or Cursor Remote-SSH, PhpStorm Gateway). Sites and .dev.test keep working.
  • Projects on laptops: uncheck a project to keep it on the server only. A copy already on your laptop is left alone, so delete it when you no longer need it. When a project syncs again later, the older laptop copy is moved to ~/Code-rdev-old/ first and the server's copy comes down.
  • Never synced: the default excludes, each of which you can switch off, plus your own patterns in Mutagen's .gitignore-like syntax.

Laptops apply the new rules within a few minutes. Run rdev laptop sync to apply them right away.

Editors and the browser

Use the editor you already know, such as VS Code or PhpStorm, on the synced files. Open your sites in your usual browser at https://<name>.dev.test; the laptop app sets up name resolution and a trusted certificate for these addresses.

Screenshots

A terminal on your server cannot paste an image, so rdev gives your agent its own screenshot folder. Anything in ~/rdev-shots on your laptop is copied to ~/Shots on the server within seconds, even when file sync is off. Ask your agent to "look at the last screenshot" and it opens the newest one.

  • Send clipboard image in the Mac app (also in its menu bar icon) saves the image on your clipboard, waits until it reaches the server and puts its server path on your clipboard; paste that into the agent. In a terminal: rdev laptop shots send.
  • Save macOS screenshots here makes Shift-Command-3, 4 and 5 save into ~/rdev-shots (rdev laptop shots macos). Screenshot apps such as Shottr or CleanShot can save there too.
  • Screenshots are deleted after 7 days, on both sides. They go straight to your server and never pass through rdev.cloud. Turn them off with the switch in the app or rdev laptop shots off.

Supported laptops

At launch the laptop app runs on Mac and Linux. Windows support will follow after launch.

Connect step by step

  1. Install Tailscale on your laptop and log in with the same Tailscale account your server uses. On Linux you can skip this: if Tailscale is missing, rdev laptop connect installs it from Tailscale's official repository and starts the sign-in, which you finish in your browser.
  2. Install rdev on your laptop and connect it. Run this in a terminal as yourself, and enter your laptop password when asked; it is needed to install rdev, to trust the certificate and to set up name resolution:
curl -fsSL https://rdev.cloud/install | sh -s -- laptop

It installs the rdev command and runs rdev laptop connect, which finds your server on your tailnet, adds an rdev entry to your SSH config, trusts your environment's certificate, sends *.dev.test to your server and starts syncing your ~/Code folder with ~/Code on the server.

You do not install anything else first. If Mutagen, which does the file sync, is missing, rdev installs a pinned, checksum-verified copy in ~/.local/share/rdev/bin; a Mutagen you already have is used as it is. On Linux it also installs the clipboard tools used for screenshots (wl-clipboard, xclip) and certutil, which puts the certificate in Chrome, with your package manager, under the same password prompt. If you gave the server another name at install, add --server <name>; to sync another folder, add --code-dir <folder>. Run rdev laptop connect again whenever you want to redo the setup.

Before it asks for your password, rdev laptop connect checks the folder it is about to sync. It stops and suggests --code-dir <folder> when another Mutagen session already syncs that folder, or a folder around it (syncing it with rdev too would copy everything between three machines), or when the folder holds more than 5 GB. Run it with --force to sync the folder anyway. This needs rdev 0.2.0-beta.21 or later.

On a Mac that already sends dev.test somewhere else, for example to another development server, rdev keeps that setting aside and puts it back when you disconnect or uninstall.

Check the connection at any time with rdev laptop status. rdev laptop disconnect stops the sync and removes the settings; your files stay on both sides.

Remove rdev from your laptop

rdev laptop uninstall

It disconnects, stops trusting your environment's certificate, and removes the rdev command, its settings and the tools it installed. Your synced folder and ~/rdev-shots stay. A Mutagen that rdev installed stays too while other sync sessions still use it. It asks for your laptop password once and needs rdev 0.2.0-beta.21 or later.

Your laptop must be able to log in to the server: the installer copies the SSH keys that could log in to the server when you installed. To add another laptop, put its public key in /opt/rdev/home/.ssh/authorized_keys on the server.

Once connected, open a terminal on the server with ssh rdev and start your agent there; open your sites in the browser at https://<folder>.dev.test.

The Mac app

Prefer clicking to typing? Download the rdev app for Mac (Apple silicon and Intel, signed and notarized by Apple), drag it to Applications and open it. It shows whether your laptop is connected, connects and disconnects with one button and opens a terminal on your server. It does the same setup as rdev laptop connect, so you need Tailscale (step 1) but not the command; the app installs Mutagen itself.

The app has four tabs:

  • Sites: your projects as https://<name>.dev.test links, a terminal on the server and your screenshots.
  • Sync: the same settings as on your panel (sync on or off, projects on this laptop, excludes). Saving applies them on this laptop right away.
  • Env: read and change a project's .env on the server. The app works over the SSH connection, so it shows the current values, and they never pass through rdev.cloud.
  • Account: choose Sign in with rdev.cloud, confirm your password in the browser, check that it shows the same code, and approve. Signed-in apps are listed, and can be disconnected, under Settings > Connected apps on your panel.

The app also applies the panel's sync rules every five minutes while it runs.

Firefox keeps its own list of certificates. If you use it, import ~/.config/rdev/ca.pem under Settings > Privacy & Security > Certificates.