stash — folder sync

stash syncs a folder to Swarm and pulls it back anywhere. push uploads every file, records a path → reference index, and points a feed at it — so the printed handle is a stable address that always resolves to your latest push. A tiny content-addressed drive.

stash keygen                                          # a drive identity (save the key)
stash push <folder> --key <hex> -t <topic> --stamp <batch>   # -> a handle
stash ls   <handle>                                   # list files
stash pull <handle> <out-dir>                         # restore the folder

Re-pushing under the same key+topic updates what the same handle serves. ls/pull read from a gateway (no node); push needs a node + stamp.

Use cases

  • Backup / restore a working directory or config.
  • Versioned datasets or build artifacts — each push is content-addressed.
  • Dotfiles / small sync across machines (carry the key).

How it works

Each file is uploaded with scout, a JSON index maps paths to references, and a feed makes that index mutable behind one handle. Nothing stash-specific lives on Swarm — you could read the index and files with scout directly.