← All posts

Your laptop's toolchain is a snowflake. This one file fixes it.

July 27, 2026 · 2 min read · The xShellz Team

Every developer has a laptop that's a unique, fragile snowflake. You install Node 22, Python 3.12, a few CLI tools, and suddenly the project builds. Six months later, you try on a fresh machine and nothing works. The fix is not a heavier Dockerfile. It's a single file that lives in your home directory on an xshellz.box. Paste it in, reboot, and you get the exact same toolchain every time. No drift, no forgotten apt packages, no "it works on my machine."

The manifest that ends the guessing game

Every xshellz.box (the free, always-on Linux sandbox from xShellz) starts with a clean base: git, Node 22, Python 3, ripgrep, tmux, build-essential, and a few AI coding agents like borg and Claude Code. But your real dev setup almost always needs more. The xshellz.box manifest file is how you declare those extra packages. One line per package, and the box reinstalls everything on every boot.

Grab your box's SSH connection string from the dashboard (or use the web terminal), then create ~/xshellz.box:

# ~/xshellz.box
python3.12-venv
apt:redis-server
pip:fastapi
npm:typescript

A bare name like python3.12-venv pulls from apt. Prefix with apt:, pip:, or npm: to target the right package manager. That's it. No version pinning syntax to learn, no layered image digests. Just the tools you need.

How to put it to work

  1. SSH into your box: ssh -p <port> root@<host>
  2. Write the manifest file: nano ~/xshellz.box
  3. Paste the lines above, save, and reboot: sudo reboot

When the box comes back up, every package in the manifest is installed fresh. The root filesystem is ephemeral, but /home survives, so xshellz.box sticks around. Spin up a second sandbox for a one-off experiment, drop the same manifest in, and you get an identical environment. There is no drift because the box always rebuilds from the same list.

Why this matters for AI coding agents

Agents like borg, Claude Code, and Gemini CLI run inside the box. They expect a known toolchain. If your agent needs redis-server or a specific Python library, declaring it in the manifest means the agent never hits a missing dependency. Even better, you can hand the same manifest to a teammate and they will get the exact same sandbox. No more debugging a coworker's missing system package on a call.

This is not a replacement for full container orchestration. If you need multi-service networking, health checks, and volume mounts, Docker Compose is still the right tool. But for a dev environment that must be dead simple and reproducible in seconds, a tiny manifest file gets you 90% of the way with zero YAML indentation battles.