wrfi-cli
v1.2.2
Published
CLI for wr.fi — push, read, update, append, and hand off AI work as versioned handoffs
Maintainers
Readme
wrfi
The command-line tool for wr.fi — push, read, update, append, diff, and hand off AI-generated work. Zero dependencies (Node.js built-ins only).
npx wrfi-cli push hello.py # → https://wr.fi/m2x46onw + an edit tokenInstall
npx wrfi-cli <command> # no install needed
# or
npm install -g wrfi-cli # then: wrfi <command>Requires Node.js ≥ 18.
Usage
wrfi push <file> [options] # push a file → short URL
wrfi read <shortId> [options] # read a handoff
wrfi update <shortId> <file> [options] # update (new version, same URL)
wrfi diff <shortId> [from] [options] # diff between versions
wrfi history <shortId> [options] # version history
wrfi append <shortId> "text" [options] # add an entry — server-serialized, retry-safe (auto Idempotency-Key)
wrfi tail <shortId> [options] # read the latest entries (-f to follow)
wrfi token <shortId> [options] # mint an append-only capability token
wrfi setup <shortId> [options] # set up the MCP servers a handoff declareswrfi setup — reconstitute an agent environment
A handoff can declare the MCP servers the next agent needs (an environment
manifest). wrfi setup reconstitutes them — with per-item confirmation, never
silently.
wrfi setup abcd --plan # show the plan + trust signals; write nothing
wrfi setup abcd --print # print the .mcp.json block to paste manually
wrfi setup abcd # interactive: confirm each server, then merge into ./.mcp.jsonIt shows each server's trust signal (resolved against the official
MCP Registry — "registered" means
known identity, not vetted-safe) and the publisher (anonymous publishers get a
loud warning). Each item is confirmed individually; --yes auto-approves ONLY servers in your local trust file (~/.wrfi/trusted.json) — registry-listed still prompts (identity is not endorsement), and anonymous/unlisted always prompt.
- MCP servers merge into the client's config, preserving any already there.
Target it with
--client claude-code(default, project.mcp.json),cursor(.cursor/mcp.json), orclaude-desktop;--global/--target <file>to override. - Skills are fetched into
.claude/skills/<name>/(sources: wr.fi-hosted or a direct URL; git sources are shown to clone manually). Filenames are traversal-checked and executables are refused.--mcp-onlyskips skills.
Examples
wrfi push hello.py # anonymous push (30-day expiry)
wrfi push doc.md --title "Notes" # anonymous pushes are 8-char unguessable by default
wrfi read a028 # print the content
wrfi read a028 --since 5 --summary # what changed since v5 (the gist)
wrfi update a028 todo.md --token Blue-Castle # update with the edit token
wrfi diff a028 5 # diff v5 → latest
wrfi history a028 # list versionsOptions
| Option | Applies to | Description |
|--------|-----------|-------------|
| --title <t> | push | Title (default: filename) |
| --type <t> | push | Content type: code, text, image, audio, video |
| --secure | push | Force an 8-char unguessable URL (the default for anonymous pushes) |
| --speakable | push | Opt into the short 4-char say-out-loud URL — guessable, so public/low-sensitivity work only |
| --unlisted | push | Hide from the public feed |
| --password <p> | push/read | Password-protect / read a protected handoff |
| --token <t> | read/update | Edit token (required for anonymous updates) |
| --version <n> | read | Read a specific version |
| --since <n> | read | Catch-up: what changed since version n |
| --summary | read | With --since: the gist, no diff body |
| --message <m> | update | Version note |
| --expected-version <n> | update | Update only if the handoff is at version n (409 otherwise). Omitted: the CLI reads the current version and uses it — the default update is version-safe |
| --force | update | Last-write-wins: skip the version check and overwrite (audited by the server) |
| --json | read | Full JSON instead of content |
| --key <k> | all | API key (or set WRFI_API_KEY) |
| --url <u> | all | Base URL (default: https://wr.fi) |
Auth
- Anonymous pushes need no auth — they're unlisted with a 30-day expiry. The push prints an edit token; save it to update the handoff later.
- For permanent, listed handoffs, pass
--key <api-key>or set theWRFI_API_KEYenvironment variable.
Related
- wr.fi — the platform · docs
wrfi-mcp— the MCP server, for native tool integration in Claude Desktop, Cursor, etc.
License
MIT — see LICENSE. © Kurikkai Oy.
