Skip to content

Set up by hand

This is what your agent does for you, one command at a time. Useful on a machine with no agent, when scripting a fleet, or when you simply want to see the moving parts.

Three steps: sign the device in, start syncing a folder, work normally. Then register the hooks — that last step is what keeps an agent’s files fresh, and it is the one hand-setups forget.

Once per device.

Terminal window
bdrive login

Bare bdrive login targets beardrive.ai — the managed cloud, where signup auto-creates a free personal workspace. Self-hosting? Pass your hub’s URL:

Terminal window
bdrive login https://your-hub

This opens your browser, and the terminal finishes on its own. On a headless or SSH machine, bdrive login --device prints a short code you approve from any signed-in browser instead.

bdrive login --status shows the current server and account.

Once per project.

Terminal window
$ cd ~/workspace && bdrive init
initialized /Users/snow/workspace
project: workspace (p-7f3a2c91)
daemon: running (pid 55434, scan 3s, remote sync 10s)

On a terminal, init walks you through two questions: create a new project or connect an existing one (picked from the server’s list), and sync the whole folder or only a subfolder such as ./shared.

Every question has a flag — --name, --project, --shared, --yes — and without a TTY init never prompts. It creates-or-joins a project named after the folder and syncs everything.

Init writes .bdrive/config.json, seeds a starter .bdriveignore (node_modules, build dirs, caches, .env*), and starts the daemon. Not signed in yet? It runs the login flow first.

Create, edit, and delete files with any tool. Local changes are detected within seconds.

Terminal window
echo "remember this" > memory.md
bdrive log # what changed, who changed it, from which device
bdrive status # projects, daemon state, pending changes
bdrive stop # stop syncing; files stay on disk, init resumes any time
Terminal window
bdrive login https://your-hub # once per device
cd ~/workspace && bdrive init # connect the same project

The files appear and stay in sync.

State is keyed by a stable project id, never the path. The daemon notices a move or rename, steps aside, and the next bdrive init — or any bdrive command — at the new location resumes exactly where it left off. Zero re-scan, zero spurious changes.