ShellTeam · Environment Mirror

Move your laptop into your box, in three clicks

You spent years tuning your dev setup: shell, tools, repos, coding agents. Your ShellTeam box can take it over in a few minutes. You run one command, tick what moves in, and the box sets itself up. Works from macOS, Linux, or WSL on Windows.

The whole flow

1

Copy the import command from your box

Open your box's dashboard and go to Settings, then Import your laptop (it's also the last step of the welcome wizard on a new box). Click Copy. That command is personalized: it knows your box's address and carries a 24-hour upload pass, not your main token, so it's low-risk even if it lands in your shell history.

2

Run it on your laptop

Open your laptop's terminal (on Windows, your WSL/Ubuntu terminal) and paste the command. It scans your machine read-only, then opens a page in your browser:

SHELLTEAM_MIRROR_CRED="mirror-v1.…" bash <(curl -fsSL https://your-box.example.com/api/mirror/mirror-import.sh) "https://your-box.example.com"

The script comes from your own box, at exactly the version your box runs, and it's open source if you want to read it first. Nothing leaves the laptop during the scan. The page shows exactly what was found, with a checkbox per category.

3

Tick what moves in, click "Send to my box"

You choose: packages, dotfiles, repos, agent setup, agent logins, chat history, project keys. Your selection uploads over TLS straight to your own box, and the box starts the migration by itself. Open the Agents tab whenever you like: there's already a "Laptop import" conversation doing the work, and it finishes with a report of everything it did and anything that didn't map.

What travels, what's rebuilt, what never leaves

ThingStatusHow
Shell & dotfilesTravels .bashrc/.zshrc aliases, prompt, git config, editor/terminal setup, installed additively with mac-isms adapted for Ubuntu.
Installed toolsRebuilt fresh Package lists travel (brew/apt/npm/pipx/uv/cargo); the agent reinstalls Linux equivalents with judgment. GUI-only apps are skipped with a note.
Git repositoriesRe-cloned The list of repos, remotes and branches travels; code is cloned fresh from GitHub. Uncommitted laptop changes stay on the laptop (you're told which repos were dirty).
Claude Code setupTravels CLAUDE.md, settings, skills, commands, project memory, MCP server definitions.
Codex setupTravels config.toml, AGENTS.md, prompts. Codex gets everything Claude gets.
Agent logins (Claude + Codex)Opt-in, direct only Tick "Agent logins" and you won't re-authenticate on the box: your existing sign-ins move over TLS, straight to your box, never into a file.
Authenticated MCPsOpt-in, direct only MCP servers move with their auth intact (same checkbox), for both agents.
Chat history (Claude + Codex)Opt-in, direct only Your conversations move and stay resumable. Laptop file paths are remapped to the box automatically.
Project .env keysOpt-in, direct only The values ride the same TLS channel to your box and are dropped back into each project. You never paste a key into a chat. Left out of a saved file.
Shell historyOpt-in, off by default Available as a checkbox if you grep your history like a second brain.
SSH private keysNever travels The box generates fresh keys; GitHub connects via a 30-second sign-in in the dashboard.
Passwords & cloud credentialsNever travels .aws, .netrc, .npmrc, kube configs etc. are excluded by construction; their locations are listed so the agent walks you through re-adding only what you need.
How "direct only" works. Sections holding credentials, keys, or conversations are packed only for a direct TLS upload to your own box. If you choose "Just save a file" instead, they are left out entirely, so a saved mirror file never contains a secret and is safe to store or move however you like. Every staged file is additionally scanned, and secret-looking lines are redacted as a fail-safe.

FAQ

How do my .env keys get onto the box, exactly? Do I paste them to an agent?
No, and that's the point. When you tick "Project .env keys", the file itself is uploaded over the same encrypted connection as everything else, straight to your box, and the box's agent writes each .env back into its project folder for you. Your keys never appear in a chat, never enter the agent's memory, and never touch a saved file. If you instead pick "Just save a file", the keys stay on your laptop and the agent simply reminds you which projects had one so you can recreate them yourself. So it's your choice: hands-off over TLS, or by hand, never a copy-paste into a conversation.
Do I need to be technical?
If you can paste one command into a terminal, you're qualified. Everything else is checkboxes, and the box's agent does the actual work.
How long does it take?
The scan and upload take a couple of minutes. The box then works on its own: installs, clones, config, and writes you a report when done.
Will my box look exactly like my laptop?
It will work like your laptop. This is a functional migration, not a byte copy: Linux equivalents replace mac-only tools, GUI apps don't apply to a headless box, and the final report is honest about anything that didn't map.
Can I re-run it later?
Yes. It's additive and never overwrites your box's files without backing them up first (*.pre-mirror).
ShellTeam Environment Mirror. The inventory is open source: read exactly what it collects before you run it.