# BearDrive — a synced file system for AI agents **BearDrive** mounts any folder as a synced volume: its contents stay synchronized across all your devices through cloud object storage, every change is tracked (who, when, on which device), and everything keeps working offline. The CLI is `bdrive`. It is built for AI agent workflows — give your agents on every machine the same `~/agent-workspace`, and notes, plans, memory files, and artifacts follow them everywhere, with a full audit trail of which agent or human changed what. ```console $ bdrive login # once per device (browser sign-in) $ cd ~/workspace && bdrive init initialized /Users/snow/workspace project: workspace (p-7f3a2c91) daemon: running (pid 55434, scan 3s, remote sync 10s) ``` On another machine: ```console $ bdrive login && cd ~/workspace && bdrive init # … connect the same project; the files appear and stay in sync ``` ## Features - **Any folder is a project** — `bdrive init` turns any folder into a synced project. Files are *real files on disk*: every tool, editor, and agent can use them with zero integration work. Rename or move the folder freely — state is keyed by a stable id, never the path. - **Multi-device sync** — devices converge through a shared remote. Each device only writes its own append-only journal, so no locking service or server is needed — any object store works. - **Change tracking** — `bdrive log` and the web UI's History view show which account changed which file, when, from which device (name, OS, IP). Content is stored content-addressed, so every version is retained — view or download any point in a file's history. - **Cloud-provider agnostic** — Amazon S3 (`s3://`), Google Cloud Storage (`gs://`), any S3-compatible store (MinIO, Cloudflare R2 via `AWS_ENDPOINT_URL`), or a plain shared directory (`file://`, e.g. a NAS). - **Offline-first** — the working folder is always fully usable with no network. Changes are journaled locally and pushed when the remote becomes reachable again. - **Conflict-safe** — concurrent edits resolve deterministically (last-writer-wins), and the losing version is preserved as a `name.bdrive-conflict--