From fb23d0c4fe268d2c64001f5b21f46abf2327691e Mon Sep 17 00:00:00 2001 From: LopezAdan <43300482+LopezAdan@users.noreply.github.com> Date: Mon, 31 Aug 2026 19:24:09 +0000 Subject: [PATCH] Fix the README claims a paused workspace no longer makes ADR-0104 removed VM memory snapshots on 2026-08-20: a pause saves the disk only and every start is a cold boot, so "resumes mid-session" describes a mechanism that is gone. Say what is true and still the reason to use this: the disk survives, a paused workspace costs nothing and picks up from its last save. Three more things these files claimed that the shipped 0.4.5 binary does not do. "Get started" taught the retired v0.1.0 grammar (`ws list`, `ws create --name`), all of it hidden in the binary and absent from every generated completion, so a reader who followed it and then ran `--help` saw a different CLI. `npx @reachpad/cli run scratch -- cargo test` addressed a workspace by its label, and there is no name resolution in the CLI, so it fails with "There is no workspace scratch on this account". And the source description named a `runtime` crate; the snapshot has carried only `proto` and `authz` since v1 dropped runtime from the CLI's dependencies. install.sh had no Darwin/x86_64 case, so the advertised one-liner failed on an Intel Mac with "no prebuilt binary" while the release has shipped reachpad-x86_64-apple-darwin.tar.gz all along, listed in the SHA256SUMS the installer verifies. Add the case: every platform the table maps now resolves to an asset the release publishes, and every published asset is reachable. --- README.md | 28 +++++++++++++++++----------- install.sh | 1 + npm/cli/README.md | 9 ++++++--- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6354edc..0c569ee 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # reachpad CLI -Run coding agents in durable cloud workspaces: disk and memory survive the -machine underneath, so a paused workspace resumes mid-session. +Run coding agents in durable cloud workspaces: the disk survives the machine +underneath, so a paused workspace costs nothing and picks up from its last +save. Files survive a pause; running processes do not. ## Install @@ -51,14 +52,19 @@ On a remote machine without a usable browser, run `reachpad auth login credential flow remains available from [reachpad.dev/connect](https://reachpad.dev/connect) as a recovery path. -Then list, create, or attach to a workspace: +Then create a workspace, work in it, and put it away: ```sh -reachpad ws list -reachpad ws create --name scratch +reachpad create scratch +reachpad list reachpad attach +reachpad run -- cargo test +reachpad pause ``` +`create` prints the workspace id the other verbs take. The name is only a +label; there is no lookup by name. + Useful maintenance commands: ```sh @@ -80,12 +86,12 @@ Docs: [reachpad.dev/docs/cli](https://reachpad.dev/docs/cli) ## Source and provenance This repository carries the full CLI source: the `reach` package (shipped -binary name `reachpad`) and its three library crates (`proto`, the frozen -wire protocol; `authz`, Biscuit verify and offline attenuation; `runtime`, -the config and tracing shell). Release binaries are built from this source -by [the release workflow](.github/workflows/release.yml) on GitHub's -runners, and every release carries a SHA256SUMS the install script verifies. -To build it yourself (needs Rust and `protoc`): +binary name `reachpad`) and its two library crates (`proto`, the frozen wire +protocol, and `authz`, Biscuit verify and offline attenuation). Release +binaries are built from this source by +[the release workflow](.github/workflows/release.yml) on GitHub's runners, and +every release carries a SHA256SUMS the install script verifies. To build it +yourself (needs Rust and `protoc`): ```sh cargo build --release -p reach diff --git a/install.sh b/install.sh index 6001966..98477cc 100755 --- a/install.sh +++ b/install.sh @@ -19,6 +19,7 @@ case "$os/$arch" in Linux/x86_64) target="x86_64-unknown-linux-musl" ;; Linux/aarch64) target="aarch64-unknown-linux-musl" ;; Darwin/arm64) target="aarch64-apple-darwin" ;; + Darwin/x86_64) target="x86_64-apple-darwin" ;; *) echo "reachpad: no prebuilt binary for $os/$arch." >&2 echo "Open an issue at https://github.com/Reachpad/reachpad-cli and we will add the target." >&2 diff --git a/npm/cli/README.md b/npm/cli/README.md index 987dd27..aca1980 100644 --- a/npm/cli/README.md +++ b/npm/cli/README.md @@ -34,10 +34,12 @@ warm cache. ## Use it without installing ```sh -npx @reachpad/cli create --name scratch -npx @reachpad/cli run scratch -- cargo test +ws=$(npx @reachpad/cli create scratch) +npx @reachpad/cli run "$ws" -- cargo test ``` +`create` prints the workspace id `run` takes. There is no lookup by name. + ## The surface ``` @@ -45,7 +47,8 @@ reachpad create [name] make a workspace, print its id reachpad list your workspaces and what each is doing reachpad status state, save, lease, limits (--wait to block) reachpad run -- run one command, waking a paused workspace -reachpad pause save disk and memory, stop the meter +reachpad attach an interactive terminal in the workspace +reachpad pause save the disk, stop the meter reachpad fork branch new workspaces from the last save reachpad archive free the slot; deletes nothing reachpad events live event stream