Files
Send folders up, list the disk, bring results back.
Sending work up
$ modem push . # the whole current folder
$ modem push notes.md # a single file
A folder is archived, transferred and unpacked on the computer. Environment files travel with it; heavy, regenerable directories do not, node_modules, .venv, __pycache__, .next and friends are skipped. For very large repositories, cloning from Git on the computer is faster than pushing.
Seeing what is there
$ modem files
▸ billing-api, 3 Aug 14:02
REPORT.md 12.4 Ko 3 Aug 15:31
$ modem files billing-api
Sorted by recency, folders first, so what the agent just wrote is at the top. modem on its own also lists the most recently modified files.
Bringing results back
$ modem pull REPORT.md
$ modem pull billing-api/REPORT.md ~/Desktop/report.md
Without a destination, the file lands in the current folder under the same name.
Where things live
Paths are relative to the computer's home directory, and confined to it. That home is the persistent volume: it survives suspension, waking and restarts. Everything outside it belongs to the image and resets when the machine is rebuilt: so keep your work in the home.
Git as the other channel
For code, Git is usually better than pushing and pulling files. Connect GitHub once, then let the agent clone, branch and push; you review a pull request instead of a diff of unknown provenance.
$ modem connect github
$ modem run --shell "git clone https://github.com/you/project"
$ modem run --in project "fix issue #248, commit on a branch and open a PR"