Edit Locally and in the App
You want the best of both worlds: edit the same project in your local editor (Obsidian, VS Code, Cursor…) and in the cloud app, with both sides staying in sync. This page is the happy path — get a project sync'd in five steps, then the day-to-day routine.
What you'll have when you're done
- A cloud project that mirrors a local folder on your machine.
- Edits in either place propagate to the other with
bm cloud bisync. - Your AI assistant (via MCP) sees the same notes whether you're working locally or remotely.
One-time setup
Sign in to cloud
bm cloud login
A browser tab walks you through OAuth. After confirming the displayed code, you're authenticated and CLI commands route through cloud by default.
Install sync tooling
bm cloud setup
This installs and configures rclone, which Basic Memory uses under the hood for bidirectional sync.
Add or attach the project
Two starting points — pick the one that matches you:
You already have local notes you want to push to cloud:
bm project add my-notes --cloud --local-path ~/notes
This creates a cloud project named my-notes and points its local mirror at ~/notes.
The project already exists in cloud and you want to clone it locally:
bm cloud sync-setup my-notes ~/notes
This wires an existing cloud project to a new local path.
Establish a baseline (--resync)
The first bisync needs a baseline. Preview it first:
bm cloud bisync --name my-notes --resync --dry-run
Look at the plan, then run it for real:
bm cloud bisync --name my-notes --resync
After this, both sides are aligned and ready for ongoing sync.
Verify
Open the project in the web app and confirm your notes are there. Then check your local folder — you should see the same files.
The day-to-day routine
Once the baseline is set, sync is a single command:
bm cloud bisync --name my-notes
Run it:
- After a session of local edits, before switching to the app.
- After working in the app, before opening your local editor.
- Whenever you want to be sure both sides agree.
That's it. The rest is editing wherever you like.
vim. Your AI assistant reads the same notes either way.A few habits that help
- Sync before and after a session. It's cheap and avoids surprise conflicts.
- Don't fight an active sync. If
bm cloud bisyncis running, let it finish before editing again. - Keep one project per local folder. Don't nest project folders inside each other — Basic Memory expects each project's local path to be self-contained.
.bmignoreif you have to. If a folder contains files you don't want synced (build output, caches), add it to.bmignoreat the project root — bisync respects it.
What if I want some projects local-only and others in cloud?
That's the routing model. You can keep personal projects entirely local while syncing only a couple of projects to cloud. The hybrid setup on this page is one routing configuration; routing covers the others (all-local, all-cloud, mixed, per-command overrides).
When sync needs help
bm cloud bisync is conservative by design — if it sees something it can't safely resolve, it stops and tells you. The Cloud Sync guide covers the deeper cases: conflict resolution, bm cloud check for integrity verification, and bm cloud bisync-reset if you ever need to start the baseline over.
Related
- Cloud Sync — deep reference for bidirectional sync
- Local & Cloud Routing — choose where each project lives
- Web App — what the cloud side looks like
- Obsidian · VS Code · Cursor — local editor integrations
- CLI Reference — every
bm cloudcommand

