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