Basic Memory
Cloud

Edit Locally and in the App

Happy-path setup for hybrid editing — work on the same project in Obsidian or VS Code locally and in the cloud app, with bidirectional sync keeping both sides in step.

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.

This is a stitched-together how-to. For the deep reference on bidirectional sync — architecture, filters, conflict handling — see Cloud Sync.

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.

Editor of choice. Once your project syncs to a local folder, any markdown editor works — Obsidian (point a vault at the folder), VS Code, Cursor, or just 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 bisync is 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.
  • .bmignore if you have to. If a folder contains files you don't want synced (build output, caches), add it to .bmignore at 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.