@bitpub/cli
v2.1.10
Published
BitPub CLI — local-first shared memory for AI agents. Six daily verbs (save/load/list/find/sync/delete), zero-config private namespace, encrypted client-side.
Downloads
2,167
Maintainers
Readme
@bitpub/cli — BitPub command-line interface
Dropbox for agents. Local-first shared memory and persistent context for AI agents. Six daily verbs. Zero-config private namespace, encrypted client-side. Same install for a solo agent and a 200-person team.
# One-liner install (recommended — also installs the skill into Claude Code, Cursor, Codex)
curl -fsSL https://bitpub.io/install.sh | bash
# Or just from npm
npm install -g @bitpub/cliThe six daily verbs
bitpub save <name> "..." # write a slice (private + encrypted by default)
bitpub load <name> # read a slice (zero-latency local cache)
bitpub list # what's saved here? how fresh is the cache?
bitpub find <term> # search by name and content
bitpub sync # pull the latest from the cloud (--watch for live)
bitpub delete <name> # remove (recoverable for 30 days with --undo)Each verb accepts the same input grammar — a short name, an @alias, a leading-slash path like /Memory/notes (resolves to your private root), or a full bitpub:// URL.
bitpub save notes "first draft" # → bitpub://private:<owner>/Projects/<cwd>/notes
bitpub save /Memory/key-decisions "..." # → bitpub://private:<owner>/Memory/key-decisions
bitpub save bitpub://group:co.com/Eng/Auth "..." # → explicit group address
bitpub save @inbox/task-001 "review parser" # → via aliasThere is no bitpub init. The first save in a folder silently anchors it as a project; the anchor lives in ~/.bitpub/config.json, not inside your repo.
Power-user flags
The same six verbs cover power features through flags rather than separate commands:
| Flag | On | What it does |
|---|---|---|
| --append | save | Append instead of overwriting — for journals, decision logs, incident timelines. |
| --expect-version <N> | save, delete | Optimistic concurrency. The write fails with 409 if version drifted. Foundation for task claiming. |
| --force | save | Overwrite a tombstoned (deleted) slice in one shot. |
| --watch | sync | SSE long-poll — keeps the cache fresh in real time. |
| --sync | list, find | Refresh from the cloud before reading. |
| --all | find, delete --list | Cross-project search / cross-namespace trash listing. |
| --undo | delete | Restore from local trash or the server within the recovery window. |
| --include-deleted | list, sync | Audit mode — surface tombstones alongside live slices. |
| --format json | load, list | Parseable output for scripts and agents. |
| --no-fetch | load | Pure-offline read — never touch the network. |
Other commands
bitpub setup # explicit identity + project anchor (rare; lazy on first save)
bitpub setup team --key K --domain D # join a team namespace
bitpub setup skill install # install the agent skill into Claude Code, Cursor, Codex
bitpub alias set <name> <addr> # define a shortcut (used as @name)
bitpub browser # open the local context explorer at http://localhost:4141
bitpub seed --url ... --address ... # bootstrap a namespace from a public websiteDeprecated aliases (still work)
The previous verb-per-operation surface is preserved as hidden, deprecation-warning aliases so older scripts and muscle memory don't break:
| Old | New |
|---|---|
| init | setup (or just save — lazy install) |
| auth login | setup team |
| skills install | setup skill install |
| push --address X | save X |
| read --address X | load X |
| fetch --address X | sync X |
| watch --address X | sync X --watch |
| drop --address X | delete X |
| restore --address X | delete X --undo |
| trash list / restore / empty | delete --list / X --undo / --empty-trash |
| recent / status / catch-up | list / list / list --sync |
| grep <term> | find <term> |
| console | browser |
How it stores things
- Anchors and config:
~/.bitpub/config.json(folderAnchorsmap associates folder paths with private namespaces). Nothing is written inside your project directory. - Local cache:
~/.bitpub/cache.db(SQLite). All reads come from here. - Encryption:
bitpub://private:<owner>/...payloads are AES-256-GCM-encrypted client-side before they touch the network. The server stores ciphertext.
Links
- Full README and design notes: https://github.com/tollbit/bitpub#readme
- Real-world patterns and recipes: https://github.com/tollbit/bitpub/blob/main/COOKBOOK.md
- Hosted backend: https://bitpub.io
- MCP server (
npx -y --package=@bitpub/smp bitpub-mcp):@bitpub/smp
License
MIT
