The computer

A plain Linux box. Nothing in it is special.

The image

Ubuntu 24.04, built locally from a Dockerfile that ships inside the npm package. There is no registry image to trust and nothing phones home. You can read the whole thing:

cat "$(npm root -g)/suped/docker/Dockerfile"

What’s installed

Category Tools
Shell bash, tmux, less, vim, nano
Languages python3 with pip and venv, node 22 with npm and npx, uv
Source git, openssh-client, build-essential, pkg-config
Network curl, wget, ca-certificates
Data jq, sqlite3, ripgrep, unzip, zip
Media ffmpeg
Browser Playwright with Chromium, installed system-wide

The suped user has passwordless sudo, so sudo apt-get install works without ceremony.

Playwright

Chromium and its system dependencies are already there. In any project, install the playwright package at the same version as the global one and it will find the browser through PLAYWRIGHT_BROWSERS_PATH, which is set for you.

playwright --version          # e.g. Version 1.63.0
npm i playwright@1.63.0
node -e "require('playwright').chromium.launch().then(b => b.close())"

Playwright ties each release to a specific browser build, so a different version would try to download its own Chromium. Matching the version avoids that. For one-off scripts you can skip the install entirely and use the global copy: NODE_PATH="$(npm root -g)" node script.js.

Python users: uv pip install playwright works the same way against the same browser.

Where things live

/home/suped/
  workspace/    where shells open
  projects/
  downloads/
  .config/
  .local/bin/   on PATH, where uv and user-installed tools go

These are suggestions, not rules. Make whatever structure you want. The only thing that matters is that it’s under /home/suped, because that’s what persists.

What’s deliberately not there

  • No suped daemon, agent, or service inside the box.
  • No configuration format. No manifest. No .suped/.
  • No special filesystem layout beyond a home directory.
  • No opinions about which agent, model, or tool you use.

If you need something, install it. If you want a convention, make one. Linux is Linux.

Under the hood

For the curious, the computer is:

  • one Docker image, tagged suped-computer:<version>,
  • one named volume, suped-home, mounted at /home/suped,
  • one container, suped, running sleep infinity under an init process.

suped opens shells with docker exec. That’s the whole trick. Every docker command works on it too, if you ever need to go around the CLI.