subconscious-systems/vibi-cli

CLI for Vibivibi, p2p encrypted coding agent session sharing

TypeScript

0

5 commits

updated Oct 5, 2026

See the code

See what people are saying

README

vibi

The command-line client for vibivibi: end-to-end encrypted storage and sharing of coding-agent sessions (Claude Code, Codex CLI, OpenCode, Pi). Push a session from one machine, pull it onto another and resume, or send it to a teammate. It is encrypted on your machine with keys only you and your recipients hold; the service stores ciphertext it cannot read.

This repository is public so that claim can be checked: the encryption lives in packages/shared/src, the client in packages/cli/src, and the exact shapes of everything sent to the server in packages/shared/src/sessions.ts and api.ts. docs/crypto.md explains the design.

Install

macOS and Linux:

curl -fsSL https://vibivibi.com/install.sh | sh

Windows (PowerShell):

irm https://vibivibi.com/install.ps1 | iex

The installers (copies in install/) download the executable for your platform from the latest release, check its SHA-256 against the release's checksums.txt, put it in ~/.vibi/bin (or %LOCALAPPDATA%\vibi\bin) and add that directory to your PATH. No root, no Node, no npm. vibi upgrade updates it later.

With Node.js 20 or newer already installed, npm install -g vibi works too.

Use

vibi enroll <code>     # code from https://vibivibi.com/dashboard/machines; the first time creates your key
vibi push              # pick a session from this directory: Sync it to your account, or Send it to someone
vibi pull              # pick a stored session and install it on this machine
vibi pending           # passphrases for people you sent sessions to before they had a key
vibi status            # local config, key fingerprint, what the server knows

vibi --help lists everything, including the non-interactive forms (push --session <n> --sync, pull <id> --out file).

Build from source

The client is TypeScript bundled with Bun into a single executable; the interactive picker is a Go program under packages/cli/tui that the executable carries inside it.

pnpm install
pnpm test                 # envelope, user key, session discovery
pnpm build:host           # Go 1.26+ and Bun 1.4+: packages/cli/dist/bin/<platform>/vibi

pnpm build builds every platform; .github/workflows/release.yml does that for a tag vX.Y.Z and attaches the results to the release.

Layout

packages/shared   X25519 keys, password-wrapped private key, envelope format, API schemas
packages/cli      the vibi command: enrollment, discovery of local sessions, push, pull, send
packages/cli/tui  the Go picker (derived from subconscious-cli, MIT)
install/          the installer scripts served at vibivibi.com/install.sh and install.ps1
docs/crypto.md    the encryption design

The code is developed in the vibivibi monorepo and mirrored here; issues and pull requests are welcome and will be carried across.

License

Apache License 2.0, Copyright 2026 Subconscious Systems Technologies. See LICENSE and NOTICE.

subconscious-systems/vibi-cli

CLI for Vibivibi, p2p encrypted coding agent session sharing

TypeScript

0

5 commits

updated Oct 5, 2026

See the code

See what people are saying

README

vibi

The command-line client for vibivibi: end-to-end encrypted storage and sharing of coding-agent sessions (Claude Code, Codex CLI, OpenCode, Pi). Push a session from one machine, pull it onto another and resume, or send it to a teammate. It is encrypted on your machine with keys only you and your recipients hold; the service stores ciphertext it cannot read.

This repository is public so that claim can be checked: the encryption lives in packages/shared/src, the client in packages/cli/src, and the exact shapes of everything sent to the server in packages/shared/src/sessions.ts and api.ts. docs/crypto.md explains the design.

Install

macOS and Linux:

curl -fsSL https://vibivibi.com/install.sh | sh

Windows (PowerShell):

irm https://vibivibi.com/install.ps1 | iex

The installers (copies in install/) download the executable for your platform from the latest release, check its SHA-256 against the release's checksums.txt, put it in ~/.vibi/bin (or %LOCALAPPDATA%\vibi\bin) and add that directory to your PATH. No root, no Node, no npm. vibi upgrade updates it later.

With Node.js 20 or newer already installed, npm install -g vibi works too.

Use

vibi enroll <code>     # code from https://vibivibi.com/dashboard/machines; the first time creates your key
vibi push              # pick a session from this directory: Sync it to your account, or Send it to someone
vibi pull              # pick a stored session and install it on this machine
vibi pending           # passphrases for people you sent sessions to before they had a key
vibi status            # local config, key fingerprint, what the server knows

vibi --help lists everything, including the non-interactive forms (push --session <n> --sync, pull <id> --out file).

Build from source

The client is TypeScript bundled with Bun into a single executable; the interactive picker is a Go program under packages/cli/tui that the executable carries inside it.

pnpm install
pnpm test                 # envelope, user key, session discovery
pnpm build:host           # Go 1.26+ and Bun 1.4+: packages/cli/dist/bin/<platform>/vibi

pnpm build builds every platform; .github/workflows/release.yml does that for a tag vX.Y.Z and attaches the results to the release.

Layout

packages/shared   X25519 keys, password-wrapped private key, envelope format, API schemas
packages/cli      the vibi command: enrollment, discovery of local sessions, push, pull, send
packages/cli/tui  the Go picker (derived from subconscious-cli, MIT)
install/          the installer scripts served at vibivibi.com/install.sh and install.ps1
docs/crypto.md    the encryption design

The code is developed in the vibivibi monorepo and mirrored here; issues and pull requests are welcome and will be carried across.

License

Apache License 2.0, Copyright 2026 Subconscious Systems Technologies. See LICENSE and NOTICE.