Introduction
Docs for vmup: install the CLI, upload a batch over SSH, and paste one remote folder path into your coding agent.
The npm package is @nyxsky404/vmup. The command is vmup.
A coding agent on a VM reads files by path. The screenshots, PDFs, and recordings sit on your laptop. vmup copies them over SSH into one remote folder, prints a prompt (Please inspect all files in …), and puts that folder path on your clipboard. Paste it into the agent thread.
Remote batches live under ~/vmup by default and expire after 5 minutes.
Install
Node 18+, OpenSSH, then a global or one-shot install.
First upload
init, check SSH, send a file, paste the path.
These docs
| Section | Use it when |
|---|---|
| Get started | You have not run vmup yet. |
| How-to | You have a specific job: clipboard, watch folder, extra VM, scripts. |
| Reference | You need flags, config.toml, env vars, JSON, or exit codes. |
| Explanation | You want the batch model, TTL, SSH modes, or vmup vs scp. |
| Project | You want release notes or security / contact. |
What you need
- Node 18+
- OpenSSH (
sshandscpon yourPATH) - A remote host you can log into with a key (or an alias in
~/.ssh/config)
On macOS, clipboard images also need pngpaste. Copied Finder files do not.
Defaults worth knowing
| Thing | Default |
|---|---|
| Config | ~/.config/vmup/config.toml |
| Local staging | ~/.cache/vmup/ |
| Remote root | ~/vmup |
| Batch folder | agents-<YYYYMMDD>-<HHMMSS>-<uuid> |
| Staged names | image-01.png, video-01.mov, file-01.pdf |
| TTL | 5 minutes |
| Per-file size | 200 MB |
| Files per batch | 200 |
| File types | All (set accept_all_files = false for images only) |