# sfs — a synced file system for AI agents **sfs** 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. 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 $ sfs mnt ./workspace --remote s3://my-bucket/workspace mounted /Users/snow/workspace volume: workspace remote: s3://my-bucket/workspace device: macbook (d380dea58598) as snow@runbear.io daemon: running (pid 55434, scan 3s, remote sync 30s) ``` On another machine: ```console $ sfs mnt ./workspace --remote s3://my-bucket/workspace # … the same files appear, and stay in sync from now on ``` ## Features - **Mount anywhere** — `sfs mnt ./folder` turns any folder into a synced volume. Files are *real files on disk*: every tool, editor, and agent can use them with zero integration work. - **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** — `sfs log` shows which device and author changed which file, when. Content is stored content-addressed, so history is never lost, even for overwritten or deleted files. - **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.sfs-conflict--